この章では次の項について説明します。
Coherence*Webは、クラスタ環境におけるセッション状態の管理に特化したHTTPセッション管理モジュールです。Coherence*WebはOracle Coherence (Coherence)を基本として構築されており、その特徴は次のとおりです。
Coherenceデータ・グリッドのデータのスケーラビリティ、可用性、信頼性およびパフォーマンスをメモリー内のセッション管理と記憶域にもたらします。
プラッガブル・ポリシーにより、セッションとセッション属性のスコープをきめ細かく構成できます(「セッションとセッション属性のスコープ設定」を参照)。
Oracle GlassFish Server、Oracle WebLogic Server、IBM WebSphere、Tomcatなど、広く使用されているアプリケーション・サーバーにデプロイできます(「サポートされているWebコンテナ」を参照)。
Oracle WebLogic Portal(第10章「WebLogic PortalでのCoherence*Webの使用方法」を参照)などの多数のポータル・コンテナにデプロイできます。
セッション・データをJava EEアプリケーション・サーバー外部で保存可能にすることによって、アプリケーション・サーバーのヒープ領域を解放し、セッション・データを失わずにサーバーを再起動できるようにします(「デプロイメント・トポロジ」を参照)。
様々なWebアプリケーション、ドメインおよび異機種アプリケーション・サーバーにわたってセッションの共有と管理を可能にします(「セッションとセッション属性のスコープ設定」を参照)。
クラスタでセッション状態をシリアライズとデシリアライズする方法を定義する高度なセッション・モデル(モノリシック、トラディショナルおよびスプリット)で使用できます(「セッション・モデル」を参照)。
Oracle WebLogic Server 9.2.1、9.2.3、10.3.1およびそれ以降においてCoherence*Webセッション管理モジュールをインストールする場合は、Coherence*Webサービス・プロバイダ・インタフェース(SPI)ベースのインストール方法を使用できます。WebLogic Server 10.3.4にこの管理モジュールをインストールする手順は、第2章「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。
サード・パーティ製アプリケーション・サーバーおよびいくつかのレガシー・バージョンのOracle WebLogic Server(9.2.1、9.2.3、10.3、10.3.1)の場合、Coherence*Webでは汎用インストーラ(WebInstaller)が用意されています。これによりWebアプリケーションが透過的に設定されます。第4章「他のアプリケーション・サーバーにおけるCoherence*Webの使用方法」で、WebInstallerを使用してこれらのサーバーにCoherence*Webをインストールする方法について説明します。
表1-1は、Coherence*Webセッション管理モジュールでサポートされているWebコンテナを示しています。また、Coherence*Webをインストールする際に必要な情報へのリンクも示しています。Oracle WebLogic Server 10.3.4を除くすべてのWebコンテナには、一般的なインストール手順が共通に適用されます。Webコンテナの中には、この一般的なインストール手順を開始する前に、そのコンテナ固有の追加手順を実行しなければならないものがわずかにあります。Caucho Resin、WebLogic 10.nなどがこのようなコンテナに該当します。
表1-1 Coherence*Webを使用できるWebコンテナ
Coherence*Webを構成してデプロイする前にデプロイメント決定を行う必要があります。Coherence*Webは、様々なアプリケーション・サーバー上でサポートされています。使用するアプリケーション・サーバーに関係なく、パッケージ化での考慮事項、セッション・モデル、セッション・ロック・モード、デプロイメント・トポロジなどの特定の要件を満たすためにCoherence*Webの構成オプションの変更が必要になることがあります。
クラスタ・ノード分離とは、各アプリケーション・サーバーJVM内に作成されるCoherenceノードのスコープを意味します。いくつかの分離モードがサポートされています。
たとえば、同じ1つのクラスタ(または1つのCoherenceノード)を使用する必要があるコンテナに複数のアプリケーションをデプロイするモード、単一のクラスタを使用する単一のEARファイルにパッケージ化した複数のWebアプリケーションを使用するモード、独立したセッション・データを保持したままで専用のCoherenceクラスタにデプロイする必要のあるWebアプリケーションを使用するモードなどが考えられます。これらの選択肢、およびデプロイメントで構成が必要なディスクリプタと要素については、「クラスタ・ノード分離」で説明します。
ロック・モードとは、複数のWebコンテナ・スレッドから同時にアクセスが発生したときのHTTPセッションの動作を指します。Coherence*Webには、様々なセッション・ロック・オプションが用意されています。たとえば、クラスタ内の複数のノードから1つのHTTPセッションに同時にアクセスすることや、1つのHTTPセッションに同時にアクセスできるスレッドの数を1つにのみ制限することが可能です。また、同じWebアプリケーション・インスタンスへの複数のスレッドからのアクセスを許可する一方で、異なるWebアプリケーション・インスタンスにあるスレッドからの同時アクセスを禁止することもできます。これらの選択肢、およびデプロイメントで構成が必要なディスクリプタと要素については、「セッション・ロック・モード」で説明します。
セッションとセッション属性のスコープ設定とは、アプリケーション境界を越えてセッション・データとセッション属性の両方の有効範囲を詳細に設定(共有)する操作を指します。Coherence*Webでは、Webアプリケーション間でセッションを共有したり、アプリケーション間で共有するセッション属性を制限することができます。これらの選択肢、およびデプロイメントで構成が必要なディスクリプタと要素については、「セッションとセッション属性のスコープ設定」で説明します。
Coherence*Webには、期限切れのセッションを無効にするセッション・リーパーが用意されています。セッション・リーパーの詳細は、第7章「期限切れHTTPセッションのクリーンアップ」を参照してください。
実行するインストール手順は、アプリケーション・サーバーによって異なります。「サポートされているWebコンテナ」では、アプリケーション・サーバーとそのサーバーに応じたCoherence*Webのインストール手順が一覧に記載されています。
Coherence*Webを最新リリースのWebLogic Server(WebLogic Server 11gR1以降)にインストールする場合、ネイティブのWebLogic Server SPIベースのインストール手順を使用します。詳細は、第2章「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。
その他のアプリケーション・サーバーの場合、汎用Java EE WebInstallerを使用します。詳細は、第4章「他のアプリケーション・サーバーにおけるCoherence*Webの使用方法」を参照してください。
WebLogic PortalへのCoherence*Webのインストールは、WebLogic Serverからは全面的に独立した操作です。つまり、Coherence*WebをWebLogic Portalにインストールするために、WebLogic ServerにもCoherence*Webのインストールが必要になることはありません。第10章「WebLogic PortalでのCoherence*Webの使用方法」を参照してください。