アプリケーション開発ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Oracle Complex Event Processing アプリケーションのアセンブルとデプロイ

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

 


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

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

Oracle CEP アセンブリおよびデプロイメントのコンテキストでは、アプリケーションは次のアーティファクトを含む OSGi バンドル JAR ファイルとして定義されます。

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

このデプロイメント バンドルを作成する方法の詳細については、「Oracle CEP アプリケーションのアセンブル : 主な手順」を参照してください。

アプリケーションのアセンブルが完了したら、(wlevsdeploy.jar ファイルにパッケージ化されている) Deployer ユーティリティを使用して、Oracle CEP ドメインに認識させることによりアプリケーションをデプロイします。詳細な手順については、「Oracle CEP アプリケーションのデプロイ : 主な手順」を参照してください。

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

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

 


Oracle CEP アプリケーションのアセンブル : 主な手順

Oracle CEP アプリケーションのアセンブルでは、アプリケーションを構成するアーティファクトを OSGi バンドル JAR ファイルにバンドルします。これらのアーティファクトには、コンパイル済みの Java クラス、アプリケーションのコンポーネント (プロセッサやアダプタなど) をコンフィグレーションする XML ファイル、EPN アセンブリ ファイル、および MANIFEST.MF ファイルがあります。

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

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

注意 : 以下に示すほとんどの手順を実行する、HelloWorld のサンプルのソース ディレクトリにあるサンプルの build.xml Ant ファイルを参照してください。build.xml ファイルは ORACLE_CEP_HOME\ocep_10.3\samples\source\applications\helloworld にあります。ORACLE_CEP_HOME は、d:\oracle_cep などの Oracle CEP メイン インストール ディレクトリです。

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

  1. コマンド ウィンドウを開き、「開発環境の設定」の説明に従って、環境を設定します。
  2. output などの空のディレクトリを作成します。
  3. prompt> mkdir output
  4. すべてのアプリケーション Java ファイルを output ディレクトリに集めます。
  5. output/META-INF/spring ディレクトリを作成します。
  6. アプリケーションのコンポーネントと各コンポーネントの接続が記述された EPN アセンブリ ファイルを output/META-INF/spring ディレクトリにコピーします。
  7. このファイルの詳細については、「EPN アセンブリ ファイルの作成」を参照してください。

  8. output/META-INF/wlevs ディレクトリを作成します。
  9. アプリケーションのコンポーネント (プロセッサやアダプタなど) がコンフィグレーションされた XML ファイルを output/META-INF/wlevs ディレクトリにコピーします。これらの XML ファイルは、「Oracle Complex Event Processing プログラミング モデルの概要」の説明に従って、アプリケーションの作成時に作成されます。
  10. バンドルに関する情報が記述された MANIFEST.MF ファイルを作成します。
  11. MANIFEST.MF ファイルの作成」を参照してください。

  12. Oracle CEP アプリケーションからサードパーティ JAR ファイルにアクセスする必要がある場合は、「アプリケーションからのサードパーティ JAR ファイルへのアクセス」を参照してください。
  13. output ディレクトリのコンテンツが含まれる JAR ファイルを作成します。デフォルトのマニフェスト ファイルではなく、必ず上記の手順で作成した MANIFEST.MF ファイルを指定するようにします。
  14. JAR ファイルには任意の名前を付けることができます。Oracle CEP のサンプルでは、Java パッケージの名前とバージョンを組み合わせた次のような JAR ファイル名を使用します。

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

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

    jar タスクの使用に関する情報については、Apache Ant documentation を参照してください。jar コマンドライン ツールの使用に関する情報については、J2SE documentation を参照してください。

MANIFEST.MF ファイルの作成

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

以下は HelloWorld のサンプルからの完全な MANIFEST.MF ファイルです。アダプタのコンフィグレーションが拡張されています。

Manifest-Version: 1.0
Archiver-Version:
Build-Jdk: 1.5.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: 2.0.0.0
Bundle-ManifestVersion: 1
Bundle-Vendor: Oracle.
Bundle-Copyright: Copyright (c) 2006 by Oracle.
Import-Package: com.bea.wlevs.adapter.defaultprovider;version="2.0.0.0",
com.bea.wlevs.ede;version="2.0.0.0",
com.bea.wlevs.ede.impl;version="2.0.0.0",
com.bea.wlevs.ede.api;version="2.0.0.0",
org.osgi.framework;version="1.3.0",
org.apache.commons.logging;version="1.1.0",
com.bea.wlevs.spring;version="2.0.0.0",
com.bea.wlevs.util;version="2.0.0.0",
net.sf.cglib.proxy,
net.sf.cglib.core,
net.sf.cglib.reflect,
org.aopalliance.aop,
org.springframework.aop.framework;version="2.0.5",
org.springframework.aop;version="2.0.5",
org.springframework.beans;version="2.0.5",
org.springframework.util;version="2.0",
org.springframework.core.annotation;version="2.0.5",
org.springframework.beans.factory;version="2.0.5",
org.springframework.beans.factory.config;version="2.0.5",
org.springframework.osgi.context;version="1.0.0",
org.springframework.osgi.service;version="1.0.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="2.0.0.0",
com.bea.wlevs.configuration.application;version="2.0.0.0",
com.sun.xml.bind.v2;version="2.0.2"
Bundle-Name: example.helloworld
Bundle-Description: WLEvS example helloworld
Bundle-SymbolicName: helloworld

アプリケーションからのサードパーティ JAR ファイルへのアクセス

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

 


Oracle CEP アプリケーションのデプロイ : 主な手順

以下の手順では、Deployer ユーティリティを使用してアプリケーションを Oracle CEP にデプロイする方法について説明します。ここでは、「Oracle CEP アプリケーションのアセンブル : 主な手順」の説明に従ってアプリケーションがアセンブルされていることを想定しています。

特にこの節で示すオプションのほかにユーティリティでサポートされているオプションなどを含む、Deployer ユーティリティの完全なリファレンス情報については、「Deployer コマンドライン リファレンス」を参照してください。Spring および OSGi に関するリファレンスおよび概念情報へのリンクについては、「Spring および OSGi に関する追加情報」を参照してください。

  1. コマンド ウィンドウを開き、「開発環境の設定」の説明に従って、環境を設定します。
  2. ORACLE_CEP_HOME/ocep_10.3/bin ディレクトリにある wlevsdeploy.jar JAR ファイルを含むように CLASSPATH 変数を更新します。ORACLE_CEP_HOME は、/oracle_cep などの Oracle CEP メイン インストール ディレクトリです。
  3. 注意 : リモート コンピュータ上で deployer ユーティリティを実行する場合の手順については、「Deployer ユーティリティのリモート実行」を参照してください。
  4. アプリケーションをデプロイする Oracle CEP インスタンスで Jetty がコンフィグレーションされていることを確認してください。
  5. Oracle CEP のコンフィグレーションを参照してください。

  6. コマンド ウィンドウで、以下の構文を使用して、アプリケーションをインストールする Deployer ユーティリティを実行します。
  7. 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 ドメインを記述する config.xml ファイルで指定されます。このファイルは DOMAIN_DIR/config ディレクトリにあります (DOMAIN_DIR はドメイン ディレクトリを表します)。ポート番号は、<Netio> 要素の <Port> 子要素の値です。
    • <Netio>
      <Name>NetIO</Name>
      <Port>9002</Port>
      </Netio>
    • user は Oracle CEP 管理者のユーザ名です。
    • password は Oracle CEP 管理者のパスワードです。
    • application_jar_file は、「Oracle CEP アプリケーションのアセンブル : 主な手順」の説明に従って OSGi バンドルにアセンブルされたアプリケーション JAR ファイルです。このファイルは Deployer ユーティリティを実行するのと同じコンピュータに置かれている必要があります。
    • たとえば、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 ではアプリケーションが自動的に起動され、アダプタ コンポーネントでは着信イベントのリスンが直ちに開始されます。

Deployer ユーティリティでは、アプリケーション JAR ファイルの再開、中断、更新、およびアンインストールや、マルチサーバ ドメインの指定のグループへのアプリケーションのデプロイなどのオプションも提供されます。詳細については、「Deployer コマンドライン リファレンス」を参照してください。

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


  ページの先頭       前  次