ヘッダーをスキップ
Oracle® Complex Event Processing開発者ガイド
11g リリース1 (11.1.1) for Eclipse
B61654-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

20 Oracle CEPアプリケーションのアセンブルとデプロイ

この節では、次の項目について説明します。

20.1 アプリケーションのアセンブリおよびデプロイメントの概要

アプリケーション・アセンブリという用語は、JavaファイルやXML構成ファイルなどのアプリケーションのコンポーネントをOracle CEPにデプロイ可能なOSGIバンドルにパッケージ化するプロセスを表します。アプリケーションのデプロイメントという用語は、Oracle CEPドメインでクライアント・リクエストを処理するためにアプリケーションを利用できるようにする処理を表します。

この項では次について説明します:


注意:

Oracle CEPアプリケーションはSpring FrameworkおよびOSGi Service Platformの上に構築され、それらの技術およびサービスを広範囲にわたり使用します。SpringおよびOSGiに関するリファレンスおよび概念情報へのリンクは、付録A「SpringおよびOSGiに関する追加情報」を参照してください。

20.1.1 アプリケーション

Oracle CEPアセンブリおよびデプロイメントのコンテキスト内で、アプリケーションは次のアーティファクトを含むOSGiバンドル(http://www2.osgi.org/javadoc/r4/org/osgi/framework/Bundle.htmlを参照)JARファイルとして定義されます。

  • アダプタ、アダプタ・ファクトリ、ビジネス・ロジックを格納したPOJOなど、アプリケーションのいくつかのコンポーネントを実装するコンパイル済みJavaクラス・ファイル。

  • アプリケーションのコンポーネントを構成する1つまたは複数のOracle CEP構成XMLファイル。複合イベント・プロセッサは構成ファイルを必要とする唯一のタイプのコンポーネントです。他のすべてのコンポーネント(アダプタおよびストリーム)では、コンポーネントのデフォルトの構成が十分に機能的である場合、構成ファイルは必要ありません。すべての構成ファイルを1つのファイルにまとめたり、または個々のコンポーネントの構成を固有のファイルに分割したりできます。

    バンドルを動的にデプロイする場合は、構成ファイルはOSGiバンドルJARファイルの{META-INF/wlevsディレクトリに格納されている必要があります。アプリケーションがすでにドメイン・ディレクトリ内に存在する場合、構成ファイルは同じディレクトリに抽出する必要があります。

  • アプリケーションのすべてのコンポーネントと、各コンポーネントが相互にどのように接続されているかを記述したEPNアセンブリ・ファイル。

    EPNアセンブリ・ファイルは、OSGiバンドルJARファイルのMETA-INF/springディレクトリにある必要があります。

  • JARファイルのコンテンツを記述するMANIFEST.MFファイル。

20.1.2 アプリケーションの依存関係

OSGIバンドルは、インポートされたパッケージまたは必須のパッケージを指定することで依存関係を宣言します。また、パッケージをエクスポートすることで他のバンドルに機能を提供します。バンドルが他のバンドルに機能を提供する必要がある場合は、Export-Packageを使用して、指定されたパッケージを他のバンドルで参照できるようにする必要があります。エクスポートされないすべてのバンドルはバンドルの外部で使用できません。

設計時に依存関係を定義します。

いくつかの依存関係は、アプリケーションにバンドルされ、アプリケーションとデプロイされるコンポーネントで満たされます。たとえば、標準JARファイルまたはプロパティ・ファイル。

その他の依存関係は、Oracle CEPサーバー・アプリケーション・ライブラリのディレクトリにデプロイされたコンポーネントで満たされます。これらのコンポーネントは、アプリケーションにバンドルされることや、アプリケーションとデプロイされることはありません。

詳細は、次を参照してください:

20.1.3 アプリケーション・ライブラリ

Oracle CEPアプリケーション・ライブラリを使用して、共有ライブラリを便利な場所にデプロイし、Oracle CEPサーバーの起動時にデプロイされる共有ライブラリの順序を完全に制御することができます。

アプリケーション・ライブラリは、コンパイル済のJavaクラスと他の必要なアーティファクトのJavaアーカイブ(JAR)を含むOSGiバンドルです。OSGiの詳細は、付録A「SpringとOSGiに関する追加情報」を参照してください。

アプリケーション・ライブラリは、ドライバまたは外部ステージ(他のダウンストリーム・アプリケーションで役に立つ一部または完全なOracle CEPアプリケーション)などの様々な目的で使用することができます。

プロジェクトに簡単な組込みJARファイルとしてライブラリを追加することができますが、アプリケーション・ライブラリを使用するには、次のいくつかの利点があります。

  • ライブラリの更新バージョンをデプロイするなど、アプリケーション・アセンブリとメンテナンス活動を簡単化します。

  • 再利用を促進します。

  • サーバー・ディスク領域使用量を削減します。

次のOracle CEPサーバー・ディレクトリのいずれかにアプリケーション・ライブラリをデプロイします。

詳細は、次を参照してください:

20.1.3.1 ライブラリ拡張ディレクトリ

Oracle CEPサーバー・ライブラリ拡張ディレクトリはDOMAIN_DIR/servername/modules/extディレクトリです。DOMAIN_DIR/oracle_cep/user_projects/domains/mydomainなどのドメイン・ディレクトリを示し、servernamemyserverなどのサーバー・インスタンスを示します。例:

c:\oracle_cep\user_projects\domains\mydomain\myserver\modules\ext

このディレクトリ内のライブラリが最初にOracle CEPサーバー・モジュールとともにデプロイされます。

ライブラリがドライバ(JDBCドライバなど)である場合、正しい順序でアクティブ化されるようにライブラリ拡張ディレクトリに格納する必要があります。たとえば、以前のバージョンを新しいバージョンでオーバーライドしたり、または代替ドライバへのアクセスを提供するために必要です。

20.1.3.2 ライブラリ・ディレクトリ

Oracle CEPサーバー・ライブラリ・ディレクトリはDOMAIN_DIR/servername/modulesディレクトリです。DOMAIN_DIR/oracle_cep/user_projects/domains/mydomainなどのドメイン・ディレクトリを示し、servernamemyserverなどのサーバー・インスタンスを示します。例:

c:\oracle_cep\user_projects\domains\mydomain\myserver\modules

このディレクトリ内のライブラリは、ライブラリ拡張ディレクトリの後、Oracle CEPアプリケーションの前にデプロイされます。

ライブラリがドライバ(JDBCドライバなど)である場合、20.1.3.1項「ライブラリ拡張ディレクトリ」に従って、ライブラリ拡張ディレクトリに格納する必要があります。

20.1.4 デプロイメントおよびデプロイメント順序

アプリケーションをアセンブルした後、適切なデプロイメント・ツールを使用してOracle CEP domainに認識されるようにしてアプリケーションをデプロイします。手順の詳細は、20.4項「Oracle CEPアプリケーションのデプロイ」を参照してください。

Oracle CEPサーバーは、Oracle CEPサーバー起動時に次の順序でコンポーネントをデプロイします。

  1. ライブラリをライブラリ拡張ディレクトリにデプロイします(DOMAIN_DIR/servername/modules/extディレクトリ)。

  2. ライブラリをライブラリ・ディレクトリにデプロイします(DOMAIN_DIR/servername/modulesディレクトリ)。

  3. Oracle CEPアプリケーションをデプロイします。

Oracle CEPサーバーは、ライブラリ名の字句順序に基づいて、ライブラリ拡張ディレクトリとライブラリ・ディレクトリの両方からライブラリをデプロイします。字句順序には、相対ディレクトリ名に加えてJARファイル名も含まれます。

例:

  • modules/a.jarmodules/b.jarの前に開始されます。

  • 字句順序で0/my.jarmy.jarの前になるため、modules/0/my.jarmodule/my.jarの前に開始されます。

このルールに従って、単にライブラリ拡張ディレクトリまたはライブラリ・ディレクトリのいずれかの適切に名付けられたサブディレクトリにJARファイルを整理することで、Oracle CEPサーバーがJARファイルをデプロイする順序を制御することができます。

アプリケーションがOracle CEPにデプロイされると、構成されたアダプタでは金融データ・フィードなどの構成されたイベントに対するリスニングがただちに開始されます。

詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。

20.1.5 構成履歴の管理

アプリケーションをOracle CEPサーバーにデプロイする場合、CEPサーバーはアプリケーションの構成履歴を作成します。ルールまたはOracle CEP高可用性アダプタの構成を変更すると、この履歴に記録されます。Oracle CEP Visualizerまたはwlevs.Adminツールを使用して、これらの変更を表示し、ロールバックする(変更を元に戻す)ことができます。

詳細は、次を参照してください:

  • 『Oracle CEP Visualizerユーザー・ガイド』の構成履歴の管理に関する項

  • 『Oracle CEP管理者ガイド』の構成履歴を管理するコマンドに関する項

20.2 Oracle CEPアプリケーションのアセンブル

Oracle CEPアプリケーションのアセンブルとは、http://www2.osgi.org/javadoc/r4/org/osgi/framework/Bundle.htmlで説明されているように、アプリケーションを構成するアーティファクトをOSGiバンドルJARファイルにバンドリングすることを意味します。アーティファクトには、次のものが含まれます。

SpringおよびOSGiに関するリファレンスおよび概念情報へのリンクは、付録A「SpringおよびOSGiに関する追加情報」を参照してください。

この項では次について説明します:

20.2.1 Oracle CEP IDE for Eclipseを使用したOracle CEPアプリケーションのアセンブル

Oracle CEP IDE for Eclipseを使用して、Oracle CEPアプリケーションを簡単にアセンブリできます。

詳細は、次を参照してください:

アプリケーションが外部ステージに依存している場合、20.2.3項「外部ステージにおけるアプリケーションのアセンブリ」を参照してください。

20.2.2 Oracle CEPアプリケーションの手動アセンブル

オプションで、Oracle CEPアプリケーションを手動でアセンブルできます。

簡略化のために、次の手順では必要なアーティファクトを含む一時ディレクトリを作成し、その後でこの一時ディレクトリのコンテンツをjarファイルに構築します。これは単に推奨される方法であり、この方法でアプリケーションをアセンブルすることは必須ではありません。


注意:

次に記述したステップの多くを実行できるbuild.xml Antファイルについては、HelloWorldサンプル・ソース・ディレクトリを参照してください。build.xmlファイルは、ORACLE_CEP_HOME\ocep_11.1\samples\source\applications\helloworldにあり、ORACLE_CEP_HOMEd:\oracle_cepなど、主なOracle CEPインストール・ディレクトリを示します。

Oracle CEPアプリケーションを手動でアセンブルするには:

  1. コマンド・ウィンドウを開き、『Oracle CEPスタート・ガイド』の開発環境の設定の説明に従って、環境を設定します。

  2. outputなどの空のディレクトリを作成します。

    prompt> mkdir output
    
  3. すべてのアプリケーションJavaファイルをoutputディレクトリにコンパイルします。

  4. output/META-INF/springディレクトリを作成します。

  5. アプリケーションのコンポーネントと各コンポーネントの接続が記述されたEPNアセンブリ・ファイルをoutput/META-INF/springディレクトリにコピーします。

    このファイルの詳細は、3.3項「EPNアセンブリ・ファイルの作成」を参照してください。

  6. output/META-INF/wlevsディレクトリを作成します。

  7. アプリケーションのコンポーネント(プロセッサやアダプタなど)を構成するXMLファイルをoutput/META-INF/wlevsディレクトリにコピーします。

    1.1項「Oracle CEPプログラミング・モデルの概要」の説明に従って、アプリケーションの作成中にこれらのXMLファイルを作成します。

  8. バンドルに関する説明情報を含むMANIFEST.MFファイルを作成します。

    20.2.2.1項「MANIFEST.MFファイルの作成」を参照してください。

  9. Oracle CEPアプリケーションからサードパーティJARファイルにアクセスする必要がある場合は、20.2.2.2項「サードパーティJARファイルへのアクセス」を参照してください。

  10. outputディレクトリのコンテンツを含むJARファイルを作成します。

    デフォルト・マニフェスト・ファイルではなく、必ず前のステップで作成したMANIFEST.MFファイルを指定します。

    JARファイルには任意の名前を付けることができます。Oracle CEPのサンプルでは、Javaパッケージの名前とバージョンを組み合わせた次のようなJARファイル名を使用します。

    com.bea.wlevs.example.helloworld_1.0.0.0.jar
    

    サーバーにデプロイされているバンドルを明確にするため、同じようなネーミング・ルールを使用することを検討してください。

    jarタスクの使用方法の詳細は、http://ant.apache.org/manual/CoreTasks/jar.htmlのApache Antドキュメントを参照し、jarコマンド・ライン・ツールの使用方法の詳細は、http://java.sun.com/javase/6/docs/technotes/tools/windows/jar.htmlのJava SEドキュメントを参照をしてください。

  11. アプリケーションが外部ステージに依存している場合、20.2.3項「外部ステージにおけるアプリケーションのアセンブリ」を参照してください。

20.2.2.1 MANIFEST.MFファイルの作成

MANIFEST.MFファイルの構造およびコンテンツはOSGi Frameworkによって指定されます。ファイル内の多くのヘッダーの値はアプリケーションまたはビジネスに固有ですが、多くのヘッダーはOracle CEPで必須です。

特に、MANIFEST.MFファイルでは次のものが定義されます。

  • アプリケーション名: Bundle-Nameヘッダーで指定されます。

  • シンボリック・アプリケーション名: Bundle-SymbolicNameヘッダーで指定されます。

    wlevs.AdminユーティリティやJMXサブシステムなど、多くのOracle CEPツールは、アプリケーションを参照する場合にバンドルのシンボリック名を使用します。

  • アプリケーションのバージョン: Bundle-Versionヘッダーで指定されます。

  • インポートされたパッケージ: Import-Packageヘッダーで指定されます。

    Oracle CEPでは、少なくとも次のパッケージをインポートする必要があります。

    Import-Package:  
     com.bea.wlevs.adapter.defaultprovider;version="11.1.1.1_0",
     com.bea.wlevs.ede;version="11.1.1.1_0",
     com.bea.wlevs.ede.api;version="11.1.1.1_0",
     com.bea.wlevs.ede.impl;version="11.1.1.1_0",
     org.osgi.framework;version="1.3.0",
     org.springframework.beans.factory;version="2.5.6",
     org.apache.commons.logging;version="1.1.0",
     com.bea.wlevs.spring;version="11.1.1.1_0",
     com.bea.wlevs.util;version="11.1.1.1_0",
     org.springframework.beans;version="2.5.6",
     org.springframework.util;version="2.0",
     org.springframework.core.annotation;version="2.5.6",
     org.springframework.beans.factory;version="2.5.6",
     org.springframework.beans.factory.config;version="2.5.6",
     org.springframework.osgi.context;version="1.2.0",
     org.springframework.osgi.service;version="1.2.0"
    

    アダプタの構成を拡張した場合は、次のパッケージもインポートする必要があります。

     javax.xml.bind;version="2.0",
     javax.xml.bind.annotation;version=2.0,
     javax.xml.bind.annotation.adapters;version=2.0,
     javax.xml.bind.attachment;version=2.0,
     javax.xml.bind.helpers;version=2.0,
     javax.xml.bind.util;version=2.0,
     com.bea.wlevs.configuration;version="11.1.1.1_0",
     com.bea.wlevs.configuration.application;version="11.1.1.1_0",
     com.sun.xml.bind.v2;version="2.0.2"
    
  • エクスポートされたパッケージ: Export-Packageヘッダーで指定されます。このヘッダーは、1つ以上のアプリケーション・クラスを、デプロイされている他のアプリケーションと共有する必要がある場合にのみ指定します。一般的な例には、イベント・タイプJavaBeanの共有などがあります。

    可能な場合は、実装クラス自体の代わりにインタフェースのみが含まれるパッケージをエクスポートします。エクスポートされたクラスが他のアプリケーションで使用中である場合、クラスをエクスポートしているアプリケーションを完全にアンデプロイすることはできなくなります。

    エクスポートされたパッケージはサーバー全体で利用されるため、必ずサーバー全体で一意の名前を使用します。

次の完全なMANIFEST.MFファイルはHelloWorldのサンプルで、アダプタの構成が拡張されています。

Manifest-Version: 1.0
Archiver-Version:
Build-Jdk: 1.6.0_06
Extension-Name: example.helloworld
Specification-Title: 1.0.0.0
Specification-Vendor: Oracle.
Implementation-Vendor: Oracle.
Implementation-Title: example.helloworld
Implementation-Version: 1.0.0.0
Bundle-Version: 11.1.1.1_0
Bundle-ManifestVersion: 1
Bundle-Vendor: Oracle.
Bundle-Copyright: Copyright (c) 2006 by Oracle.
Import-Package: com.bea.wlevs.adapter.defaultprovider;version="11.1.1.1_0",
 com.bea.wlevs.ede;version="11.1.1.1_0",
 com.bea.wlevs.ede.impl;version="11.1.1.1_0",
 com.bea.wlevs.ede.api;version="11.1.1.1_0",
 org.osgi.framework;version="1.3.0",
 org.apache.commons.logging;version="1.1.0",
 com.bea.wlevs.spring;version="11.1.1.1_0",
 com.bea.wlevs.util;version="11.1.1.1_0",
 net.sf.cglib.proxy,
 net.sf.cglib.core,
 net.sf.cglib.reflect,
 org.aopalliance.aop,
 org.springframework.aop.framework;version="2.5.6",
 org.springframework.aop;version="2.5.6",
 org.springframework.beans;version="2.5.6",
 org.springframework.util;version="2.0",
 org.springframework.core.annotation;version="2.5.6",
 org.springframework.beans.factory;version="2.5.6",
 org.springframework.beans.factory.config;version="2.5.6",
 org.springframework.osgi.context;version="1.2.0",
 org.springframework.osgi.service;version="1.2.0",
 javax.xml.bind;version="2.0",
 javax.xml.bind.annotation;version=2.0,
 javax.xml.bind.annotation.adapters;version=2.0,
 javax.xml.bind.attachment;version=2.0,
 javax.xml.bind.helpers;version=2.0,
 javax.xml.bind.util;version=2.0,
 com.bea.wlevs.configuration;version="11.1.1.1_0",
 com.bea.wlevs.configuration.application;version="11.1.1.1_0",
 com.sun.xml.bind.v2;version="2.0.2"
Bundle-Name: example.helloworld
Bundle-Description: WLEvS example helloworld
Bundle-SymbolicName: helloworld

20.2.2.2 サードパーティJARファイルへのアクセス

Oracle CEPアプリケーションの作成時には、既存のサードパーティJARファイル内のレガシー・ライブラリにアクセスする必要がある場合があります。このレガシー・コードへのアクセスを保証する2つの方法があります。

20.2.2.2.1 Bundle-Classpathを使用したサードパーティJARファイルへのアクセス

Oracle CEPアプリケーションJARファイルにサードパーティJARファイルをパッケージ化することをお薦めします。JARファイルは、任意の場所に保存できます。


注意:

このアプローチでは、JARファイルのロード順序をほとんど制御できず、依存関係の競合が発生する可能性があります。このため、Oracle CEPサーバー・アプリケーション・ライブラリの方法をお薦めします。詳細は、20.1.3項「アプリケーション・ライブラリ」を参照してください。

ただし、MANIFEST.MFファイルにBundle-Classpathヘッダーを追加し、アプリケーション・クラス・パスを更新することにより、Oracle CEPアプリケーションによるサードパーティJARファイルでのクラスの検出を保証する必要があります。Bundle-Classpathをクラスおよびリソースの検索先となるJARファイル・パス名のカンマ区切りのリストに設定します。バンドル自身を指定するには、ピリオド(.)を使用します。例:

Bundle-Classpath: ., commons-logging.jar, myExcitingJar.jar, myOtherExcitingJar.jar

ネイティブ・ライブラリにアクセスする必要がある場合は、ネイティブ・ライブラリもJARファイルにパッケージ化し、MANIFEST.MFファイルのBundle-NativeCodeヘッダーを使用してJARでのその場所を指定する必要があります。

詳細は、3.7.1項「標準JARファイルをOracle CEPプロジェクトに追加する方法」を参照してください。

20.2.2.2.2 -Xbootclasspathを使用したサードパーティJARファイルへのアクセス

JDBCドライバなどのOracle CEPにデプロイされているすべてのアプリケーションで使用されるライブラリがJARファイルに含まれている場合は、サーバー・インスタンスの起動に使用するスクリプト内のjavaコマンドに-Xbootclasspath/aオプションを指定することで、JARファイルをサーバーのブート・クラスパスに追加できます。


注意:

このアプローチでは、JARファイルのロード順序をほとんど制御できず、依存関係の競合が発生する可能性があります。このため、Oracle CEPサーバー・アプリケーション・ライブラリの方法をお薦めします。詳細は、20.1.3項「アプリケーション・ライブラリ」を参照してください。

サーバー起動スクリプト名はstartwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)で、スクリプトはドメイン・ディレクトリ内のサーバー・ディレクトリにあります。すぐに使用できるように用意されているサンプル・ドメインはORACLE_CEP_HOME/ocep_11.1/samples/domainsにあり、ユーザー・ドメインはORACLE_CEP_HOME/user_projects/domainsにあります。ORACLE_CEP_HOMEは、d:\oracle_cepなどのOracle CEPの主なインストール・ディレクトリです。

wlevs_2.0.jarファイルを実行するjavaコマンドに-Xbootclasspath/aオプションを追加して、起動スクリプトを更新します。システム全体でアクセスするサードパーティJARファイルのフルパス名に-Xbootclasspath/aオプションを設定します。

たとえば、デプロイされているすべてのアプリケーションからe:\jars\myExcitingJAR.jarというJARファイルにアクセスできるようにする場合は、起動スクリプトのjavaコマンドを次のように更新します(太字部分が更新箇所です)。

  %JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%  -Xbootclasspath/a:e:\jars\myExcitingJAR.jar -jar "%USER_INSTALL_DIR%\bin\wlevs_2.0.jar" -disablesecurity %1 %2 %3 %4 %5 %6 

20.2.3 外部ステージでアプリケーションのアセンブリ

外部ステージに依存しているアプリケーションをアセンブルするとき、クラスパス依存関係に注意してください。図20-1に示したアプリケーションの依存関係グラフを考慮してください。

図20-1 外部ステージ依存関係グラフ

図20-1の説明が続きます
「図20-1 外部ステージ依存関係グラフ」の説明

この例では、アプリケーションAはアプリケーションBに、アプリケーションBはアプリケーションCに、アプリケーションCはアプリケーションAに依存します。アプリケーションCは、Java Beanイベント・タイプMarketEvent用のイベント・タイプ・クラスを宣言し、エクスポートします。アプリケーションAとBは、アプリケーションCによって提供されたMarketEventクラスをインポートします。

次の点に注意してください。

  • 外部ステージを再デプロイする場合、そのアプリケーションまたは外部ステージに依存するすべての外部ステージを再デプロイする必要があります。

    たとえば、アプリケーションBを再デプロイする場合、アプリケーションAも再デプロイする必要があります。

  • 1つの外部ステージと他のステージの間にクラスパスの依存関係がある場合、共有クラスを宣言し、エクスポートする外部ステージをデプロイするときは、共有クラスをインポートするすべての外部ステージを再デプロイする必要があります。

    たとえば、アプリケーションCを再デプロイする場合、アプリケーションC(MarketEvent)とクラスパスの依存関係がアプリケーションAとBも再デプロイする必要があります。

詳細は、次を参照してください:

20.3 アプリケーション・ライブラリの管理

Oracle CEPアプリケーション・ライブラリを使用して、共有ライブラリを便利な場所にデプロイし、Oracle CEPサーバーの起動時にデプロイする共有ライブラリの順序を完全に制御できます。

この項では、次の項を含めて、Oracle CEPサーバー・アプリケーション・ライブラリを管理する方法について説明します。

詳細は、20.1.3項「アプリケーション・ライブラリ」を参照してください。

20.3.1 Oracle CEP IDE for Eclipseを使用したアプリケーション・ライブラリのディレクトリの定義方法

Oracle CEPサーバー・アプリケーション・ライブラリを使用する前に、Oracle CEP IDE for Eclipseデザイン・タイム構成をアプリケーション・ライブラリのディレクトリの場所で更新する必要があります。

詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。

Oracle CEP IDE for Eclipseを使用してアプリケーション・ライブラリのディレクトリを定義するには、

  1. Oracle CEP IDE for Eclipseを起動します。

  2. プロジェクトを右クリックして、「プロパティ」を選択します。

    図20-2に示すような「プリファレンス」ダイアログが表示されます。

    図20-2 「プリファレンス」ダイアログ: アプリケーション・ライブラリのパス

    図20-2の説明が続きます
    「図20-2 「プリファレンス」ダイアログ: アプリケーション・ライブラリのパス」の説明

  3. 「Oracle CEPアプリケーション・ライブラリのパス」を選択します。

  4. 表20-1の説明に従って、アプリケーション・ライブラリのパスを指定します。

    表20-1 Oracle CEPアプリケーション・ライブラリのパス

    オプション 説明

    「絶対パスを使用」

    アプリケーション・ライブラリのディレクトリに絶対パスを指定するにはこのオプションを選択します。

    20.3.1.1項「絶対パスの構成方法」を参照してください。

    「パス変数の拡張」

    パス変数に基づいてアプリケーション・ライブラリを指定するにはこのオプションを選択します。

    20.3.1.2項「パス変数の拡張する方法」を参照してください。


20.3.1.1 絶対パスの構成方法

アプリケーション・ライブラリ・パスを絶対パスとして指定できます。チーム環境では、20.3.1.2項「パス変数の拡張する方法」の説明に従って、パス変数に基づくアプリケーション・ライブラリ・パスを指定する方がより便利です。

絶対パスを構成するには:

  1. 「参照」ボタンをクリックして、ファイル・システム・ブラウザを開きます。

  2. ファイル・システム・ブラウザを使用して、ディレクトリを選択します。


    注意:

    ディレクトリはOracle CEPサーバー・ドメインに存在する必要があります。詳細は、4.2項「Oracle CEPサーバーの作成」を参照してください。

  3. 「OK」をクリックします。

  4. 「適用」をクリックします。

  5. 「OK」をクリックします。

20.3.1.2 パス変数を拡張する方法

パス変数を拡張することで、アプリケーション・ライブラリ・パスを指定できます。これは、最もフレキシブルなアプローチであり、チーム環境に適切です。あるいは、20.3.1.1項「絶対パスの構成方法」に従って、絶対パスでアプリケーション・ライブラリを指定できます。

パス変数を拡張するには:

  1. 「変数」ボタンをクリックします。

    図20-3に示すようにパス変数の選択ダイアログが表示されます。

    図20-3 パス変数の選択ダイアログ

    図20-3の説明が続きます
    「図20-3 パス変数の選択ダイアログ」の説明

  2. 「新規」をクリックします。

    図20-4に示すような新しい変数ダイアログが表示されます。

    図20-4 新しい変数ダイアログ

    図20-4の説明が続きます
    「図20-4 新しい変数ダイアログ」の説明

  3. 表20-2で説明されているように、新しい変数ダイアログを構成します。

    表20-2 Oracle CEPアプリケーション・ライブラリ・パス変数

    オプション 説明

    名前

    変数の名前を入力します。

    「ロケーション」

    「フォルダ」ボタンをクリックして、ファイル・システム・ブラウザを開きます。アプリケーション・ライブラリのディレクトリを使用するには、ルートディレクトリを選択します。

    注意: ディレクトリをOracle CEPサーバー・ドメインに依存する必要があります。詳細は、4.2項「Oracle CEPサーバーの作成」を参照してください。


  4. 「OK」をクリックします。

    図20-5で示したとおり、パス変数の選択ダイアログに新しいパス変数が表示されます。

    図20-5 パス変数の選択(当該変数名が表示)

    図20-5の説明が続きます
    「図20-5 パス変数の選択(当該変数名が表示)」の説明

  5. オプションで、変数を選択し、「拡張」をクリックします。

    図20-6に示すように、変数の拡張ダイアログが表示されます。このダイアログには、この変数のために指定したルートディレクトリの下にあるすべてのディレクトリが表示されます。

    図20-6 変数の拡張ダイアログ

    図20-6の説明が続きます
    「図20-6 変数の拡張ダイアログ」の説明

  6. サブディレクトリを選択して、「OK」をクリックします。

    アプリケーション・ライブラリ・パスは、図20-7で示すように定義した変数パスに対して相対的に指定します。

    図20-7 「プリファレンス」ダイアログ(アプリケーション・ライブラリ・パスとパス変数)

    図20-7の説明が続きます
    「図20-7 「プリファレンス」ダイアログ(アプリケーション・ライブラリ・パスとパス変数)」の説明

  7. 「適用」をクリックします。

  8. 「OK」をクリックします。

20.3.2 Oracle CEP IDE for Eclipseを使用してアプリケーション・ライブラリを更新する方法

アプリケーション・ライブラリ拡張、アプリケーション・ライブラリ・ディレクトリまたはそれらのユーザー定義のサブディレクトリでJARファイルの追加、置き換えまたは解除を行う場合、次の2つの場所で変更を加える必要があります。

  • Oracle CEP IDE for Eclipseでサーバーのランタイムを作成するために使用したローカルOracle CEPサーバー。

  • 依存アプリケーションをデプロイされた本番Oracle CEPサーバー。

これらの変更は、同時に実行する必要がありません。アプリケーション・ライブラリの変更に依存するプロジェクトのコードを変更する前に、ローカルOracle CEPサーバーに変更を加える必要があります。アプリケーション・ライブラリの変更に依存するアプリケーションをデプロイする前に、本番Oracle CEPサーバーに変更を加える必要があります。

詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。

Oracle CEP IDE for Eclipseを使用してアプリケーション・ライブラリを更新するには:

  1. 本番Oracle CEPサーバー上のアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリに新しいまたは改訂されたバンドルを追加します。

    これは、このアプリケーション・ライブラリに依存するアプリケーションをデプロイするサーバーです。

    ライブラリ・デプロイメント順序を管理するには、適切に命名したサブディレクトリでライブラリを整理します。詳細は、20.1.4項「デプロイメントとデプロイメント順序」を参照してください。

  2. 本番Oracle CEPサーバーを停止および起動します。

    Oracle CEPサーバーは、更新されたアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリからリフレッシュします。

    詳細は、次を参照してください:

    • 『Oracle CEP管理者ガイド』のスタンドアロン・サーバー・ドメインにおけるOracle CEPサーバーの起動と停止に関する項

    • 『Oracle CEP管理者ガイド』のマルチサーバー・ドメインにおけるOracle CEPサーバーの起動と停止に関する項

  3. Oracle CEP IDE for EclipseターゲットのランタイムOracle CEPサーバー上のアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリに同じ新規または改訂されたバンドルを追加します。

  4. Oracle CEP IDE for Eclipseを起動します。

  5. プロジェクトを右クリックし、「ターゲットのランタイムをリフレッシュ」を選択します。

    Oracle CEP IDE for Eclipseは、Oracle CEP IDE for EclipseターゲットのランタイムOracle CEPサーバー上の更新されたアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリからこのプロジェクトをリフレッシュします。

  6. 必要に応じて、アプリケーション依存性を更新します。

    たとえば、新規バンドルを追加するか、または既存のバンドルのバージョンを変更します。

    詳細は、20.1.2項「アプリケーション依存関係」を参照してください。

  7. 本番Oracle CEPサーバーにアプリケーションをアセンブルし、デプロイします。

    詳細は、20.4項「Oracle CEPアプリケーションのデプロイ」を参照してください。

    開発時に、このアプリケーション向けにOracle CEP IDE for Eclipseに定義した依存関係は、実行時に本番Oracle CEPサーバーのアプリケーション・ライブラリでインストールされたコンポーネントによって満たされます。

20.3.3 Oracle CEP Visualizerを使用したアプリケーション・ライブラリの表示方法

Oracle CEP Visualizerを使用して、Oracle CEPサーバーにデプロイされたアプリケーション・ライブラリを表示できます。

ライブラリ拡張ディレクトリとライブラリ・ディレクトリ、そのいずれからもライブラリを表示できます。

詳細は、次を参照してください:

20.4 Oracle CEPアプリケーションのデプロイ

Oracle CEPアプリケーションをアセンブルし、それをOracle CEPサーバー・ドメインにデプロイします。

この項では次について説明します:

詳細は、次を参照してください:

20.4.1 Oracle CEP IDE for Eclipseを使用してOracle CEPアプリケーションをデプロイする方法

Oracle CEP IDE for Eclipseを使用して、Oracle CEPアプリケーションをデプロイします。

Oracle CEP IDE for Eclipseを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイします。


注意:

外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。

Oracle CEP IDE for Eclipseを使用してOracle CEPアプリケーションをデプロイするには:

  1. Oracle CEPアプリケーションのアセンブル

    20.2項「Oracle CEPアプリケーションのアセンブル」

  2. アプリケーションをデプロイするには、Oracle CEP IDE for Eclipseを使用します。

    4.3.6項「Oracle CEPサーバーにアプリケーションをデプロイする方法」

20.4.2 Oracle CEP Visualizerを使用してOracle CEPアプリケーションをデプロイする方法

Oracle CEPアプリケーションをOracle CEPサーバー・ドメインにデプロイする最も簡単な方法は、Oracle CEP Visualizerを使用することです。

Oracle CEP Visualizerを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイできます。


注意:

外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。

Oracle CEP Visualizerを使用してOracle CEPアプリケーションをデプロイするには:

  1. Oracle CEPアプリケーションのアセンブル

    20.2項「Oracle CEPアプリケーションのアセンブル」

  2. Oracle CEP Visualizerを起動します。

    4.3.9項「Oracle CEP IDE for EclipseからOracle CEP Visualizerを起動する方法」

  3. Oracle CEP Visualizerを使用してアプリケーションをデプロイします。

    『Oracle CEP Visualizerユーザー・ガイド』のアプリケーションのデプロイに関する項を参照してください。

20.4.3 デプロイヤ・ユーティリティを使用してOracle CEPアプリケーションをデプロイする方法

次の手順では、デプロイヤ・コマンド・ライン・ユーティリティを使用してOracle CEPにアプリケーションをデプロイする方法について説明します。

デプロイヤを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイできます。

詳細は、『Oracle CEP管理者ガイド』のデプロイヤ・コマンド・ライン・リファレンスに関する項を参照してください。


注意:

外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。

デプロイヤ・ユーティリティを使用してOracle CEPアプリケーションをデプロイするには:

  1. Oracle CEPアプリケーションのアセンブル

    20.2項「Oracle CEPアプリケーションのアセンブル」

  2. コマンド・ウィンドウを開き、『Oracle CEPスタート・ガイド』の開発環境の設定の説明に従って、環境を設定します。

  3. CLASSPATH変数を更新して、ORACLE_CEP_HOME/ocep_11.1/binディレクトリにあるwlevsdeploy.jar JARファイルを指定します。ORACLE_CEP_HOMEは、/oracle_cepなどの主なOracle CEPインストール・ディレクトリを示します。


    注意:

    リモート・コンピュータ上でデプロイヤを実行する場合、『Oracle CEP管理者ガイド』のリモートでのデプロイヤ・ユーティリティの実行に関する項を参照してください。

  4. アプリケーションをデプロイするOracle CEPインスタンスでJettyが構成されていることを確認してください。

    詳細は、『Oracle CEP管理者ガイド』のOracle CEP用Jettyの構成に関する項を参照してください。

  5. コマンド・ウィンドウで、次の構文を使用して、アプリケーションをインストールする Deployer ユーティリティを実行します。

    prompt> java -jar wlevsdeploy.jar -url http://host:port/wlevsdeployer -user user -password password -install application_jar_file
    

    説明

    • hostは、Oracle CEPが実行しているコンピュータのホスト名です。

    • portは、Oracle CEPがリスニングしているポート番号であり、デフォルト値は9002です。

      このポートは、Oracle CEPドメインを記述するDOMAIN_DIR/config/config.xmlファイルに指定されています。DOMAIN_DIRは、ドメイン・ディレクトリです。

      ポート番号は、<Netio>要素の<Port>子要素の値です。

      <Netio>
          <Name>NetIO</Name>
          <Port>9002</Port>
      </Netio>
      
    • userは、Oracle CEP管理者のユーザー名です。

    • passwordは、Oracle CEP管理者のパスワードです。

    • application_jar_fileは、20.2項「Oracle CEPアプリケーションのアセンブル」の説明に従ってOSGiバンドルにアセンブルされたアプリケーションJARファイルです。このファイルは、デプロイヤ・ユーティリティが実行される同じコンピュータに置かれている必要があります。

      たとえば、Oracle CEPはホストariel上で実行中で、ポート9002にリスニングしており、管理者のユーザー名とパスワードがwlevs/wlevsであり、アプリケーションJARファイルmyapp_1.0.0.0.jar/applicationsディレクトリに置かれている場合、コマンドは次のようになります。

      prompt> java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs -install /applications/myapp_1.0.0.0.jar
      

    アプリケーションJARファイルが正常にインストールされ、初期化タスクが完了したら、Oracle CEPではアプリケーションが自動的に起動され、アダプタ・コンポーネントでは着信イベントのリスニングがただちに開始されます。

    デプロイヤ・ユーティリティでは、アプリケーションJARファイルの再開、中断、更新、およびアンインストールや、マルチサーバー・ドメインの指定されたグループへのアプリケーションのデプロイなどの追加オプションが提供されます。詳細は、『Oracle CEP管理者ガイド』のデプロイヤ・コマンド・ライン・リファレンスに関する項を参照してください。

    Oracle CEPは、deployments.xmlファイルを使用して、デプロイ済アプリケーションのOSGiバンドルのリストを内部的に維持します。このファイルは、DOMAIN_DIR/servernameディレクトリにあります。DOMAIN_DIRは、メイン・ドメイン・ディレクトリであり、アプリケーションのデプロイ先となるサーバー・インスタンスに対応します。servernameは、実際のサーバーです。このファイルの詳細は、付録B「デプロイメント・スキーマdeployment.xsd」を参照してください。この情報はあくまでも参考として示しています。deployments.xmlファイルを手動で更新することはお薦めしません。