Webサーバー、Webコンテナ、アプリケーションサーバーの違いを教えてください。
8 に答える
あなたの質問は以下のようなものです:
Java の場合: Web Container または Servlet Container または Servlet Engine : サーブレット、JSP などのコンポーネントを管理するために使用されます。これは Web サーバーの一部です。
Web サーバーまたは HTTP サーバー: クライアントから送信された HTTP 要求を処理し、HTTP 応答で応答できるサーバー。
アプリケーション サーバーまたはアプリケーション サーバー: ユーザーと組織のバックエンド ビジネス アプリケーションまたはデータベースとの間のすべてのアプリケーション操作を処理できます。プレゼンテーション層、ロジック層、データ層の 3 層アプリケーションの一部と見なされることがよくあります。
Web サーバー: HTTP リクエストと HTTP レスポンスを提供します。クライアントからのリクエストは、HTTP プロトコルのみを介して処理します。Webコンテナが含まれています。主に Web サーバーにデプロイされる Web アプリケーション。例: サーブレット JSP
Web コンテナ: サーブレット オブジェクトのライフサイクルを維持します。そのサーブレット オブジェクトのサービス メソッドを呼び出します。HttpServletRequest および HttpServletResponse オブジェクトを渡す
アプリケーション サーバー: 大きなビジネス ロジックを持つ大規模なエンタープライズ アプリケーションを保持します。それは重いですまたはそれは重いアプリケーションを保持しています。例: EJB
Webアプリケーションは、WebサーバーのWebコンテナー内で実行されます。Webコンテナは、ネーミングコンテキストとライフサイクル管理を提供するコンポーネントを介してランタイム環境を提供します。一部のWebサーバーは、セキュリティや同時実行制御などの追加サービスも提供する場合があります。WebサーバーはEJBサーバーと連携して、これらのサービスの一部を提供する場合があります。ただし、WebサーバーをEJBサーバーと同じマシンに配置する必要はありません。
Webアプリケーションは、WebコンポーネントとHTMLページなどの他のデータで構成されています。Webコンポーネントには、サーブレット、JavaServerPages™テクノロジで作成されたJSPページ、Webフィルタ、およびWebイベントリスナーがあります。これらのコンポーネントは通常、Webサーバーで実行され、WebクライアントからのHTTP要求に応答する場合があります。サーブレット、JSPページ、およびフィルタを使用して、アプリケーションのユーザーインターフェイスであるHTMLページを生成できます。また、他のアプリケーションコンポーネントによって消費されるXMLまたは他の形式のデータを生成するために使用される場合もあります。
ソース:http ://www.service-architecture.com/articles/application-servers/j2ee_web_server_or_container.html
サーブレット コンテナとも呼ばれる Web コンテナは、Java サーブレットと対話する Web サーバーのコンポーネントです。Web コンテナーは、サーブレットのライフサイクルを管理し、URL を特定のサーブレットにマッピングし、URL リクエスターが正しいアクセス権を持っていることを確認します。
Web コンテナ + HTTP リクエスト処理 = WebServer
Web サーバー + EJB + (メッセージング + トランザクション + など) = ApplicaitonServer