HTTP セッション管理

WebSphere® eXtreme Scale に付属のセッション・レプリカ生成マネージャーは、アプリケーション・サーバーのデフォルト・セッション・マネージャーと連動することができます。ユーザー・セッション・データの高可用性をサポートするために、セッション・データは、あるプロセスから別のプロセスへ複製されます。

フィーチャー

セッション・マネージャーは、Java Platform, Enterprise Edition バージョン 5 以降の任意のコンテナーで実行できるように設計されています。 セッション・マネージャーは、WebSphere API にはまったく依存していないため、ベンダーのアプリケーション・サーバー環境をサポートするのと同様に、さまざまなバージョンの WebSphere Application Server をサポートできます。

HTTP セッション・マネージャーは、関連するアプリケーションのセッション・レプリカ生成機能を提供します。 セッション・レプリカ生成マネージャーは、Web コンテナーのセッション・マネージャーと連動します。 セッション・マネージャーと Web コンテナーは協力して HTTP セッションを作成し、アプリケーションに関連付けられた HTTP セッションのライフサイクルを管理します。 このライフサイクル管理には、タイムアウト、明示的サーブレット、または JavaServer Pages (JSP) 呼び出しを基にしたセッションの無効化、およびそのセッションまたは Web アプリケーションと関連付けられているセッション・リスナーの起動などが含まれます。セッション・マネージャーは、そのセッションを、完全に複製され、クラスター化され、区画化されたデータ・グリッド内にパーシストします。WebSphere eXtreme Scale セッション・マネージャーを使用すると、アプリケーション・サーバーがシャットダウンされるか予期せずに終了した場合に、セッション・マネージャーが HTTP セッション・フェイルオーバー・サポートを提供することができます。セッション・マネージャーは、要求をアプリケーション・サーバー層に分散するロード・バランサー層によってアフィニティーが強制されない、アフィニティーをサポートしていない環境でも機能します。

使用に関するシナリオ

セッション・マネージャーは、以下のシナリオで使用できます。

セッション・マネージャーの動作

セッション・レプリカ生成マネージャーは、セッション・リスナーを使用して、セッション・データの変更を listen します。 セッション・レプリカ生成マネージャーは、セッション・データを、ローカルまたはリモートのいずれかで ObjectGrid インスタンス内に永続化します。 WebSphere eXtreme Scale に付属のツールを使用して、セッション・リスナーおよびサーブレット・フィルターをアプリケーション内の各 Web モジュールに追加できます。また、これらのリスナーおよびフィルターを、アプリケーションの Web デプロイメント記述子に手動で追加することも可能です。

このセッション・レプリカ生成マネージャーは、各ベンダーの Web コンテナーのセッション・マネージャーと連動し、Java 仮想マシン間でセッション・データを複製します。元のサーバーが停止したとき、ユーザーはセッション・データを他のサーバーから取得することができます。

図 1. リモート・コンテナー構成を含む HTTP セッション管理トポロジー
クライアント・ブラウザーが HTTP 要求スプレイヤーに要求を送信し、
その要求がアプリケーション・サーバー層まで移動します。アプリケーション・サーバー層の背後で、
ObjectGrid 層が永続 HTTP セッション・データをホストします。

デプロイメント・トポロジー

セッション・マネージャーは、以下の 2 つの異なる動的デプロイメント・シナリオを使用して構成することができます。
組み込みの、ネットワーク接続 eXtreme Scale コンテナー・サーバー
このシナリオでは、eXtreme Scale サーバーは、サーブレットと同じプロセス内に連結されます。セッション・マネージャーは ローカル ObjectGrid インスタンスに直接通信できるため、コストのかかるネットワーク遅延を回避することができます。このシナリオは、アフィニティーを持って実行され、パフォーマンスが重要な場合に適しています。
リモートの、ネットワーク接続 eXtreme Scale コンテナー・サーバー
このシナリオでは、eXtreme Scale サーバーは、サーブレットが実行されるプロセスの外部プロセスで実行されます。 セッション・マネージャーはリモートの eXtreme Scale サーバー・グリッドと通信します。このシナリオは、Web コンテナー層にセッション・データを保管するメモリーがない場合に適しています。 セッション・データは別の層へ負荷を軽減され、その結果 Web コンテナー層のメモリー使用量が下がります。データがリモート・ロケーションにあるため、待ち時間は長くなります。

汎用組み込みコンテナーの開始

objectGridType プロパティーが EMBEDDED に設定されている場合、eXtreme Scale は、Web コンテナーがセッション・リスナーまたはサーブレット・フィルターを初期化する際に、任意のアプリケーション・サーバー・プロセス内で自動的に組み込み ObjectGrid コンテナーを開始します。詳しくは、サーブレット・コンテキスト初期化パラメーターを参照してください。

ObjectGrid.xml ファイルおよび objectGridDeployment.xml ファイルを Web アプリケーションの WAR ファイルまたは EAR ファイルへパッケージする必要はありません。デフォルトの ObjectGrid.xml ファイルおよび objectGridDeployment.xml ファイルは製品の JAR ファイルへパッケージされています。動的マップは、さまざまな Web アプリケーション・コンテキストに対してデフォルトで作成されます。 静的な eXtreme Scale マップは引き続きサポートされます。

組み込み ObjectGrid コンテナーを開始するためのこのアプローチは、どのタイプのアプリケーション・サーバーにも適用されます。WebSphere Application Server コンポーネントまたは WebSphere Application Server Community Edition GBean を組み込むアプローチは推奨されません。