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