1 Coherence*Webの概要

クラスタ化環境でのセッション状態の管理にCoherence*Webを使用することの利点を学習します。Coherence*Webは簡単に構成され、多数のコンテナで使用されます。

構成、デプロイメントおよび機能の詳細は、これ以降の章を参照してください。

この章の内容は次のとおりです。

Coherence*Webの理解

Coherence*Webは、クラスタ化環境におけるセッション状態の管理に特化したHTTPセッション管理モジュールです。

Coherence*WebはOracle Coherenceを基本として構築されており、その特徴は次のとおりです。

  • Coherenceデータ・グリッドのデータのスケーラビリティ、可用性、信頼性およびパフォーマンスをメモリー内のセッション管理と記憶域にもたらします。

  • プラガブル・ポリシーによりきめ細かなセッションおよびセッション属性のスコープ指定を構成できます。「セッションとセッション属性のスコープ設定」を参照してください。

  • Oracle WebLogic Server、IBM WebSphereおよびTomcatなど、広く使用されているアプリケーション・サーバーにデプロイできます。「サポートされているWebコンテナ」を参照してください。

  • セッション・データをJava EEアプリケーション・サーバー外部で保存可能にすることによって、アプリケーション・サーバーのヒープ領域を解放し、セッション・データを失わずにサーバーを再起動できるようにします。「デプロイメント・トポロジ」を参照してください。

  • 異なるWebアプリケーション、ドメイン、および異種接続アプリケーション・サーバー全体に渡りセッション共有と管理ができるようになります。「セッションとセッション属性のスコープ設定」を参照してください。

  • クラスタでセッション状態をシリアライズとデシリアライズする方法を定義する高度なセッション・モデル(モノリシック、トラディショナルおよびスプリット)で使用できます。「セッション・モデル」を参照してください。

サポート対象のWebコンテナ

Coherence*Webは、WebLogic Server、WebSphere Liberty、TomcatおよびJettyなどの多数のプラットフォームでサポートされています。最新リリースのWebLogic Serverでは、Coherence*Webが統合され、インストールまたは追加の統合のステップは必要ありません。

「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。

サード・パーティ製アプリケーション・サーバーの場合、Coherence*Webでは汎用ユーティリティ(WebInstaller)が用意されています。これによりWebアプリケーションが透過的に設定されます。「他のアプリケーション・サーバーにおけるCoherence*Webの使用方法」で、WebInstallerを使用してこれらのサーバーにCoherence*Webを統合する方法について説明します。

表1-1は、Coherence*Webセッション管理モジュールでサポートされているWebコンテナを示しています。また、Coherence*Webを統合する際に必要な情報へのリンクも示しています。Oracle WebLogic Serverを除くすべてのWebコンテナには、一般的な手順が共通に適用されます。

ノート:

サーバー・タイプの別名の列に示す値は、Coherence*Web WebInstallerでのみ使用します。この値は、-serverコマンド行オプションを使用してWebInstallerに渡します。

表1-1 Coherence*Webを使用できるWebコンテナ

アプリケーション・サーバー サーバー・タイプの別名 統合手順の参照先

Oracle WebLogic

該当なし

Coherence*WebはWebLogic Serverと統合されます。統合のステップは必要ありません。「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。

ノート:

WebLogic ServerとCoherenceは、Coherence*Webを使用する場合、同じバージョンである必要があります。

IBM WebSphere Liberty 8.5.n

Liberty/8.5.x

Coherence*Webセッション管理モジュールを統合する一般的な手順

Apache Tomcat 7.n

Tomcat/7.x

「Coherence*Webセッション管理モジュールを統合する一般的な手順」および「Apache Tomcatサーバーに対するスティッキー・セッションの有効化」

Apache Tomcat 8.n

Tomcat/8.x

「Coherence*Webセッション管理モジュールを統合する一般的な手順」および「Apache Tomcatサーバーに対するスティッキー・セッションの有効化」

Jetty 9.3.n

汎用

Coherence*Webセッション管理モジュールを統合する一般的な手順

サポートされているJavaサーブレット・バージョン

Coherence*Webでサポートされるのは、Javaサーブレット2.5までのAPIのみです。ただし、Coherence*Webはそれ以降のバージョンで実行できます。たとえば、Javaサーブレット4.0です。

新しいJavaサーブレット・バージョンのAPIが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アプリケーション間でセッションを共有したり、アプリケーション間で共有するセッション属性を制限することができます。これらの選択肢、およびデプロイメントで構成が必要なディスクリプタと要素については、「セッションとセッション属性のスコープ設定」で説明します。

期限切れHTTPセッションをいつクリーンアップするかの選択

Coherence*Webには、期限切れのセッションを無効にするセッション・リーパーが用意されています。セッション・リーパーの詳細は、「期限切れHTTPセッションのクリーンアップ」を参照してください。

統合の方法の選択

必要な統合手順は、使用するアプリケーション・サーバーにより異なります。「サポートされているWebコンテナ」では、アプリケーション・サーバーとそのサーバーに応じたCoherence*Webの統合手順が一覧に記載されています。

最新リリースのWebLogic Serverを使用している場合、CoherenceおよびCoherence*WebはWebLogic Server製品とともにインストールされます。Coherence*Webを別個に統合する必要はありません。「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。

その他のアプリケーション・サーバーの場合、汎用Java EE WebInstallerを使用します。詳細は、「他のアプリケーション・サーバーにおけるCoherence*Webの使用方法」を参照してください。