ヘッダーをスキップ
Oracle® Coherenceチュートリアル
リリース3.6
B61373-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

11 CoherenceおよびWebLogic Serverとのセッションのキャッシュ

この章では、WebLogic ServerインスタンスでデプロイされるWebアプリケーション・インスタンスのセッション情報をキャッシュする方法について説明します。

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

11.1 概要

WebLogic Serverには、デプロイしたアプリケーションでCoherenceデータ・キャッシュを容易に使用するための機能や、デプロイしたアプリケーションを、セッション管理を目的としてCoherence*Webと、またはオブジェクト・リレーショナル永続フレームワークとしてTopLink Gridとシームレスに組み合わせることのできる機能が含まれています。これらの機能は、まとめてActiveCacheと呼ばれます。

ActiveCacheは、WebLogic Serverで実行されるアプリケーションによって使用され、アプリケーション・データをCoherenceデータ・クラスタ内のすべてのサーバーで使用するためのレプリケーション・キャッシュシング・サービスおよび分散キャッシング・サービスを提供します。このリリースの新機能は、リソース・インジェクションまたはコンポーネントベースのJNDI参照を介したアプリケーションのデータ・キャッシュへの直接アクセスを提供し、WebLogic Server管理コンソールおよびWLSTを使用したCoherenceクラスタの表示、監視、作成および構成を可能にします。

WebLogic ServerインスタンスでActiveCacheを使用することにより、アプリケーション・データのキャッシュおよびレプリケートされたセッション状態の保存に特化したデータ層を作成できます。これは、WebLogic Serverインスタンスがアプリケーションの実行に特化されるアプリケーション層とは別個のものです。

ActiveCacheでCoherence*Webを使用することにより、WebLogic Server上で実行されているアプリケーションに対して、CoherenceベースのHTTPセッション状態の永続性を与えることができます。Coherence*Webは、様々なWebアプリケーション、ドメインおよび異機種アプリケーション・サーバーにわたるHTTPセッションの共有と管理を可能にします。セッション・データはアプリケーション・サーバー外部のデータ・キャッシュに格納できるため、アプリケーション・サーバーのヒープ領域を解放し、セッション・データを失うことなくサーバーを再起動できます。

CoherenceおよびCoherence*Webは、WebLogic Server 11gR1(10.3.3)のデフォルトのインストールに含まれています。システム上にWebLogic Server 11gR1(10.3.3)が存在しない場合は、次のURLから取得できます。

http://www.oracle.com/technology/software/products/middleware/index.html

Oracle WebLogic Server、CoherenceおよびCoherence*Webの統合の詳細は、ActiveCacheの使用に関する項および『Oracle Coherence*Webユーザーズ・ガイド』を参照してください。

11.2 Webアプリケーション・インスタンスのセッション情報のキャッシュ

次の例では、ActiveCacheを使用して、WebLogic ServerインスタンスでデプロイされるWebアプリケーション・インスタンスのセッション情報をキャッシュする方法について説明します。これを行うには、Webアプリケーションを作成して、2つのサーバー・インスタンスにデプロイします。作成するアプリケーションは、セッション属性として現在のカウントを保存する簡単なカウンタです。Coherence*Webは、この属性を両方のサーバー・インスタンスで自動的にシリアライズし、レプリケートします。ブラウザを使用して各アプリケーション・インスタンスにアクセスし、インスタンス間で同じセッション属性が使用されていることを示します。

  1. Coherence 3.6およびWebLogic Server 10.3.3を使用していることの確認

  2. キャッシュ・サーバーの起動

  3. WebLogic Serverの構成および起動

  4. マシンの作成

  5. WebLogic Serverの作成

  6. Coherenceクラスタの作成

  7. 共有ライブラリ・ファイルのデプロイ

  8. カウンタWebアプリケーションの作成

  9. アプリケーションのデプロイ

  10. ノード・マネージャおよびWebLogic Serverの起動

  11. 例の確認

11.2.1 Coherence 3.6およびWebLogic Server 10.3.3を使用していることの確認

デフォルトで、WebLogic Server 11gR1(10.3.3)のインストールでは、coherence_3.5ディレクトリにCoherence 3.5もインストールされます。この例を実行するには、サーバー起動ファイルおよびクラスパスが、すでにインストールされているCoherence 3.6ファイルを引き続き指していることを確認します。また、この例の後半でファイルをデプロイする際、3.6バージョンをデプロイしていることを確認してください。

11.2.2 キャッシュ・サーバーの起動

Coherenceキャッシュ・サーバーを起動します。例11-1に、キャッシュ・サーバーを起動するサンプル・スクリプトを示します。この例で、tangosol.coherence.clusterport=7777はCoherenceクラスタのデフォルトのマルチキャスト・リスニング・ポート、tangosol.coherence.clusteraddress=231.1.1.1はデフォルトのマルチキャスト・リスニング・アドレスです。

例11-1 キャッシュ・サーバーを起動するスクリプト

setlocal
 
    set COHERENCE_HOME=c:\oracle\product\coherence
 
set COH_OPTS=%COH_OPTS% -server -cp %COHERENCE_HOME%\lib\coherence.jar;%COHERENCE_HOME%\lib\coherence-web-spi.war;
set COH_OPTS=%COH_OPTS% -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.cacheconfig=/WEB-INF/classes/session-cache-config.xml -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.clusterport=7777 -Dtangosol.coherence.clusteraddress=231.1.1.1 -Dtangosol.coherence.session.localstorage=true
 
java %COH_OPTS% -Xms512m -Xmx512m -XX:MaxPermSize=256m com.tangosol.net.DefaultCacheServer
 
:exit

11.2.3 WebLogic Serverの構成および起動

この例ではCoherenceクラスタが必要です。

  1. Oracle WebLogic構成ウィザード(「スタート」→「すべてのプログラム」→「Oracle WebLogic」→「WebLogic Server 11gR1」→「ツール」→構成ウィザードを実行し、test_domainというWebLogic Serverドメインを作成します。

    ウィザードを終了する前に、「管理サーバーの起動」チェック・ボックスを選択し、「完了」をクリックします。構成ウィザードにより自動的に管理サーバーが起動されます。

  2. WebLogic Server管理コンソールを起動します。

    ブラウザから、http://hostname:7001/consoleを使用してOracle WebLogic Server管理コンソールにログインします。コンソールが起動し、ドメインのホーム・ページが表示されます。

11.2.4 マシンの作成

WebLogic Serverインスタンスをホストするマシンを作成します。

ドメイン構造」ウィンドウから、「環境」→「マシン」を選択します。「新規」をクリックします。「新しいマシンの作成」ページが表示されます。マシンの名前(この場合はTest)を入力し、「OK」をクリックします。

図11-1 新規マシンの作成

新規マシンの作成

マシンのサマリー」ページは、図11-2のようになります。

図11-2 マシンのサマリー

マシンのサマリー

11.2.5 WebLogic Serverの作成

マシンに関連付けられる2つのサーバー・インスタンスを作成します。後半の手順で、アプリケーションがこれらのサーバーにデプロイされます。

  1. マシンのサマリー」ページでマシンの名前をクリックし、「<machine>の設定」ページを開きます。「サーバー」タブ→「追加」をクリックし、サーバーを作成します。

  2. マシンにサーバーを追加」ページで「新しいサーバーを作成してこのマシンに関連付けます。」を選択し、「次へ」をクリックします。

  3. マシンにサーバーを追加」ページでサーバーの詳細を指定します。

    サーバー名」としてServerAを、「サーバー・リスニング・ポート」として8081を入力します。「サーバー・リスニング・アドレス」に適切な値を入力します。「終了」をクリックします。

    図11-3 マシンへのサーバーの追加

    マシンへのサーバーの追加
  4. <machine>の設定」ページに戻ったら、前の3つの手順を繰り返し、2番目のサーバーを作成します。

    サーバー名」としてServerBを、「サーバー・リスニング・ポート」として8082を入力します。「サーバー・リスニング・アドレス」に適切な値を入力します。「終了」をクリックします。

  5. ドメイン構造」メニューで「環境」を開き、「サーバー」をクリックします。

    サーバーのサマリー」ページが、図11-4のように表示されます。

    図11-4 「サーバーのサマリー」ページ

    「サーバーのサマリー」ページ

11.2.6 Coherenceクラスタの作成

Coherenceクラスタを作成します。

  1. ドメイン構造」ウィンドウで「サービス」→「Coherenceクラスタ」をクリックします。「Coherenceクラスタのサマリー」ページで、「新規」をクリックします。「Coherenceクラスタ構成の作成」ページで、「名前」フィールドにCoherenceClusterと入力し、「次へ」をクリックします。

    図11-5 Coherenceクラスタの作成

    Coherenceクラスタの作成
  2. ユニキャスト・リスニング・ポート」フィールドに、8085などの値を入力します。その他の値は変更せずに、「次へ」をクリックします。

    図11-6 Coherenceクラスタのユニキャスト・リスニング・ポートの指定

    Coherenceクラスタのユニキャスト・リスニング・ポートの指定
  3. Coherenceクラスタ・ターゲット」ページで、ターゲットとしてServerAおよびServerBを選択します。「終了」をクリックします。

    図11-7 Coherenceクラスタ・ターゲットの選択

    Coherenceクラスタ・ターゲットの選択

    Coherenceクラスタのサマリー」ページは、図11-8のようになります。

    図11-8 Coherenceクラスタのサマリー

    Coherenceクラスタのサマリー

11.2.7 共有ライブラリ・ファイルのデプロイ

coherence.jarファイルに加えて、Coherenceではデプロイ可能な共有ライブラリcoherence-web-spi.warが用意されています。これには、WebLogic ServerのHTTPセッション管理インタフェースへのネイティブ・プラグインが含まれます。さらにCoherenceでは、WebLogic ServerがCoherenceと相互作用できるようにするクラスを含むactive-cache-1.0.jarファイルが提供されます。

この例ではcoherence.jarをデプロイする必要はありません。これは、後の手順でアプリケーションにバンドルされます。

coherence-web-spi.warファイルおよびactive-cache-1.0.jarファイルをデプロイする手順は次のとおりです。

  1. ドメイン構造」メニューで「デプロイメント」をクリックします。「デプロイメントのサマリー」ページが表示されます。

  2. インストール」をクリックします。「アプリケーション・インストール・アシスタント」画面が表示されます。

  3. アプリケーション・インストール・アシスタント」を使用して、ライブラリとしてcoherence-web-spi.warServerAおよびServerBにデプロイします。

    1. coherence-web-spi.warファイルを見つけ、選択します。これは、Coherenceインストールのcoherence\libディレクトリにあります。「次へ」をクリックします。

      図11-9 デプロイメント用coherence-web-spi.jarファイルの選択

      デプロイメント用coherence-web-spi.jarファイルの選択
    2. ターゲット指定スタイルの選択」ページで、「このデプロイメントをライブラリとしてインストールする」が選択されていることを確認します。「次へ」をクリックします。

      図11-10 ライブラリとしてのデプロイメントのインストール

      ライブラリとしてのデプロイメントのインストール
    3. デプロイメント・ターゲットとしてServerAおよびServerBを選択します(coherence-web-spi.warAdminServerにはデプロイしません)。「次へ」をクリックします。

      図11-11 デプロイメント・ターゲットの選択

      デプロイメント・ターゲットの選択
    4. 「オプション設定」ページで、「ソースのアクセス可能性」セクションの「すべてのターゲットにこのアプリケーションをコピーする」オプションを選択します。

      図11-12 ターゲットへのファイルのコピー

      ターゲットへのファイルのコピー
    5. 終了」をクリックすると、「アプリケーション・インストール・アシスタント」の残りの手順をスキップできます。アプリケーションがデプロイされると、「デプロイメントのサマリー」ページが表示されます。

  4. 手順1〜3を繰り返し、active-cache-1.0.jarServerAおよびServerBにデプロイします(active-cache-1.0.jarAdminServerにはデプロイしません)。

    active-cache-1.0.jarがWebLogic Serverインストールに組み込まれます。WebLogic ServerがC:\oracle\productにインストールされている場合、このファイルはC:\oracle\product\wls1033\wlserver_10.3\common\deployable-librariesディレクトリにあります。

11.2.8 カウンタWebアプリケーションの作成

カウンタWebアプリケーションは、JSPとして実装される簡単なカウンタです。このカウンタはHTTPセッション属性として格納され、ページがアクセスされるたびに増分します。

カウンタWebアプリケーションを作成する手順は次のとおりです。

  1. 次のように、標準のWebアプリケーション・ディレクトリを作成します。

    /
    /WEB-INF
    
  2. 次のコードをテキスト・ファイルにコピーし、これをweb.xmlという名前で/WEB-INFディレクトリに保存します。

    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
     xmlns="http://java.sun.com/xml/ns/j2ee" version="2.5">
       <description>Empty web.xml file for Web Application</description>       
    </web-app>
    
  3. /WEB-INFディレクトリにweblogic.xmlファイルを作成します。

    • coherence-web-spi.warファイルのライブラリ参照を追加します。

    • coherence-cluster-ref行で、Coherenceクラスタを参照します。

    例11-2に、weblogic.xmlファイルのサンプルを示します。

    例11-2 weblogic.xmlファイルのサンプル

    <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app http://www.oracle.com/technology/weblogic/weblogic-web-app/1.1/weblogic-web-app.xsd">
          <library-ref>
               <library-name>coherence-web-spi</library-name>
          </library-ref>
         <coherence-cluster-ref>
            <coherence-cluster-name>CoherenceCluster</coherence-cluster-name>
         </coherence-cluster-ref> 
    </weblogic-web-app>
    
  4. coherence.jarファイルをアプリケーションにバンドルします(coherence.jarをCoherence 3.6インストールのcoherence\libディレクトリからWEB-INF/libディレクトリにコピーします)。

  5. カウンタJSPの次のコードをテキスト・ファイルにコピーし、このファイルをcounter.jspという名前でWebアプリケーション・ディレクトリのルートに保存します。

    <html>
        <body>
    
    <h3>
          Counter :
          <%
             Integer counter = new Integer(1);
             HttpSession httpsession = request.getSession(true);
             if (httpsession.isNew()) {
                    httpsession.setAttribute("count", counter);
                    out.println(counter);
             } else {
                    int count = ((Integer) httpsession.getAttribute("count")).intValue();
                    httpsession.setAttribute("count", new Integer(++count));
                    out.println(count);
             }
          %>
          </h3>
     
        </body>
    </html>
    
  6. META-INFディレクトリにmanifest.mfファイルを作成します。active-cache JARファイルへの参照を追加します。例11-3に、manifest.mfファイルのサンプルを示します。

    例11-3 manifest.mfファイルのサンプル

    Extension-List: active-cache
    active-cache-Extension-Name: active-cache
    active-cache-Specification-Version: 1.0
    active-cache-Implementation-Version: 1.0
    
  7. Webアプリケーション・ディレクトリは次のようになります。

    /
    /counter.jsp
    /META-INF/manifest.mf
    /WEB-INF/web.xml
    /WEB-INF/weblogic.xml
    /WEB-INF/lib/coherence.jar
    
  8. Webアプリケーション・ディレクトリをZIP圧縮またはJAR圧縮し、そのファイルをcounter.warという名前で保存します。

11.2.9 アプリケーションのデプロイ

counter.warアプリケーションをデプロイする手順は次のとおりです。

  1. Oracle WebLogic Server管理コンソールの「ドメイン構造」メニューで「デプロイメント」をクリックし、「デプロイメントのサマリー」ページを開きます。

  2. インストール」をクリックします。「アプリケーション・インストール・アシスタント」画面が表示されます。

  3. アプリケーション・インストール・アシスタント」を使用して、counter.warServerAおよびServerBにデプロイします。「オプション設定」ページで、「ソースのアクセス可能性」セクションの「すべてのターゲットにこのアプリケーションをコピーする」オプションを選択します。

    アプリケーションがデプロイされると、「デプロイメントのサマリー」ページが表示されます。図11-13に、デプロイされたactive-cache.jarcoherence-web-spi.warおよびcounter.warの各ファイルが表示されたページを示します。

    図11-13 デプロイされたファイルのある「デプロイメントのサマリー」ページ

    デプロイされたファイルのある「デプロイメントのサマリー」ページ

11.2.10 ノード・マネージャおよびWebLogic Serverの起動

ノード・マネージャを起動し、WebLogic Server管理コンソールからWebLogic Serverインスタンスを起動します。ノード・マネージャは、Oracle WebLogic Serverとは別のプロセスとして実行されるJavaユーティリティで、管理サーバーからの位置に関係なく管理対象サーバーの一般的な処理を実行できます。

  1. スタート」→「すべてのプログラム」→「Oracle WebLogic」→「WebLogic Server 11gR1」→「ツール」→「ノード・マネージャ」からノード・マネージャを起動します。

  2. ドメイン構造」ウィンドウで「環境」→「サーバー」をクリックします。WebLogic Server管理コンソールの「サーバーのサマリー」ページで、「制御」タブをクリックし、両方のサーバー・インスタンスを起動します。

    図11-14に、サーバーを起動した後のデプロイメントの表を示します。

    図11-14 デプロイされたアプリケーションおよびライブラリを示す「デプロイメント」ウィンドウ

    デプロイされたアプリケーションを示す「デプロイメント」ウィンドウ

11.2.11 例の確認

例を検証する手順は次のとおりです。

  1. ブラウザを開き、次のURLを使用してServerAカウンタ・インスタンスにアクセスします。

    http://host:8081/counter/counter.jsp

    カウンタ・ページが表示され、次のようにカウンタが1に設定されます。

    図11-15 カウンタが1に設定されたカウンタ・ページ

    カウンタが1に設定されたカウンタ・ページ
  2. 新しいブラウザ(または新しいブラウザ・タブ)で、次のURLを使用してServerBカウンタ・インスタンスにアクセスします。

    http://host:8082/counter/counter.jsp

    カウンタ・ページが表示され、セッション・データに基づいてカウンタが2に増分されます。

    図11-16 カウンタが2に設定されたカウンタ・ページ

    カウンタが4に設定されたカウンタ・ページ
  3. ページを更新すると、カウンタは3に増分されます。元のブラウザ(またはブラウザ・タブ)に戻り、インスタンスを更新すると、カウンタは4を示します。