この節では、次の項目について説明します。
アプリケーション・アセンブリという用語は、JavaファイルやXML構成ファイルなどのアプリケーションのコンポーネントをOracle CEPにデプロイ可能なOSGIバンドルにパッケージ化するプロセスを表します。アプリケーションのデプロイメントという用語は、Oracle CEPドメインでクライアント・リクエストを処理するためにアプリケーションを利用できるようにする処理を表します。
この項では次について説明します:
注意: Oracle CEPアプリケーションはSpring FrameworkおよびOSGi Service Platformの上に構築され、それらの技術およびサービスを広範囲にわたり使用します。SpringおよびOSGiに関するリファレンスおよび概念情報へのリンクは、付録A「SpringおよびOSGiに関する追加情報」を参照してください。 |
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
ファイル。
OSGIバンドルは、インポートされたパッケージまたは必須のパッケージを指定することで依存関係を宣言します。また、パッケージをエクスポートすることで他のバンドルに機能を提供します。バンドルが他のバンドルに機能を提供する必要がある場合は、Export-Package
を使用して、指定されたパッケージを他のバンドルで参照できるようにする必要があります。エクスポートされないすべてのバンドルはバンドルの外部で使用できません。
設計時に依存関係を定義します。
いくつかの依存関係は、アプリケーションにバンドルされ、アプリケーションとデプロイされるコンポーネントで満たされます。たとえば、標準JARファイルまたはプロパティ・ファイル。
その他の依存関係は、Oracle CEPサーバー・アプリケーション・ライブラリのディレクトリにデプロイされたコンポーネントで満たされます。これらのコンポーネントは、アプリケーションにバンドルされることや、アプリケーションとデプロイされることはありません。
詳細は、次を参照してください:
Oracle CEPアプリケーション・ライブラリを使用して、共有ライブラリを便利な場所にデプロイし、Oracle CEPサーバーの起動時にデプロイされる共有ライブラリの順序を完全に制御することができます。
アプリケーション・ライブラリは、コンパイル済のJavaクラスと他の必要なアーティファクトのJavaアーカイブ(JAR)を含むOSGiバンドルです。OSGiの詳細は、付録A「SpringとOSGiに関する追加情報」を参照してください。
アプリケーション・ライブラリは、ドライバまたは外部ステージ(他のダウンストリーム・アプリケーションで役に立つ一部または完全なOracle CEPアプリケーション)などの様々な目的で使用することができます。
プロジェクトに簡単な組込みJARファイルとしてライブラリを追加することができますが、アプリケーション・ライブラリを使用するには、次のいくつかの利点があります。
ライブラリの更新バージョンをデプロイするなど、アプリケーション・アセンブリとメンテナンス活動を簡単化します。
再利用を促進します。
サーバー・ディスク領域使用量を削減します。
次のOracle CEPサーバー・ディレクトリのいずれかにアプリケーション・ライブラリをデプロイします。
詳細は、次を参照してください:
『Oracle CEP管理者ガイド』のアプリケーション・ライブラリを使用したデータベース・ドライバにアクセスする方法に関する項
Oracle CEPサーバー・ライブラリ拡張ディレクトリはDOMAIN_DIR
/
servername
/modules/ext
ディレクトリです。DOMAIN_DIR
は/oracle_cep/user_projects/domains/mydomain
などのドメイン・ディレクトリを示し、servername
はmyserver
などのサーバー・インスタンスを示します。例:
c:\oracle_cep\user_projects\domains\mydomain\myserver\modules\ext
このディレクトリ内のライブラリが最初にOracle CEPサーバー・モジュールとともにデプロイされます。
ライブラリがドライバ(JDBCドライバなど)である場合、正しい順序でアクティブ化されるようにライブラリ拡張ディレクトリに格納する必要があります。たとえば、以前のバージョンを新しいバージョンでオーバーライドしたり、または代替ドライバへのアクセスを提供するために必要です。
Oracle CEPサーバー・ライブラリ・ディレクトリはDOMAIN_DIR
/
servername
/modules
ディレクトリです。DOMAIN_DIR
は/oracle_cep/user_projects/domains/mydomain
などのドメイン・ディレクトリを示し、servername
はmyserver
などのサーバー・インスタンスを示します。例:
c:\oracle_cep\user_projects\domains\mydomain\myserver\modules
このディレクトリ内のライブラリは、ライブラリ拡張ディレクトリの後、Oracle CEPアプリケーションの前にデプロイされます。
ライブラリがドライバ(JDBCドライバなど)である場合、20.1.3.1項「ライブラリ拡張ディレクトリ」に従って、ライブラリ拡張ディレクトリに格納する必要があります。
アプリケーションをアセンブルした後、適切なデプロイメント・ツールを使用してOracle CEP domainに認識されるようにしてアプリケーションをデプロイします。手順の詳細は、20.4項「Oracle CEPアプリケーションのデプロイ」を参照してください。
Oracle CEPサーバーは、Oracle CEPサーバー起動時に次の順序でコンポーネントをデプロイします。
ライブラリをライブラリ拡張ディレクトリにデプロイします(DOMAIN_DIR
/
servername
/modules/ext
ディレクトリ)。
ライブラリをライブラリ・ディレクトリにデプロイします(DOMAIN_DIR
/
servername
/modules
ディレクトリ)。
Oracle CEPアプリケーションをデプロイします。
Oracle CEPサーバーは、ライブラリ名の字句順序に基づいて、ライブラリ拡張ディレクトリとライブラリ・ディレクトリの両方からライブラリをデプロイします。字句順序には、相対ディレクトリ名に加えてJARファイル名も含まれます。
例:
modules/a.jar
がmodules/b.jar
の前に開始されます。
字句順序で0/my.jar
はmy.jar
の前になるため、modules/0/my.jar
はmodule/my.jar
の前に開始されます。
このルールに従って、単にライブラリ拡張ディレクトリまたはライブラリ・ディレクトリのいずれかの適切に名付けられたサブディレクトリにJARファイルを整理することで、Oracle CEPサーバーがJARファイルをデプロイする順序を制御することができます。
アプリケーションがOracle CEPにデプロイされると、構成されたアダプタでは金融データ・フィードなどの構成されたイベントに対するリスニングがただちに開始されます。
詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。
アプリケーションをOracle CEPサーバーにデプロイする場合、CEPサーバーはアプリケーションの構成履歴を作成します。ルールまたはOracle CEP高可用性アダプタの構成を変更すると、この履歴に記録されます。Oracle CEP Visualizerまたはwlevs.Admin
ツールを使用して、これらの変更を表示し、ロールバックする(変更を元に戻す)ことができます。
詳細は、次を参照してください:
『Oracle CEP Visualizerユーザー・ガイド』の構成履歴の管理に関する項
『Oracle CEP管理者ガイド』の構成履歴を管理するコマンドに関する項
Oracle CEPアプリケーションのアセンブルとは、http://www2.osgi.org/javadoc/r4/org/osgi/framework/Bundle.html
で説明されているように、アプリケーションを構成するアーティファクトをOSGiバンドルJARファイルにバンドリングすることを意味します。アーティファクトには、次のものが含まれます。
コンパイル済のJavaクラス
アプリケーション・コンポーネント(プロセッサやアダプタなど)を構成するOracle CEPコンポーネント構成ファイル。
EPNアセンブリ・ファイル
MANIFEST.MF
ファイル
SpringおよびOSGiに関するリファレンスおよび概念情報へのリンクは、付録A「SpringおよびOSGiに関する追加情報」を参照してください。
この項では次について説明します:
Oracle CEP IDE for Eclipseを使用して、Oracle CEPアプリケーションを簡単にアセンブリできます。
詳細は、次を参照してください:
アプリケーションが外部ステージに依存している場合、20.2.3項「外部ステージにおけるアプリケーションのアセンブリ」を参照してください。
オプションで、Oracle CEPアプリケーションを手動でアセンブルできます。
簡略化のために、次の手順では必要なアーティファクトを含む一時ディレクトリを作成し、その後でこの一時ディレクトリのコンテンツをjarファイルに構築します。これは単に推奨される方法であり、この方法でアプリケーションをアセンブルすることは必須ではありません。
注意: 次に記述したステップの多くを実行できるbuild.xml Antファイルについては、HelloWorldサンプル・ソース・ディレクトリを参照してください。build.xml ファイルは、ORACLE_CEP_HOME \ocep_11.1\samples\source\applications\helloworld にあり、ORACLE_CEP_HOME はd:\oracle_cep など、主なOracle CEPインストール・ディレクトリを示します。 |
Oracle CEPアプリケーションを手動でアセンブルするには:
コマンド・ウィンドウを開き、『Oracle CEPスタート・ガイド』の開発環境の設定の説明に従って、環境を設定します。
output
などの空のディレクトリを作成します。
prompt> mkdir output
すべてのアプリケーションJavaファイルをoutput
ディレクトリにコンパイルします。
output/META-INF/spring
ディレクトリを作成します。
アプリケーションのコンポーネントと各コンポーネントの接続が記述されたEPNアセンブリ・ファイルをoutput/META-INF/spring
ディレクトリにコピーします。
このファイルの詳細は、3.3項「EPNアセンブリ・ファイルの作成」を参照してください。
output/META-INF/wlevs
ディレクトリを作成します。
アプリケーションのコンポーネント(プロセッサやアダプタなど)を構成するXMLファイルをoutput/META-INF/wlevs
ディレクトリにコピーします。
1.1項「Oracle CEPプログラミング・モデルの概要」の説明に従って、アプリケーションの作成中にこれらのXMLファイルを作成します。
バンドルに関する説明情報を含むMANIFEST.MF
ファイルを作成します。
20.2.2.1項「MANIFEST.MFファイルの作成」を参照してください。
Oracle CEPアプリケーションからサードパーティJARファイルにアクセスする必要がある場合は、20.2.2.2項「サードパーティJARファイルへのアクセス」を参照してください。
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ドキュメントを参照をしてください。
アプリケーションが外部ステージに依存している場合、20.2.3項「外部ステージにおけるアプリケーションのアセンブリ」を参照してください。
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
Oracle CEPアプリケーションの作成時には、既存のサードパーティJARファイル内のレガシー・ライブラリにアクセスする必要がある場合があります。このレガシー・コードへのアクセスを保証する2つの方法があります。
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プロジェクトに追加する方法」を参照してください。
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-1に示したアプリケーションの依存関係グラフを考慮してください。
この例では、アプリケーションAはアプリケーションBに、アプリケーションBはアプリケーションCに、アプリケーションCはアプリケーションAに依存します。アプリケーションCは、Java Beanイベント・タイプMarketEvent
用のイベント・タイプ・クラスを宣言し、エクスポートします。アプリケーションAとBは、アプリケーションCによって提供されたMarketEvent
クラスをインポートします。
次の点に注意してください。
外部ステージを再デプロイする場合、そのアプリケーションまたは外部ステージに依存するすべての外部ステージを再デプロイする必要があります。
たとえば、アプリケーションBを再デプロイする場合、アプリケーションAも再デプロイする必要があります。
1つの外部ステージと他のステージの間にクラスパスの依存関係がある場合、共有クラスを宣言し、エクスポートする外部ステージをデプロイするときは、共有クラスをインポートするすべての外部ステージを再デプロイする必要があります。
たとえば、アプリケーションCを再デプロイする場合、アプリケーションC(MarketEvent
)とクラスパスの依存関係がアプリケーションAとBも再デプロイする必要があります。
詳細は、次を参照してください:
Oracle CEPアプリケーション・ライブラリを使用して、共有ライブラリを便利な場所にデプロイし、Oracle CEPサーバーの起動時にデプロイする共有ライブラリの順序を完全に制御できます。
この項では、次の項を含めて、Oracle CEPサーバー・アプリケーション・ライブラリを管理する方法について説明します。
20.3.1項「Oracle CEP IDE for Eclipseを使用したアプリケーション・ライブラリのディレクトリの定義方法」
20.3.2項「Oracle CEP IDE for Eclipseを使用したアプリケーション・ライブラリのディレクトリの更新方法」
詳細は、20.1.3項「アプリケーション・ライブラリ」を参照してください。
Oracle CEPサーバー・アプリケーション・ライブラリを使用する前に、Oracle CEP IDE for Eclipseデザイン・タイム構成をアプリケーション・ライブラリのディレクトリの場所で更新する必要があります。
詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。
Oracle CEP IDE for Eclipseを使用してアプリケーション・ライブラリのディレクトリを定義するには、
Oracle CEP IDE for Eclipseを起動します。
プロジェクトを右クリックして、「プロパティ」を選択します。
図20-2に示すような「プリファレンス」ダイアログが表示されます。
「Oracle CEPアプリケーション・ライブラリのパス」を選択します。
表20-1の説明に従って、アプリケーション・ライブラリのパスを指定します。
表20-1 Oracle CEPアプリケーション・ライブラリのパス
オプション | 説明 |
---|---|
「絶対パスを使用」 |
アプリケーション・ライブラリのディレクトリに絶対パスを指定するにはこのオプションを選択します。 20.3.1.1項「絶対パスの構成方法」を参照してください。 |
「パス変数の拡張」 |
パス変数に基づいてアプリケーション・ライブラリを指定するにはこのオプションを選択します。 20.3.1.2項「パス変数の拡張する方法」を参照してください。 |
アプリケーション・ライブラリ・パスを絶対パスとして指定できます。チーム環境では、20.3.1.2項「パス変数の拡張する方法」の説明に従って、パス変数に基づくアプリケーション・ライブラリ・パスを指定する方がより便利です。
絶対パスを構成するには:
「参照」ボタンをクリックして、ファイル・システム・ブラウザを開きます。
ファイル・システム・ブラウザを使用して、ディレクトリを選択します。
「OK」をクリックします。
「適用」をクリックします。
「OK」をクリックします。
パス変数を拡張することで、アプリケーション・ライブラリ・パスを指定できます。これは、最もフレキシブルなアプローチであり、チーム環境に適切です。あるいは、20.3.1.1項「絶対パスの構成方法」に従って、絶対パスでアプリケーション・ライブラリを指定できます。
パス変数を拡張するには:
「変数」ボタンをクリックします。
図20-3に示すようにパス変数の選択ダイアログが表示されます。
「新規」をクリックします。
図20-4に示すような新しい変数ダイアログが表示されます。
表20-2で説明されているように、新しい変数ダイアログを構成します。
表20-2 Oracle CEPアプリケーション・ライブラリ・パス変数
オプション | 説明 |
---|---|
名前 |
変数の名前を入力します。 |
「ロケーション」 |
「フォルダ」ボタンをクリックして、ファイル・システム・ブラウザを開きます。アプリケーション・ライブラリのディレクトリを使用するには、ルートディレクトリを選択します。 注意: ディレクトリをOracle CEPサーバー・ドメインに依存する必要があります。詳細は、4.2項「Oracle CEPサーバーの作成」を参照してください。 |
「OK」をクリックします。
図20-5で示したとおり、パス変数の選択ダイアログに新しいパス変数が表示されます。
オプションで、変数を選択し、「拡張」をクリックします。
図20-6に示すように、変数の拡張ダイアログが表示されます。このダイアログには、この変数のために指定したルートディレクトリの下にあるすべてのディレクトリが表示されます。
サブディレクトリを選択して、「OK」をクリックします。
アプリケーション・ライブラリ・パスは、図20-7で示すように定義した変数パスに対して相対的に指定します。
「適用」をクリックします。
「OK」をクリックします。
アプリケーション・ライブラリ拡張、アプリケーション・ライブラリ・ディレクトリまたはそれらのユーザー定義のサブディレクトリでJARファイルの追加、置き換えまたは解除を行う場合、次の2つの場所で変更を加える必要があります。
Oracle CEP IDE for Eclipseでサーバーのランタイムを作成するために使用したローカルOracle CEPサーバー。
依存アプリケーションをデプロイされた本番Oracle CEPサーバー。
これらの変更は、同時に実行する必要がありません。アプリケーション・ライブラリの変更に依存するプロジェクトのコードを変更する前に、ローカルOracle CEPサーバーに変更を加える必要があります。アプリケーション・ライブラリの変更に依存するアプリケーションをデプロイする前に、本番Oracle CEPサーバーに変更を加える必要があります。
詳細は、20.3項「アプリケーション・ライブラリの管理」を参照してください。
Oracle CEP IDE for Eclipseを使用してアプリケーション・ライブラリを更新するには:
本番Oracle CEPサーバー上のアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリに新しいまたは改訂されたバンドルを追加します。
これは、このアプリケーション・ライブラリに依存するアプリケーションをデプロイするサーバーです。
ライブラリ・デプロイメント順序を管理するには、適切に命名したサブディレクトリでライブラリを整理します。詳細は、20.1.4項「デプロイメントとデプロイメント順序」を参照してください。
本番Oracle CEPサーバーを停止および起動します。
Oracle CEPサーバーは、更新されたアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリからリフレッシュします。
詳細は、次を参照してください:
『Oracle CEP管理者ガイド』のスタンドアロン・サーバー・ドメインにおけるOracle CEPサーバーの起動と停止に関する項
『Oracle CEP管理者ガイド』のマルチサーバー・ドメインにおけるOracle CEPサーバーの起動と停止に関する項
Oracle CEP IDE for EclipseターゲットのランタイムOracle CEPサーバー上のアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリに同じ新規または改訂されたバンドルを追加します。
Oracle CEP IDE for Eclipseを起動します。
プロジェクトを右クリックし、「ターゲットのランタイムをリフレッシュ」を選択します。
Oracle CEP IDE for Eclipseは、Oracle CEP IDE for EclipseターゲットのランタイムOracle CEPサーバー上の更新されたアプリケーション・ライブラリ拡張またはアプリケーション・ライブラリ・ディレクトリからこのプロジェクトをリフレッシュします。
必要に応じて、アプリケーション依存性を更新します。
たとえば、新規バンドルを追加するか、または既存のバンドルのバージョンを変更します。
詳細は、20.1.2項「アプリケーション依存関係」を参照してください。
本番Oracle CEPサーバーにアプリケーションをアセンブルし、デプロイします。
詳細は、20.4項「Oracle CEPアプリケーションのデプロイ」を参照してください。
開発時に、このアプリケーション向けにOracle CEP IDE for Eclipseに定義した依存関係は、実行時に本番Oracle CEPサーバーのアプリケーション・ライブラリでインストールされたコンポーネントによって満たされます。
Oracle CEP Visualizerを使用して、Oracle CEPサーバーにデプロイされたアプリケーション・ライブラリを表示できます。
ライブラリ拡張ディレクトリとライブラリ・ディレクトリ、そのいずれからもライブラリを表示できます。
詳細は、次を参照してください:
『Oracle CEP Visualizerユーザー・ガイド』のOracle CEPサーバーにデプロイされたアプリケーション・ライブラリの表示方法に関する項
Oracle CEPアプリケーションをアセンブルし、それをOracle CEPサーバー・ドメインにデプロイします。
この項では次について説明します:
20.4.1項「Oracle CEP IDE for Eclipseを使用してOracle CEPアプリケーションをデプロイする方法」
20.4.2項「Oracle CEP Visualizerを使用してOracle CEPアプリケーションをデプロイする方法」
詳細は、次を参照してください:
『Oracle CEP管理者ガイド』のスタンドアロン・サーバー・ドメインへのOracle CEPアプリケーションのデプロイに関する項
『Oracle CEP管理者ガイド』のマルチサーバー・ドメインへのOracle CEPアプリケーションのデプロイに関する項
Oracle CEP IDE for Eclipseを使用して、Oracle CEPアプリケーションをデプロイします。
Oracle CEP IDE for Eclipseを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイします。
注意: 外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。 |
Oracle CEP IDE for Eclipseを使用してOracle CEPアプリケーションをデプロイするには:
Oracle CEPアプリケーションのアセンブル
アプリケーションをデプロイするには、Oracle CEP IDE for Eclipseを使用します。
Oracle CEPアプリケーションをOracle CEPサーバー・ドメインにデプロイする最も簡単な方法は、Oracle CEP Visualizerを使用することです。
Oracle CEP Visualizerを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイできます。
注意: 外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。 |
Oracle CEP Visualizerを使用してOracle CEPアプリケーションをデプロイするには:
Oracle CEPアプリケーションのアセンブル
Oracle CEP Visualizerを起動します。
4.3.9項「Oracle CEP IDE for EclipseからOracle CEP Visualizerを起動する方法」
Oracle CEP Visualizerを使用してアプリケーションをデプロイします。
『Oracle CEP Visualizerユーザー・ガイド』のアプリケーションのデプロイに関する項を参照してください。
次の手順では、デプロイヤ・コマンド・ライン・ユーティリティを使用してOracle CEPにアプリケーションをデプロイする方法について説明します。
デプロイヤを使用して、スタンドアロンまたはマルチサーバー・ドメインのいずれかにアプリケーションをデプロイできます。
詳細は、『Oracle CEP管理者ガイド』のデプロイヤ・コマンド・ライン・リファレンスに関する項を参照してください。
注意: 外部ステージを使用する場合、20.2.3項「外部ステージでアプリケーションのアセンブリ」に示しているように、依存関係ステージのデプロイメントと再デプロイメントを管理するルールに注意してくさだい。 |
デプロイヤ・ユーティリティを使用してOracle CEPアプリケーションをデプロイするには:
Oracle CEPアプリケーションのアセンブル
コマンド・ウィンドウを開き、『Oracle CEPスタート・ガイド』の開発環境の設定の説明に従って、環境を設定します。
CLASSPATH
変数を更新して、ORACLE_CEP_HOME
/ocep_11.1/bin
ディレクトリにあるwlevsdeploy.jar JAR
ファイルを指定します。ORACLE_CEP_HOME
は、/oracle_cep
などの主なOracle CEPインストール・ディレクトリを示します。
注意: リモート・コンピュータ上でデプロイヤを実行する場合、『Oracle CEP管理者ガイド』のリモートでのデプロイヤ・ユーティリティの実行に関する項を参照してください。 |
アプリケーションをデプロイするOracle CEPインスタンスでJettyが構成されていることを確認してください。
詳細は、『Oracle CEP管理者ガイド』のOracle CEP用Jettyの構成に関する項を参照してください。
コマンド・ウィンドウで、次の構文を使用して、アプリケーションをインストールする 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
ファイルを手動で更新することはお薦めしません。