Webコンテナが提供する機能の概要について説明します。なお,使用するWebサーバの種類によって,使用できる機能が一部異なります。
機能の詳細,およびWebサーバの種類による機能差異については,「4. Webコンテナ」を参照してください。
- Webアプリケーションの実行
サーブレットとJSPで構成されたWebアプリケーションを実行できます。
- インプロセスHTTPサーバによるリクエストの受け付け
Webサーバを経由しないで,HTTPリクエストをJ2EEサーバのプロセスが直接受信することによって,Webサーバ連携時よりも優れた処理性能でWebサーバの機能を利用できます。
- セッション管理
リクエストとWebクライアントを関連づけて管理することによって,同じWebクライアントから複数のWeb画面の操作ができます。これによって,クラスタリング時のクライアント識別や,ログイン済みクライアントの識別ができます。
また,HttpSessionオブジェクト数の上限値を設定したり,セッションIDやCookieにサーバIDを付けたりできます。
- 文字コード変換
文字コードを指定してデータをアップロードできます。
- デフォルトの文字エンコーディング設定
リクエスト,レスポンスなどで使用するデフォルトの文字エンコーディングを,J2EEサーバ単位またはWebアプリケーション単位で設定できます。
- JSPの事前コンパイルとコンパイル結果の保持
Webアプリケーションに含まれるJSPファイルを,デプロイ前にコンパイルし,クラスファイルを生成できます。また,デプロイ時にコンパイルされたJSPのコンパイル結果を保持しておき,サーバ再起動時のオーバーヘッドを少なくできます。
- アプリケーションのイベントリスナ
セッションオブジェクト,サーブレットコンテキストオブジェクトの状態変化に合わせて処理を実行できます。
- タグファイルの実行
JSP 2.0で規定されているJSPの構文に従って作成されたタグファイルを実行できます。
- JSP ELの実行
JSP 2.0で規定されているELの構文に従って作成されたEL式を実行できます。
- リクエストおよびレスポンスのフィルタリング
サーブレットやJSPからの,リクエストおよびレスポンスをフィルタリングできます。
なお,Cosminexusでは,次に示す機能を使用するためのサーブレットフィルタ(built-inフィルタ)を提供しています。
- J2EEサーバ間のセッション情報の引き継ぎ(セッションフェイルオーバ機能)
- HTTPレスポンスの圧縮
- フィルタリングによるHTTPレスポンスの圧縮
サーブレット,JSP,および静的コンテンツへのHTTPリクエストに対するHTTPレスポンスを圧縮できます。この機能は,Webアプリケーションに組み込んで動作させるサーブレットフィルタとして提供されています。これを,HTTPレスポンス圧縮用フィルタといいます。
この機能を使用することによって,WebコンテナとWebクライアント(ブラウザなど)との間のHTTPレスポンス通信に掛かる時間を削減できます。
- Webコンテナのセキュリティ管理
SSL,ロール,またはSecurityManagerに基づくWebコンテナのセキュリティ管理ができます。
- EJBコンテナとの連携
EJBコンテナと連携して,WebアプリケーションからEnterprise Beanを呼び出せます。
- データベースとの接続
データベースにアクセスできます。
- Webコンテナによるスレッドの作成
Webサーバ連携用のスレッド,インプロセスHTTPサーバ用のスレッドや,Webアプリケーション用のスレッドなどを,Webコンテナによって作成,制御できます。
- 同時実行スレッド数の制御
Webコンテナ単位,Webアプリケーション単位,およびURLグループ単位で同時実行スレッド数を制御することで,処理性能の向上が図れます。
なお,Webアプリケーション単位での同時実行スレッド数は,動的に変更できます。
- ユーザスレッドの使用
ユーザスレッドとは,ユーザがプログラムの中で明示して生成するスレッドのことです。Cosminexusでは,サーブレットおよびJSPからスレッドを作成して使用できます。
- 通信タイムアウトの設定
クライアント−Webサーバ間,Webサーバ−Webコンテナ間で,リクエスト送受信時およびレスポンス送受信時の通信タイムアウトを設定しておき,トラブル発生時の応答待ちなどの場合に通信タイムアウトを検知できます。
- Webサーバ(リダイレクタ)によるリクエストの振り分け
Webサーバに登録したリダイレクタによって,リクエストをURLパターン,ラウンドロビン方式またはPOSTデータサイズで複数のWebコンテナに振り分けて処理できます。
- エラーページのカスタマイズ
クライアントから存在しないリソースに対してアクセスした場合などに,クライアントからのリクエストに対してユーザがカスタマイズしたエラーページを表示できます。エラーページの表示は,リダイレクタが実行します。
- ドメイン名指定でのトップページの表示
ドメイン名指定によってWebアプリケーションのトップページを表示するようにできます。
- Webコンテナへのゲートウェイ情報の通知
クライアントとWebサーバとの間にSSLアクセラレータや負荷分散機などのゲートウェイを配置している場合に,Webコンテナにゲートウェイ情報を通知して,welcomeファイルやForm認証画面に自動的に正しくリダイレクトできます。
- Webサーバ連携・インプロセスHTTPサーバ・簡易WebサーバでのIPアドレスの指定
Webサーバ連携,インプロセスHTTPサーバおよび簡易Webサーバで利用するIPアドレスを明示的に指定できます。これによって,複数の物理ネットワークインタフェースを持つホストまたは一つの物理ネットワークインタフェースに対して,ホストで実行する場合に,特定の一つのIPアドレスだけを使用するよう設定できます。
- 静的コンテンツのキャッシュ
一度アクセスした静的コンテンツをメモリ上にキャッシュして,2回目以降のアクセスではキャッシュからブラウザにレスポンスを返すことで,静的コンテンツのレスポンスタイムを短縮できます。
- 簡易Webサーバ機能
Webコンテナを簡易Webサーバとして利用できます。スタブをダウンロードするためにこの機能を使用します。
- セッションフェイルオーバ機能
J2EEサーバ上のHTTPセッションオブジェクトに登録されたオブジェクトを引き継ぐ機能です。この機能は,Webアプリケーションに組み込んで動作させるサーブレットフィルタとして提供されています。これを,セッションフェイルオーバ用フィルタといいます。
この機能を使用することによって,J2EEサーバに障害が発生して,リクエストがほかのJ2EEサーバに転送された場合でも,障害発生前の状態で業務を続行できます。
Webコンテナが提供する機能の目的,およびJ2EE標準との対応について,次の表に示します。
表2-2 Webコンテナが提供する機能の目的およびJ2EE標準との対応
機能名 |
目的 |
J2EE標準への準拠 |
参照先 |
信頼性 |
性能 |
運用・
保守 |
拡張性 |
そのほか |
J2EE標準 |
拡張 |
Webアプリケーションの実行 |
− |
− |
− |
− |
− |
○ |
○ |
4.2 |
インプロセスHTTPサーバによるリクエストの受け付け |
− |
○ |
− |
− |
− |
− |
○ |
4.3 |
セッション管理 |
○ |
− |
− |
○ |
− |
○ |
○ |
4.4 |
文字コード変換 |
− |
− |
− |
− |
○ |
○ |
− |
4.5 |
デフォルトの文字エンコーディング設定 |
− |
− |
○ |
− |
− |
○ |
○ |
4.6 |
JSPの事前コンパイルとコンパイル結果の保持 |
− |
○ |
− |
− |
− |
− |
○ |
4.7 |
アプリケーションのイベントリスナ |
− |
− |
− |
− |
○ |
○ |
− |
4.8 |
タグファイルの実行 |
− |
− |
− |
− |
− |
○ |
− |
4.9 |
JSP ELの実行 |
− |
− |
− |
− |
− |
○ |
− |
4.10 |
リクエストおよびレスポンスのフィルタリング |
− |
− |
○ |
− |
− |
○ |
○ |
4.11 |
フィルタリングによるHTTPレスポンスの圧縮 |
− |
○ |
− |
− |
− |
− |
○ |
4.12 |
Webコンテナのセキュリティ管理 |
○ |
− |
− |
− |
− |
○ |
○ |
4.13 |
EJBコンテナとの連携 |
− |
− |
− |
− |
− |
○ |
○ |
4.14 |
データベースとの接続 |
− |
− |
− |
○ |
− |
○ |
○ |
4.15 |
Webコンテナによるスレッドの作成 |
− |
○ |
− |
− |
− |
− |
○ |
4.16 |
同時実行スレッド数の制御 |
− |
○ |
− |
− |
− |
− |
○ |
4.17,4.18,4.19,4.20 |
ユーザスレッドの使用 |
− |
− |
− |
− |
○ |
− |
○ |
4.21 |
通信タイムアウトの設定 |
○ |
○ |
− |
− |
− |
− |
○ |
4.22 |
Webサーバ(リダイレクタ)によるリクエストの振り分け |
○ |
○ |
− |
○ |
− |
− |
○ |
4.23 |
エラーページのカスタマイズ |
− |
− |
− |
− |
○ |
− |
○ |
4.24 |
ドメイン名指定でのトップページの表示 |
− |
− |
− |
− |
○ |
○ |
− |
4.25 |
Webコンテナへのゲートウェイ情報の通知 |
− |
− |
− |
− |
○ |
− |
○ |
4.26 |
Webサーバ連携・インプロセスHTTPサーバ・簡易WebサーバでのIPアドレスの指定 |
− |
− |
− |
− |
○ |
− |
○ |
4.27 |
静的コンテンツのキャッシュ |
− |
○ |
− |
− |
− |
− |
○ |
4.28 |
簡易Webサーバ機能 |
− |
− |
− |
− |
○ |
− |
○ |
4.29 |
セッションフェイルオーバ機能 |
○ |
− |
○ |
− |
− |
− |
○ |
4.11.1,12章 |
(凡例) ○:対応する −:対応しない
- 注
- 表中の項目「J2EE標準」と「拡張」の両方に○が付いている機能は,J2EE標準の機能にApplication Server独自の機能が拡張されていることを示します。「拡張」だけに○が付いている機能はApplication Server独自の機能であることを示します。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.