WebLogic Portal環境でCoherence*Webを使用すると、Coherenceに基づくセッション状態管理を実現できます。Coherence*Webを使用すると、クラスタ環境でより高度なデプロイメント・モデル、セッション・モデル、およびロック・モードが可能になります。これらの機能の詳細は、第5章「Coherence*Webセッション管理機能」を参照してください。
この章では次の項について説明します。
注意: Oracle WebLogic Serverリリース10.3.1以降では、パッチは不要です。リリース10.3.1以降を使用している場合、この項はスキップできます。 |
WebLogic Server 10.3以前を使用している場合、適切なソフトウェア・パッチを、Coherence*Webを使用するWebアプリケーションをホストしているすべてのWebLogic Serverインスタンスに適用します。表10-1は、WebLogic Serverの各バージョンに対応するパッチとCoherenceリリース・レベルを示しています。
表10-1 WebLogic Serverと必要なCoherenceパッチ・リリース・レベル
WebLogic Server 9.2 MP1 | WebLogic Server 10.3 | WebLogic Server 10.3.1以降 | |
---|---|---|---|
WebLogic Smart Update |
パッチID: AJQB |
パッチは不要です。 |
パッチはMy Oracle SupportのWebサイト、またはWebLogic ServerのSmart Updateユーティリティを使用してダウンロードできます。
My Oracle Supportからダウンロードする手順は次のとおりです。
次のMy Oracle SupportのWebサイトにアクセスし、パッチを探します。
「パッチ」タブを選択し、「単純検索」リンクをクリックします。後続の画面で、適切な値(たとえば、11399293
)を使用してパッチ番号/名前の検索を実行します。
表示された検索結果からパッチのzipファイルをダウンロードします。
パッチのzipファイルに含まれるREADME.txt
を開き、Coherenceパッチの適用手順を確認します。
Smart Updateを使用してダウンロードする手順は次のとおりです。
Smart UpdateのガイドでSmart Updateを使用してWebLogic Serverのパッチをインストールする手順を確認してください。
本番環境では、Smart Updateの本番インストールを確認することをお薦めします。
Smart Updateのガイドは次のURLで入手できます。
http://download.oracle.com/docs/cd/E14759_01/doc.32/e14143/toc.htm
「スタート」→「すべてのプログラム」→「Oracle WebLogic」→「Smart Update」を選択し、ログイン・ダイアログ・ボックスを開きます。各自のサポートIDとパスワードを使用してログインします。
お使いのWebLogic Serverのリリースに対応するパッチをダウンロードし、適用します。図10-2は、Oracle Smart Updateのブラウザを示しています。
WebLogic PortalでCoherence*Webを使用するには、次の手順を実行します。
キャッシュ・サーバーJVMは、キャッシュしたすべてのデータ(この場合はHTTPセッション状態)の保存と管理専用のCoherence JVMです。WebLogic ServerまたはWebLogic PortalのJVMを起動する前に、1つ以上のキャッシュ・サーバーJVMを起動しておく必要があります。キャッシュ・サーバーを起動するには、次の手順を実行します。
キャッシュ・サーバーJVMを起動するためのスクリプトを作成します。Coherence*Webで使用する記憶域対応キャッシュ・サーバーを起動するスクリプトの例を次に示します。特定のJVMのチューニングの詳細は、『Oracle Coherence開発者ガイド』のJVMのチューニングに関する項を参照してください。
java -server -Xms512m -Xmx512m -cp <Coherence installation dir>/lib/coherence.jar:<Coherence installation dir>/lib/coherence-web-spi.war -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.cacheconfig=WEB-INF/classes/session-cache-config.xml -Dtangosol.coherence.session.localstorage=true com.tangosol.net.DefaultCacheServer
前述の手順で説明したスクリプトを使用して、キャッシュ・サーバーJVMを1つ以上起動します。
Coherence*Webのキャッシュ・トポロジをカスタマイズするには、session-cache-config.xml
ファイルを(必要に応じて)変更します。
この構成ファイルは、coherence-web.jar
ファイルにあります。session-cache-config.xml
ファイルを変更する場合は、JARファイルでこれを置き換える必要があります。
session-cache-config.xml
ファイルのデフォルト構成の説明については、付録C「セッション・キャッシュ構成ファイル」を参照してください。
Coherence P13N(パーソナライゼーション)キャッシュ・プロバイダを使用する場合、coherence-wlp.jar
ファイルをポータル・エンタープライズ・アプリケーションのAPP-INF\lib
ディレクトリにコピーします。
P13N CacheProvider
SPIの実装とWeb Services for Remote Portlets(WSRP)フェデレーテッド・ポータルの詳細は、『Oracle Coherence統合ガイド』を参照してください。
Coherence P13Nキャッシュをデフォルトのキャッシュ・プロバイダとして使用する場合は、ポータル・エンタープライズ・アプリケーションのMETA-INF\p13n-cache-config.xml
ファイルで、最初の<cache>
要素の前に次の行を追加します。
<default-provider-id>com.tangosol.coherence.weblogic</default-provider-id>
ポータルWebアプリケーションのWEB-INF\weblogic.xml
ファイルで、次のようにライブラリ・リファレンス(library-ref
)を使用してcoherence-web-spi.war
ファイルを参照します。
<wls:library-ref> <wls:library-name>coherence-web-spi</wls:library-name> </wls:library-ref>
Coherence*Webセッションを有効にするには、ポータルWebアプリケーションのWEB-INF\web.xml
ファイルで、アプリケーション・パラメータcoherence-web-sessions-enabled
をtrue
に設定します。
<context-param> <param-name>coherence-web-sessions-enabled</param-name> <param-value>true</param-value> </context-param>
WebLogic Portalで実行するエンタープライズ・アプリケーションにキャッシュ・サービスを提供するように、Coherenceキャッシュ・プロバイダを構成できます。このためには、キャッシュ・プロバイダとWebLogicポータル・サーバーをアウトオブプロセス・デプロイメント・トポロジで実行するように設定する必要があります。
アウトオブプロセス・トポロジでは、WebLogicポータル・サーバー(つまりWebLogic Portalサーバー層)はローカル記憶域が無効なキャッシュ・クライアントとして構成され(つまり、tangosol.coherence.weblogic.localstorage
、tangosol.coherence.distributed.localstorage
およびtangosol.coherence.session.localstorage
システム・プロパティをfalse
に設定)、クラスタ化データを物理的に保存および管理してキャッシュ・サーバーとして動作する専用のJVMを配置します。
このアプローチには次のようなメリットがあります。
セッション・データ記憶域の負荷を、WebLogic Portal層からキャッシュ・サーバー層に移管できます。これによって、ヒープ使用量やガベージ・コレクション時間などを低減できます。
WebLogic Portalとキャッシュ・サーバー層は、独立してスケールできます。アプリケーションの処理能力が不足している場合は、起動するWebLogic Portalサーバーの数を増やします。セッション記憶域の容量が不足している場合は、起動するキャッシュ・サーバーの数を増やします。
アウトオブプロセス・トポロジは、その柔軟性によって、Oracle Coherenceのデフォルトの推奨トポロジになっています。図10-3に、アウトオブプロセス・トポロジを示します。ポータル層の各WebLogic Portalサーバーが、それぞれのニア・キャッシュを管理します。これらのニア・キャッシュは、別のキャッシュ・サーバー層で実行されるセッション・データ・キャッシュと通信します。
このトポロジの構成手順については、「アウトオブプロセス・トポロジのCoherenceキャッシュ・プロバイダのデプロイ」を参照してください。
セッション・キャッシュとポータル・キャッシュの構成ファイルを取得します。
coherence-web.jar
ファイルからsession-cache-config.xml
ファイルを抽出します。
coherence-wlp.jar
ファイルからportal-cache-config.xml
ファイルを抽出します。
session-cache-config.xml
ファイルとportal-cache-config.xml
ファイルの内容をマージし、Coherenceグリッド・ノードのセットがセッションおよびP13Nキャッシュの両方のタイプのオブジェクトをサポートできるようにします。
このファイルのコピーが2セット必要となります。1つはCoherenceキャッシュ・サーバー用、もう1つはWebLogic Portal管理対象サーバー用です。この2つのファイルの内容は、ポータル・キャッシュ・セクションとセッション・キャッシュ・セクションのlocal-storage
プロパティの値以外、すべて同じです。
付録D「WebLogic PortalおよびOracle Coherenceのためのキャッシュ構成」の例D-1に、WebLogic Portal管理対象サーバーで使用できるマージされた構成ファイルを示しています。セッション・キャッシュとポータル・キャッシュのlocal-storage
値はfalse
に設定されます。Coherenceキャッシュ・サーバーの構成ファイルは、セッション・キャッシュ構成セクションとポータル・キャッシュ構成セクションのlocal-storage
システム・プロパティの値をtrue
に設定する必要があることを除き、例D-1と同様にできます。
WebLogic Portal管理対象サーバーのマージされた構成ファイルを、そのサーバーのキャッシュ構成ファイルとして使用します。WebLogic Portal管理対象サーバーで実行されるアプリケーションごとに、そのアプリケーションのAPP-INF/classes
ディレクトリにこのファイルをコピーします。
Coherenceキャッシュのマージされた構成ファイルをCoherenceグリッドJVMのキャッシュ構成として設定します。たとえばキャッシュ構成ファイルを配置する次のシステム・プロパティで、portal-session-cache-config.xml
はマージされたファイルを表します。
-Dtangosol.coherence.cacheconfig=D:\Coherence37\coherence\temp\portal-session-cache-config.xml
WebLogic Portal管理対象サーバーに対してローカル記憶域を無効にするシステム・プロパティを追加します。たとえば、次のプロパティをCoherenceキャッシュ・サーバーの起動スクリプトに追加できます。
-Dtangosol.coherence.weblogic.localstorage=false -Dtangosol.coherence.distributed.localstorage=false -Dtangosol.coherence.session.localstorage=false
coherence.jar
、coherence-wlp.jar
およびcoherence-web-spi.war
ファイルを共有ライブラリとして、アプリケーションがデプロイされるすべてのWebLogic Portal管理対象サーバーにデプロイします。
デプロイ手順は、「WebLogic PortalでのCoherence*Webの使用方法: 主な手順」を参照してください。
コマンドラインで次のようにローカル記憶域とセッション・ストレージのシステム・プロパティをtrueに設定し、Coherenceグリッドを起動します。
... -Dtangosol.coherence.weblogic.localstorage=true -Dtangosol.coherence.session.localstorage=true ...
WebLogic Portal管理対象サーバーを起動します。