[解決済み] Web開発におけるフロントエンド、バックエンド、ミドルウェアの違い
質問
フロントエンド、バックエンド、ミドルウェア(ミドルエンド)の違いを簡潔に比較・対比できる人がいたら教えてほしいのですが。
これらが重なるケースはあるのでしょうか? また、必ず重なり、フロントエンドとバックエンドを分けることができないケースもあるのでしょうか? ボトルネックという点では、どのエンドがどのようなボトルネックと関連しているのでしょうか?
どのように解決するのですか?
1つの内訳を紹介します。
フロントエンド層 -> 通常、HTML、Javascript、CSS、Flash、およびASP.Net、クラシックASP、PHPなどのさまざまなサーバー側コードの組み合わせからなるユーザーインターフェイス層です。 コードの点から見て、ユーザーに最も近いところにあるとお考えください。
ミドルウェア、中層 -> 1つ後ろの層で、一般にシステムのquot;plumbing"部分と呼ばれる。 UIとデータの間の接着剤と見なすことができ、WebサービスやWCFコンポーネント、または他のSOAコンポーネントである可能性があります。
バックエンド層 -> データベースや他のデータストアは、一般的にこのレベルにあります。 Oracle、MS-SQL、MySQL、SAP、およびさまざまな市販のソフトウェアが、データの最終処理であるこの部分のソフトウェアとして思い浮かびます。
Javascript を生成する内蔵の AJAX 機能を使用する ASP.Net ウェブサイトのように、すべてを 1 つの層に注ぎ込むことができる一方で、背後のコードにはデータベース コマンドが含まれ、ミドルエンドとバックエンドの両方の層を含むことができるため、これらの層間に重複が存在する可能性があります。 また、VBScript を使用して、ADO オブジェクトを使用してすべての層として機能させ、3 つの層すべてを 1 つに統合することも可能です。
同様に、ミドルウェアとフロントエンドまたはバックエンドのどちらかを取ることは、いくつかのケースで組み合わせることができます。
ボトルネックには一般的にいくつかのレベルがあります。
1) データベースまたはバックエンド処理 -> これは、給与計算や販売など、データベースへのスループットが物事を停滞させているタスクによって異なります。
2) ミドルウェアのボトルネック -> これは、あるWebサービスが容量を超過している場合ですが、フロントエンドとバックエンドはより多くのトラフィックを処理するための帯域幅を持っています。 あるいは、Biztalk や MSMQ のようなものを使用してボトルネックとなる、UI 部分や生データではないシステムの一部であるサーバーがあるかもしれません。
3) フロントエンドのボトルネック -> これは、クライアントまたはサーバー側の問題かもしれません。 たとえば、ローエンドのPCで、大量のデータをダウンロードするWebページを読み込ませた場合、クライアントがボトルネックになっている可能性があります。 同様に、Amazon.com やその他の高トラフィックの Web サイトが時々受けるような要求が殺到している場合、サーバーは要求をキューに入れることができます。
これは解釈の余地があるため、決して完璧ではありませんし、YMMVです。
編集: 考慮すべき点は、システムによっては複数のフロントエンドやバックエンドを持つことができるということです。 たとえば、コンテンツ管理システムには、サイト訪問者がコンテンツを表示する方法があり、それはフロントエンドですが、コンテンツ編集者がサイト上のデータを変更する方法はどうでしょうか。 このデータを引き出す機能は、UIコンポーネントであるためフロントエンドと見なすこともできますし、一般ユーザーがサイトを閲覧するのではなく、内部ユーザーが使用するためバックエンドと見なすこともできます。 このように、ここでは文脈について言わなければならないことがあるのです。
関連
-
[解決済み] JSONの文字エンコーディング - UTF-8はブラウザでよくサポートされていますか、それとも数字のエスケープシーケンスを使用すべきですか?
-
[解決済み] Node.jsのConnect、Express、「ミドルウェア」って何?
-
[解決済み] RESTとRESTfulの違いは何ですか?
-
[解決済み] コヒーシ ョンとカップリングの違い
-
[解決済み】WCFとASMXのWebサービスの違いは何ですか?
-
[解決済み】「Layer」と「Tier」の違いは何ですか?
-
[解決済み] なぜRESTful Webサービスが必要なのか?
-
[解決済み] 株式/金融データのための最も包括的なAPI [終了しました]。
-
[解決済み] OAuth v2による認証サーバーとリソースサーバー間のコミュニケーション
-
WSDL は,Web サービスの SOAP バージョン (1.1 または 1.2) を示すことができるか。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ODataとRESTのWebサービスの違いについて
-
[解決済み] N-Tierアーキテクチャとは何ですか?
-
[解決済み] なぜSOAPベースのサービスではなく、RESTを使うのか?[クローズド]
-
[解決済み] Delphi XE用SOAPサーバー&クライアントアプリケーションVCL+Indyデモ?
-
[解決済み] なぜRESTful Webサービスが必要なのか?
-
[解決済み] 短いURLのサービスはどのように機能しますか?
-
[解決済み] GoのWebサーバーの前にNginxを使うメリットは何ですか?
-
[解決済み] RESTfulなWebサービスを保護するには?
-
[解決済み] OAuth v2による認証サーバーとリソースサーバー間のコミュニケーション
-
[解決済み] 緯度経度からタイムゾーンを検索する【非公開