この章の内容は次のとおりです。
Oracle CEPサーバーには、Oracle CEPアプリケーションをデプロイする論理的に関連付けられたリソースとサービスがあります。サービスは次のとおりです。
ネットワーク入力/出力(I/O): サーバー/クライアントのインターネット・プロトコル(IP)ポート・アクセス、IPv4/IPv6のサポート、および各種ブロック/非ブロック・ネットワークI/Oプロバイダ。
セキュリティ: SSL、パスワード・ストアおよび認証と認可プロバイダなどのセキュリティ・サービス
Jetty: HTTPサーバー
Java Management Extensions (JMX): プログラムからOracle CEPサーバーおよびアプリケーション動作のアクセスの提供
JDBCデータソース: イベントの記録および再生に必要なイベントを格納するためのリレーショナル・データベースへのアクセス、Oracle CQL問合せのイベント・ソースとしての表へのアクセス、およびEPL問合せでの表の結合
HTTPパブリッシュ・サブスクライバ・サーバー: Oracle CEP Visualizerおよび独自のWeb 2.0アプリケーションなどのサブスクライブされたクライアントへのイベント・メッセージの転送
ロギング: サーバーおよびアプリケーション操作の監視とトラブルシューティングに対するサポート
サーバーに適用するすべてのファイルは、単一のサーバー・ディレクトリに含まれます。サーバーに対するメイン構成ファイルはconfig.xml
というファイルで、このファイルにサーバーのサービスを構成し、サーバーが属するドメインを指定します。詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。
Oracle CEPドメインは、1つ以上のサーバーのセットの管理単位です。次の2種類のドメインがあります。
スタンドアロン・サーバー・ドメイン - 単一のサーバーを含むドメインです。これは構成ウィザードによってデフォルトで作成されるタイプのドメインであり、マルチサーバー・ドメインの基礎です。
詳細は、第3章「Oracle CEPスタンドアロン・サーバー・ドメインの管理」を参照してください。
マルチサーバー・ドメイン: 同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、さらにセキュリティ・プロバイダを共有する複数のサーバーを含むドメインです。マルチサーバー・ドメインを使用すると、Oracle CEPアプリケーションの高可用性を可能にします。マルチサーバー・ドメインにアプリケーションをデプロイすると、アプリケーションはドメイン内の各サーバーにレプリケートされます。
マルチサーバー・ドメインのサーバーは、同じコンピュータ上に配置するか別のコンピュータ上に配置することができます。マルチサーバー・ドメインのサーバーは、同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、同じドメインに属することで、互いに関連付けられます。この設定はすべて、サーバーのconfig.xml
ファイルで構成されます。
詳細は、次を参照してください:
図1-1は、Oracle CEPサーバー・ライフサイクルの状態図を示しています。この図では、状態名(STARTING
、RUNNING
およびSHUTTING_DOWN
)はServerRuntimeMBean
メソッドgetState()
戻り値に対応します。これらの状態はOracle CEPに固有であり、OSGIバンドルの状態ではありません。
注意: Oracle CEPアプリケーションのライフサイクルの詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のOracle CEPアプリケーションのライフサイクルに関する項を参照してください。 |
この項では、Oracle CEPにデプロイされたアプリケーションのライフサイクルとcom.bea.wlevs.ede.api
APIコールバックのシーケンスについて説明します。ライフサイクルについては、ユーザーが実行するアクションに分類して説明します。次を参照してください。
この情報では、アプリケーションでライフサイクルAPIを効率的に使用するためにアプリケーションのライフサイクルをOracle CEPで管理する方法が説明されています。これらのAPI(RunnableBean
、SuspendableBean
など)の説明は、次を参照してください。
『Oracle Complex Event Processing開発者ガイドfor Eclipse』のOracle CEP APIに関する項
『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』
Oracle CEPサーバーを起動した後、次のアクションを行います。
コア・エンジン・バンドルを起動します。
Oracle CEPバンドルを起動します。
MBeansを登録します。
このときOracle CEPサーバーの状態はSTARTING
です。
アプリケーション・バンドルを起動します。
このときOracle CEPサーバーの状態はRUNNING
です。
Oracle CEPサーバーを停止した後、次のアクションを行います。
Oracle CEPサーバーの状態はSHUTTING_DOWN
です。
ServerRuntimeMBean
を登録解除します。
Oracle CEPサーバーには状態が割り当てられません。
Oracle CEPバンドルを停止します。
アプリケーション・バンドルを停止します。
コア・エンジン・バンドルを停止します。
Oracle CEPサーバーの構成には2つのカテゴリがあります。
サーバーの構成
サーバーにデプロイするアプリケーションの構成
各構成カテゴリに対して次の構成タスクを実行できます。
静的に: XMLファイルを手動で編集します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要があります。
動的に: Oracle CEP Visualizer、wlevs.Admin
コマンドライン・ユーティリティまたはプログラムでJMXを使用して管理bean (MBeans)を操作します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要はありません。
次のステップを実行してサーバーを静的に構成します。
Oracle CEPサーバーを停止します。
Oracle CEPサーバーのドメイン・ディレクトリにあるconfig.xml
ファイルを編集します。
Oracle CEPサーバーを起動します。
Jettyの構成などのサーバー構成タスクは静的でのみ実行できます。
一部のサーバー構成タスクでは、管理bean (MBeans)を使用して動的に実行できます。この場合、変更を有効にするにはサーバーを手動で停止および起動する必要はありません。
JMX APIに完全準拠するOracle CEP標準ベースのインタフェースを使用して、Oracle CEP Visualizer、wlevs.Admin
コマンドライン・ユーティリティ、または独自のJavaコードによって、Oracle CEPサーバーおよびアプリケーションを動的に構成できます(http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
)。
『Oracle Complex Event Processing開発者ガイドfor Eclipse』の説明に従って、一般的に、アプリケーションを最初に作成する場合は、静的に構成します。特に、アプリケーションのイベント処理ネットワーク(EPN)は、EPNアセンブリ・ファイルを作成して構成し、アプリケーションの個々のコンポーネント(アダプタ、チャネルおよびプロセッサ)は、構成ファイルを作成して構成します。
アプリケーションをデプロイした後、Oracle CEPサーバーがアプリケーションまたはコンポーネントに対して自動的に作成するMBeansを操作して、アプリケーションまたは個々のコンポーネントの構成を動的に変更することができます。標準のタスクでは、デプロイされたアプリケーションのプロセッサに対してOracle CQLルールを動的に構成します。これは、Oracle CEP Visualizer、wlevs.Adminコマンドライン・ユーティリティまたはJMXを使用して実行します。
この項では次の内容について説明します。
詳細は、次を参照してください:
『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』
デフォルトでは、構成ウィザードによってORACLE_CEP_HOME
/user_projects/domains
ディレクトリにドメインが作成されます。ORACLE_CEP_HOME
は、d:\oracle_cep
などのOracle CEPインストール・ディレクトリです。
たとえば、d:\oracle_cep\user_projects\domains\my_domain
で、my_domain
はドメイン・ディレクトリです。このドメインで作成される各Oracle CEPサーバーのサブディレクトリはmy_domainにあります(c:\oracle_cep\user_projects\domains\my_domain\server1
など)。
次のリストは、サーバー・ディレクトリに関連するドメイン内のサーバーの重要なファイルとディレクトリの説明です(c:\oracle_cep\user_projects\domains\my_domain\server1
など)。
deployments.xml
: このドメインのOracle CEPインスタンスに現在デプロイされている、OSGiバンドルとしてパッケージ化されたアプリケーションのリストを含むXMLファイルです。アプリケーションをデプロイするときは、このファイルは手動で更新せずに、必ずデプロイヤ・ツールを使用します。
startwlevs.cmd
: Oracle CEPのインスタンスの起動に使用されるコマンド・ファイルです。UNIXではstartwlevs.sh
がこのファイルに相当します。
stopwlevs.cmd
: Oracle CEPのインスタンスの停止に使用されるコマンド・ファイルです。UNIXではstopwlevs.sh
がこのファイルに相当します。
config/config.xml
: Oracle CEPインスタンスに対して構成されているサービスを記述したXMLファイルです。サービスにはロギング、デバッグ、Jetty WebサービスおよびJDBCデータソースがあります。
詳細は、1.3.2項「config.xmlファイルの手動編集によるOracle CEPサーバーの構成」を参照してください。
config/security*
: ドメインのセキュリティを構成するファイルです。
config/atnstore.txt
: このドメインに構成されているユーザーおよびグループを記載したファイルです。
Oracle CEPサーバーを構成する最も効率的でエラーの発生が少ない方法は、1.4項「Oracle CEPサーバー管理ツールの理解」で説明されているように、1つ以上のOracle CEP管理ツールを使用する方法です。
オプションで、Oracle CEPサーバーconfig.xml
ファイルを手動で編集してOracle CEPサーバーを構成することができます。Oracle CEPサーバーconfig.xml
ファイルの場所の詳細は、1.3.1項「Oracle CEPサーバー構成ファイル」を参照してください。
警告! config.xml ファイルを手動で更新し、Oracle CEPサーバーの構成を変更した場合、変更を有効にするにはサーバーを再起動する必要があります。 |
config.xml
ファイルを使用して、次のサーバー・オブジェクトと機能を構成できます(追加または更新の必要がある要素については、参照先の項で詳細に説明しています)。
マルチサーバー・ドメインのサーバーを同時に構成する方法。マルチキャスト・アドレスとマルチキャスト・ポート、グループなどを構成します。
次を参照してください。
ネットワークI/O。
第9章「Oracle CEP用のネットワークI/Oの構成」を参照してください。
セキュリティ
第10章「Oracle CEPのセキュリティの構成」を参照してください。
Jetty (オープン・ソース、標準ベース、フル機能のJava Webサーバー)。
第11章「Oracle CEP用のJettyの構成」を参照してください。
Oracle CEP Visualizer、wlevs.Admin
ユーティリティおよびデプロイヤ・ユーティリティを使用するために必要なJMX
第12章「Oracle CEP用のJMXの構成」を参照してください。
リレーショナル・データベースへの接続に使用されるJDBCデータソース。
第13章「Oracle CEP用のJDBCの構成」を参照してください。
HTTPパブリッシュ・サブスクライブ・サーバー。
第14章「Oracle CEPのHTTPパブリッシュ/サブスクライブの構成」を参照してください。
サーバーのロギングおよびデバッグ・プロパティ。デフォルトでは、ログ・セキュリティ・レベルはNOTICE
に設定されています。
第15章「Oracle CEPのロギングとデバッグの構成」を参照してください。
例1-1は、ORACLE_CEP_HOME
/user_projects/domains/ocep_domain/defaultserver
テンプレート・ドメインからのサンプルのconfig.xml
ファイルを示し、これらのサービスのいくつかを構成する方法を示しています。
例1-1 Oracle CEPサーバーconfig.xmlファイルの例
<?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpy v2007 sp2 (http://www.altova.com)--> <n1:config xsi:schemaLocation="http://www.bea.com/ns/wlevs/config/server wlevs_server_config.xsd" xmlns:n1="http://www.bea.com/ns/wlevs/config/server" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <netio> <name>NetIO</name> <port>9002</port> </netio> <netio> <name>sslNetIo</name> <ssl-config-bean-name>sslConfig</ssl-config-bean-name> <port>9003</port> </netio> <work-manager> <name>JettyWorkManager</name> <min-threads-constraint>5</min-threads-constraint> <max-threads-constraint>10</max-threads-constraint> </work-manager> <jetty> <name>JettyServer</name> <network-io-name>NetIO</network-io-name> <work-manager-name>JettyWorkManager</work-manager-name> <secure-network-io-name>sslNetIo</secure-network-io-name> </jetty> <rmi> <name>RMI</name> <http-service-name>JettyServer</http-service-name> </rmi> <jndi-context> <name>JNDI</name> </jndi-context> <exported-jndi-context> <name>exportedJndi</name> <rmi-service-name>RMI</rmi-service-name> </exported-jndi-context> <jmx> <rmi-service-name>RMI</rmi-service-name> <jndi-service-name>JNDI</jndi-service-name> </jmx> <ssl> <name>sslConfig</name> <key-store>./ssl/evsidentity.jks</key-store> <key-store-pass> <password>{Salted-3DES}j4XEtuXmmvEl4M/NInwq0A==</password> </key-store-pass> <key-store-alias>evsidentity</key-store-alias> <key-manager-algorithm>SunX509</key-manager-algorithm> <ssl-protocol>TLS</ssl-protocol> <enforce-fips>false</enforce-fips> <need-client-auth>false</need-client-auth> </ssl> <http-pubsub> <name>pubsub</name> <path>/pubsub</path> <pub-sub-bean> <server-config> <name>/pubsub</name> <supported-transport> <types> <element>long-polling</element> </types> </supported-transport> <publish-without-connect-allowed>true</publish-without-connect-allowed> </server-config> <channels> <element> <channel-pattern>/evsmonitor</channel-pattern> </element> <element> <channel-pattern>/evsalert</channel-pattern> </element> <element> <channel-pattern>/evsdomainchange</channel-pattern> </element> </channels> </pub-sub-bean> </http-pubsub> <cluster> <server-name>productionServer</server-name> </cluster> <domain> <name>ocep_domain</name> </domain>
Oracle CEPサーバー上にアプリケーションをデプロイするとき、Oracle CEPサーバーによってアプリケーションの構成履歴が作成されます。アプリケーションで行うすべての構成変更はこの履歴に記録されます。Oracle CEP Visualizerまたはwlevs.Admin
ツールを使用してこれらの変更の表示およびロールバック(undo)ができます。
詳細は、次を参照してください:
『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』の構成履歴の管理に関する項
通常、Oracle CEPサーバー構成ファイルを使用してすべてのOracle CEPサーバー・オプションを構成し、Oracle CEPアセンブリ/コンポーネント構成ファイルを使用してすべてのOracle CEPアプリケーション・オプションを構成し、関連プライベート・アーティファクトをOracle CEPプロジェクトにインポートするか、またはアプリケーションが間接的にインポートする関連共有アーティファクトを含む共有アプリケーション・ライブラリをデプロイすることによって、すべてのOracle CEPアプリケーション・ランタイム依存関係を指定します。
必要に応じて、アプリケーション・ライブラリとOracle CEPアプリケーションの両方がデプロイされる前にOracle CEPサーバーによって使用可能にされる、ネイティブ・コード・ライブラリなどのアーティファクトを使用して、Oracle CEPのbootclasspath
を構成できます。
この方法を使用すると、アプリケーションのインポートやアプリケーション・ライブラリを使用しただけでは満たすことのできないアプリケーションまたはアプリケーション・ライブラリの依存関係を満たすことが可能です。
詳細は、『Oracle Complex Event Processing開発者ガイドfor Eclipse』のアプリケーションの依存関係に関する項を参照してください。
オプションで、bootclasspath
を使用して、ネイティブ・コード・ライブラリに依存するアプリケーション・ライブラリに対してネイティブ・コード・ライブラリを使用できるようにします。
Oracle CEPのbootclasspathを構成するには、次の手順を実行します。
Oracle CEP起動時に適切なネイティブ・ライブラリのJARファイルが検索されるように、ドメイン・ディレクトリのサーバー・ディレクトリにあるサーバー起動スクリプトを更新します。
サーバー起動スクリプトの名前は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_3.0.jar
ファイルを実行するJavaコマンドに-Xbootclasspath/a
オプションを追加して、起動スクリプトを更新します。使用するネイティブ・ライブラリのフルパス名を-Xbootclasspath/a
オプションに設定します。
たとえば、Oracle CEPサーバーの%USER_INSTALL_DIR%\bin
ディレクトリに格納されているmynativelib
というネイティブ・ライブラリを使用する場合、次のように起動スクリプトのjava
コマンドを更新します。更新対象セクションを太字で示します(この例では読みやすくするために改行していますが、実際にはフルコマンドは1行にある可能性があります)。
%JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%
-Xbootclasspath/a:%USER_INSTALL_DIR%\bin\mynativelib.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs_3.0.jar"
-disablesecurity %1 %2 %3 %4 %5 %6
この例では、%USER_INSTALL_DIR%
はORACLE_CEP_HOME
\ocep_11.1
を示しています。
Oracle CEPが実行中の場合は、新規のjava
オプションとデータソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle CEPサーバーの起動と停止」を参照してください。
この項は、Oracle CEPサーバー、ドメインおよびアプリケーションを管理するために使用する様々なOracle CEPサーバー管理ツールについて説明します。
次のいずれかを使用して、Oracle CEPサーバー、ドメインおよびアプリケーションを管理できます。
詳細は、次を参照してください:
構成ウィザードは、Oracle CEPサーバーとドメインを作成および更新するためにグラフィカルに呼び出し可能なJavaアプリケーションです。
詳細は、次を参照してください:
Oracle CEP Visualizerは、Oracle CEPのグラフィカルな管理コンソールです。
これは、Oracle CEPからのデータを使用し、そのデータを便利で直感的な方法でシステム管理者やオペレータに表示し、さらに特定のタスクにおいて、受け入れたデータを再びOracle CEPに戻して構成の変更を行うWeb 2.0アプリケーションです。
Oracle CEP Visualizerを使用して、既存のOracle CEPスタンドアロン・サーバー・ドメインとOracle CEPマルチサーバー・ドメインに対して、多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行できます。
詳細は、『Oracle Complex Event Processing Visualizerユーザーズ・ガイド』のVisualizerの概要に関する項を参照してください。
wlevs.Admin
コマンドライン・ユーティリティは、多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出し可能なJavaアプリケーションです。
詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。
デプロイヤ・コマンドライン・ユーティリティは、アプリケーションのデプロイメントとアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出し可能なJavaアプリケーションです。
詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。
Oracle CEPでは、セキュリティ管理を簡素化する様々なコマンドライン・ユーティリティが提供されます。
詳細は、付録C「セキュリティ・ユーティリティ・コマンドライン・リファレンス」を参照してください。
Java Management Extensions (JMX)仕様に完全準拠するOracle CEP標準ベースのインタフェースを使用して、JMXとOracle CEP MBeansをプログラムで使用する多様なOracle CEPサーバー、ドメインおよびアプリケーション管理タスクを実行できます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Complex Event Processing Java APIリファレンス』
この項では、下記の重要なOracle CEPサーバー管理タスクについて説明します。
最も重要な管理タスクは、Oracle CEPサーバーとドメインの作成です。
詳細は、次を参照してください:
Oracle CEPサーバーとドメインを作成したら、それを更新して、構成またはグループ・メンバーシップを変更することができます。
詳細は、次を参照してください:
Oracle CEPサーバーとドメインを作成したら、提供される様々なサービスを構成する必要があります。
詳細は、次を参照してください:
少なくとも1つのサーバーとともにOracle CEPドメインを作成した後、アプリケーションをデプロイして実行を開始できるようにサーバー・インスタンスを起動します。アップグレードときと構成変更の後、Oracle CEPサーバーを停止および起動する必要があります。
詳細は、次を参照してください:
Oracle Coherence: 6.5項「マルチサーバー・ドメインでのOracle CEPサーバーの起動と停止」
Oracle CEPネイティブ・クラスタリング: 7.5項「マルチサーバー・ドメインでのOracle CEPサーバーの起動と停止」
注意: Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle CEPサーバーを停止しないでください。stopwlevs.cmd スクリプトまたはCtrl-C を使用すると、Oracle CEPサーバーはいつでも停止します。 |
Oracle CEPサーバーとドメインを作成し構成した後、それらにOracle CEPアプリケーションをデプロイできます。
詳細は、次を参照してください:
『Oracle Complex Event Processing開発者ガイドfor Eclipse』のOracle CEPアプリケーションの作成の概要に関する項
Oracle CEPサーバーとドメイン上にアプリケーションをデプロイしたら、パフォーマンス監視やアップグレードなどのタスクを実行するためにアプリケーションを管理する必要があります。
詳細は、次を参照してください: