ヘッダーをスキップ
Oracle® Coherenceチュートリアル
リリース3.7.1
B65030-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インスタンスがアプリケーションの実行専用に使用するアプリケーション層とは分離されます。

Coherence*WebをActiveCacheとともに使用することによって、WebLogic Server上で実行されるアプリケーションにCoherenceベースのHTTPセッション状態の永続性を提供できます。Coherence*Webは、異なる複数のWebアプリケーション、ドメインおよび異機種のアプリケーション・サーバー間におけるHTTPセッション共有および管理を実現します。セッション・データは、アプリケーション・サーバー外のデータ・キャッシュに格納できるため、アプリケーション・サーバーのヒープ・スペースを解放し、セッション・データを消失させずにサーバーを再起動できます。

CoherenceおよびCoherence*Webは、WebLogic Server 11gリリース1(10.3.4)のデフォルト・インストールに含まれています。システムにWebLogic Server 11gリリース1(10.3.4)をまだ導入していない場合は、次の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.7およびWebLogic Server 10.3.4の使用確認

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

  3. WebLogic Serverの構成と起動

  4. マシンの作成

  5. WebLogic Serverの作成

  6. Coherenceクラスタ構成の作成

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

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

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

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

  11. サンプルの検証

11.2.1 Coherence 3.7およびWebLogic Server 10.3.4の使用確認

デフォルトでは、WebLogic Server 11gリリース1(10.3.4)のインストールによって、coherence_3.6フォルダにCoherence 3.6がインストールされます。このサンプルを完成するには、サーバーの起動ファイルとクラス・パスが、すでにインストールされているCoherence 3.7ファイルをポイントし続けていることを確認します。また、このサンプルの後の手順でファイル(coherence.jarcoherence-web-spi.warなど)をデプロイする際にも、リリース3.7バージョンがデプロイされることを確認します。

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

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


リリース3.7.1用の新規:

session-cache-config.xmlファイルは、coherence-web-spi.warファイルからcoherence-web.jarファイルに移動しています。coherence-web.jarファイルはcoherence\libディレクトリにあります。

例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.jar;
set COH_OPTS=%COH_OPTS% -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.cacheconfig=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

注意:

WebLogic管理コンソールを使用してCoherenceキャッシュの定義と起動を行う場合は、キャッシュ構成ファイルの場所を指定し、「サーバーの起動」タブの「引数」フィールドで分散ローカル記憶域とセッションローカル記憶域をtrueに設定する必要があります。たとえば、次のように指定します。

-Dtangosol.coherence.cacheconfig=session-cache-config.xml -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.session.localstorage=true


11.2.3 WebLogic Serverの構成と起動

Coherenceクラスタを構成して起動するには:

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

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

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

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

11.2.4 マシンの作成

WebLogic Serverインスタンスをホストするマシンを作成するには:

ドメイン構造」ウィンドウから、「環境」→「マシン」を選択します。「新規」をクリックします。「新しいマシンの作成」ページが表示されます。マシンの名前(この例ではTest)を入力して、「」をクリックします。次のページで「終了」をクリックします。図11-1は、「新しいマシンの作成」ページを示しています。

図11-1 新しいマシンの作成

新しいマシンの作成
「図11-1 新しいマシンの作成」の説明

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

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

マシンのサマリー
「図11-2 マシンのサマリー」の説明

11.2.5 WebLogic Serverの作成

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

サーバー・インスタンスを作成するには:

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

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

  3. 新しいサーバーの作成」ページでサーバーの詳細を指定します。

    サーバー名」にServerAを、「サーバー・リスニング・ポート」に8081を入力します。「サーバー・リスニング・アドレス」に適切な値を入力します。図11-3を参照してください。「終了」をクリックします。

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

    マシンへのサーバーの追加
    「図11-3 マシンへのサーバーの追加」の説明

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

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

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

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

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

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

11.2.6 Coherenceクラスタ構成の作成

1つのCoherenceクラスタは、通信を可能にするグループ・アドレスを共有するCoherenceノードのグループです。Coherenceクラスタは、アプリケーション、モジュール、またはアプリケーション・サーバー(WebLogic Serverインスタンスまたはキャッシュ・サーバー)によって形成されるノードで構成されます。

Coherenceクラスタを作成するには:

  1. ドメインの「構造ウィンドウ」で「環境」をクリックして、「Coherenceクラスタ」をクリックします。「Coherenceクラスタのサマリー」ページで、「新規」をクリックします。「Coherenceクラスタ構成の作成」ウィザードの「Coherenceクラスタのプロパティ」ページで、「名前」フィールドにCoherenceClusterを入力して、「」をクリックします。

    図11-5は、「Coherenceクラスタ構成の作成」ページを示しています。

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

    Coherenceクラスタの作成
    「図11-5 Coherenceクラスタの作成」の説明

  2. ユニキャスト・リスニング・ポート」フィールドに、8085などの値を入力します。他の値は変更しないで、「」をクリックします。

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

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

  3. Coherenceクラスタ構成の作成」ウィザードの「Coherenceクラスタ・ターゲット」ページで、ターゲットとしてServerAServerBを選択します。「終了」をクリックします。

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

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

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

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

    Coherenceクラスタのサマリー
    「図11-8 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. アプリケーション・インストール・アシスタント」を使用して、ServerAおよびServerBcoherence-web-spi.warをライブラリとしてデプロイします。

    1. 図11-9に示されるように、coherence-web-spi.warファイルを探して選択します。WARファイルは、Coherenceインストールのcoherence\libフォルダにあります。「」をクリックします。

      図11-9 デプロイするcoherence-web-spi.warファイルの選択

      デプロイするcoherence-web-spi.jarファイルの選択
      「図11-9 デプロイするcoherence-web-spi.warファイルの選択」の説明

    2. ターゲット指定スタイルの選択」ページで、図11-10に示されるように「このデプロイメントをライブラリとしてインストールする」が選択されていることを確認します。「」をクリックします。

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

      デプロイメントをライブラリとしてインストールする
      「図11-10 デプロイメントをライブラリとしてインストールする」の説明

    3. 図11-11に示されているように、デプロイメントのターゲットとしてServerAServerBを選択します(coherence-web-spi.warAdminServerにはデプロイしないでください)。「」をクリックします。

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

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

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

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

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

    5. アプリケーション・インストール・アシスタント」の残りのステップは、「終了」をクリックして省略できます。アプリケーションのデプロイ後に「デプロイメントのサマリー」ページが表示されます。

  4. 手順1から3を繰り返して、active-cache-1.0.jarServerAServerBにデプロイします(active-cache-1.0.jarAdminServerにはデプロイしないでください)。

    オプション設定」ページに達したら、「デプロイメントを次の場所からアクセス可能にする」オプションを選択します。これは、nostage WLSTオプションを模倣します。

    active-cache-1.0.jarファイルへのパスを入力します。このファイルがWebLogic Serverインストールに組み込まれます。WebLogic ServerがC:\oracle\productにインストールされている場合、このファイルはC:\oracle\product\wls1033\wlserver_10.3\common\deployable-librariesフォルダにあります。

    図11-13 「デプロイメントのサマリー」ページ

    「デプロイメントのサマリー」
    「図11-13 「デプロイメントのサマリー」ページ」の説明

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

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

カウンタWebアプリケーションを作成するには:

  1. 次の手順で標準のWebアプリケーション・フォルダを作成します。

    /
    /WEB-INF
    
  2. 次のコードをテキスト・ファイルにコピーして、/WEB-INFフォルダにweb.xmlと名前を付けて保存します。

    <?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 3.7インストールのcoherence\libフォルダからWEB-INF/libフォルダにcoherence.jarをコピーします。

  5. counter JSPの次のコードをテキスト・ファイルにコピーして、Webアプリケーション・フォルダのルートにcounter.jspと名前を付けて保存します。

    <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. アプリケーション・インストール・アシスタント」を使用して、ServerAおよびServerBcounter.warをデプロイします。「オプション設定」ページで、「ソースのアクセス可能性」セクションの「すべてのターゲットにこのアプリケーションをコピーする」オプションを選択します。

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

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

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

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

ノード・マネージャを起動し、その後WebLogic Server管理コンソールからWebLogic Serverインスタンスを起動します。ノード・マネージャは、Oracle WebLogic Serverとは別のプロセスとして稼働するJavaユーティリティで、管理サーバーを基準とした場所に関係なく、管理対象サーバーに対する共通操作の実行を可能にします。

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

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

    図11-15は、サーバー起動後のデプロイメント表を示しています。

    図11-15 デプロイされたアプリケーションとライブラリが表示された「デプロイメント」ウィンドウ

    アプリケーションがデプロイされた「デプロイメント」ウィンドウ
    「図11-15 デプロイされたアプリケーションとライブラリが表示された「デプロイメント」ウィンドウ」の説明

11.2.11 サンプルの検証

サンプルを検証するには:

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

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

    図11-16に示されるように、カウンタ・ページが表示され、カウンタが1に設定されています。

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

    カウンタが1に設定されたカウンタ・ページ
    「図11-16 カウンタが1に設定されたカウンタ・ページ」の説明

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

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

    図11-17に示されるように、カウンタ・ページが表示され、セッション・データに基づいてカウンタが2に増えています。

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

    カウンタが4に設定されたカウンタ・ページ
    「図11-17 カウンタが2に設定されたカウンタ・ページ」の説明

  3. ページをリフレッシュすると、カウンタが3に増えます。元のブラウザ(またはブラウザ・タブ)に戻り、インスタンスをリフレッシュすると、カウンタに4が表示されます。