この章は、Oracle Event Processingの管理の概要を説明し、Oracle Event Processingサーバーおよびドメイン、サーバーのライフサイクルの概要を、サーバー構成、管理ツールおよびタスクを含めて説明します。
この章の内容は次のとおりです。
Oracle Event Processing サーバーには、Oracle Event Processingアプリケーションをデプロイする論理的に関連付けられたリソースとサービスがあります。サービスは次のとおりです。
ネットワーク入力/出力(I/O): サーバー/クライアントのインターネット・プロトコル(IP)ポート・アクセス、IPv4/IPv6のサポート、および各種ブロック/非ブロック・ネットワークI/Oプロバイダ。
セキュリティ: SSL、パスワード・ストアおよび認証と認可プロバイダなどのセキュリティ・サービス
Jetty: HTTPサーバー
Java Management Extensions (JMX): プログラムからOracle Event Processingサーバーおよびアプリケーション動作のアクセスの提供
JDBCデータソース: イベントの記録および再生に必要なイベントを格納するためのリレーショナル・データベースへのアクセス、Oracle CQL問合せのイベント・ソースとしての表へのアクセス、およびEPL問合せでの表の結合
HTTPパブリッシュ/サブスクライブ・サーバー: Oracle Event Processing Visualizerおよび独自のWeb 2.0アプリケーションなどのサブスクライブされたクライアントへのイベント・メッセージの転送
ロギング: サーバーおよびアプリケーション操作の監視とトラブルシューティングに対するサポート
サーバーに適用するすべてのファイルは、単一のサーバー・ディレクトリに含まれます。サーバーに対するメイン構成ファイルはconfig.xml
というファイルで、このファイルにサーバーのサービスを構成し、サーバーが属するドメインを指定します。詳細は、1.3.1項「Oracle Event Processingサーバー構成ファイル」を参照してください。
Oracle Event Processingドメインは、1つ以上のサーバーのセットの管理単位です。次の2種類のドメインがあります。
スタンドアロンサーバー・ドメイン - 単一のサーバーを含むドメインです。これは構成ウィザードによってデフォルトで作成されるタイプのドメインであり、マルチサーバー・ドメインの開始点です。
詳細は、第3章「Oracle Event Processingスタンドアロンサーバー・ドメインの管理」を参照してください。
マルチサーバー・ドメイン: 同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、さらにセキュリティ・プロバイダを共有する複数のサーバーを含むドメインです。マルチサーバー・ドメインを使用すると、Oracle Event Processingアプリケーションの高可用性を可能にします。マルチサーバー・ドメインにアプリケーションをデプロイすると、アプリケーションはドメイン内の各サーバーにレプリケートされます。
マルチサーバー・ドメインのサーバーは、同じコンピュータ上に配置するか別のコンピュータ上に配置することができます。マルチサーバー・ドメインのサーバーは、同じマルチキャスト・アドレスとマルチキャスト・ポートを共有し、同じドメインに属することで、互いに関連付けられます。この設定はすべて、サーバーのconfig.xml
ファイルで構成されます。
詳細は、次を参照してください:
図1-1は、Oracle Event Processingサーバー・ライフサイクルの状態図を示しています。この図では、状態名(STARTING
、RUNNING
およびSHUTTING_DOWN
)はServerRuntimeMBean
メソッドgetState()
戻り値に対応します。これらの状態はOracle Event Processingに固有であり、OSGiバンドルの状態ではありません。
注意: Oracle Event Processingアプリケーションのライフサイクルの詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のOracle Event Processingアプリケーションのライフサイクルに関する項を参照してください。 |
この項では、Oracle Event Processingにデプロイされたアプリケーションのライフサイクルとcom.bea.wlevs.ede.api
APIコールバックのシーケンスについて説明します。ライフサイクルの説明は、ユーザーが実行するアクションに分類されます。このアクションは、次のとおりです。
この情報では、アプリケーションでライフサイクルAPIを効率的に使用するためにアプリケーションのライフサイクルをOracle Event Processingで管理する方法が説明されています。これらのAPI(RunnableBean
、SuspendableBean
など)の説明は、次を参照してください。
『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のOracle Event Processing APIに関する項
Oracle Fusion Middleware Oracle Event Processing Java APIリファレンス
Oracle Event Processingサーバーを起動した後、次のアクションを行います。
コア・エンジン・バンドルを起動します。
Oracle Event Processingバンドルを起動します。
MBeansを登録します。
このときOracle Event Processingサーバーの状態はSTARTING
です。
アプリケーション・バンドルを起動します。
このときOracle Event Processingサーバーの状態はRUNNING
です。
Oracle Event Processingサーバーを停止した後、次のアクションを行います。
Oracle Event Processingサーバーの状態はSHUTTING_DOWN
です。
ServerRuntimeMBean
を登録解除します。
Oracle Event Processingサーバーには状態が割り当てられません。
Oracle Event Processingバンドルを停止します。
アプリケーション・バンドルを停止します。
コア・エンジン・バンドルを停止します。
Oracle Event Processingサーバーの構成には2つのカテゴリがあります。
サーバーの構成
サーバーにデプロイするアプリケーションの構成
各構成カテゴリに対して次の構成タスクを実行できます。
静的に: XMLファイルを手動で編集します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要があります。
動的に: Oracle Event Processing Visualizer、wlevs.Admin
コマンドライン・ユーティリティまたはプログラムでJMXを使用して管理bean (MBean)を操作します。
このアプローチを使用する場合、変更を行った後、サーバーの再起動またはアプリケーションの再デプロイの必要はありません。
次のステップを実行してサーバーを静的に構成します。
Oracle Event Processingサーバーを停止します。
Oracle Event Processingサーバーのドメイン・ディレクトリにあるconfig.xml
ファイルを編集します。
Oracle Event Processingサーバーを起動します。
Jettyの構成などのサーバー構成タスクは静的でのみ実行できます。
一部のサーバー構成タスクでは、管理bean (MBeans)を使用して動的に実行できます。この場合、変更を有効にするにはサーバーを手動で停止および起動する必要はありません。
JMX APIに完全準拠するOracle Event Processing標準ベースのインタフェースを使用して、Oracle Event Processing Visualizer、wlevs.Admin
コマンドライン・ユーティリティ、または独自のJavaコードによって、Oracle Event Processingサーバーおよびアプリケーションを動的に構成できます(http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
)。
『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の説明に従って、一般的に、アプリケーションを最初に作成する場合は、静的に構成します。特に、アプリケーションのイベント処理ネットワーク(EPN)は、EPNアセンブリ・ファイルを作成して構成し、アプリケーションの個々のコンポーネント(アダプタ、チャネルおよびプロセッサ)は、構成ファイルを作成して構成します。
アプリケーションをデプロイした後、Oracle Event Processingサーバーがアプリケーションまたはコンポーネントに対して自動的に作成するMBeanを操作して、アプリケーションまたは個々のコンポーネントの構成を動的に変更することができます。標準のタスクでは、デプロイされたアプリケーションのプロセッサに対してOracle CQLルールを動的に構成します。これは、Oracle Event Processing Visualizer、wlevs.Adminコマンドライン・ユーティリティまたはJMXを使用して実行します。
この項では次の内容について説明します。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』
デフォルトでは、構成ウィザードによってORACLE_CEP_HOME
/user_projects/domains
ディレクトリにドメインが作成されます。ORACLE_CEP_HOME
は、d:\oracle_cep
などのOracle Event Processingインストール・ディレクトリです。
たとえば、d:\oracle_cep\user_projects\domains\my_domain
で、my_domain
はドメイン・ディレクトリです。このドメインで作成される各Oracle Event Processingサーバーのサブディレクトリはmy_domainにあります(c:\oracle_cep\user_projects\domains\my_domain\server1
など)。
次のリストは、サーバー・ディレクトリに関連するドメイン内のサーバーの重要なファイルとディレクトリの説明です(c:\oracle_cep\user_projects\domains\my_domain\server1
など)。
deployments.xml
: このドメインのOracle Event Processingインスタンスに現在デプロイされている、OSGiバンドルとしてパッケージ化されたアプリケーションのリストを含むXMLファイルです。アプリケーションをデプロイするときは、このファイルは手動で更新せずに、必ずデプロイヤ・ツールを使用します。
startwlevs.cmd
Oracle Event Processingのインスタンスの起動に使用されるコマンド・ファイルです。UNIXではstartwlevs.sh
がこのファイルに相当します。
stopwlevs.cmd
Oracle Event Processingのインスタンスの停止に使用されるコマンド・ファイルです。UNIXではstopwlevs.sh
がこのファイルに相当します。
config/config.xml
: Oracle Event Processingインスタンスに対して構成されているサービスを記述したXMLファイルです。サービスにはロギング、デバッグ、Jetty WebサービスおよびJDBCデータ・ソースがあります。
詳細は、1.3.2項「config.xmlファイルの手動編集によるOracle Event Processingサーバーの構成」を参照してください。
config/security*
: ドメインのセキュリティを構成するファイルです。
config/atnstore.txt
: このドメインに構成されているユーザーおよびグループを記載したファイルです。
Oracle Event Processingサーバーを構成する最も効率的でエラーの発生が少ない方法は、1.4項「Oracle Event Processingサーバー管理ツールの理解」で説明されているように、1つ以上のOracle Event Processing管理ツールを使用する方法です。
オプションで、Oracle Event Processingサーバーconfig.xml
ファイルを手動で編集してOracle Event Processingサーバーを構成することができます。Oracle Event Processingサーバーconfig.xml
ファイルの場所の詳細は、1.3.1項「Oracle Event Processingサーバー構成ファイル」を参照してください。
警告: config.xml ファイルを手動で更新し、Oracle Event Processingサーバーの構成を変更した場合、変更を有効にするにはサーバーを再起動する必要があります。 |
config.xml
ファイルを使用して、次のサーバー・オブジェクトと機能を構成できます(追加または更新の必要がある要素については、参照先の項で詳細に説明しています)。
マルチサーバー・ドメインのサーバーを同時に構成する方法。マルチキャスト・アドレスとマルチキャスト・ポート、グループなどを構成します。
次を参照してください。
ネットワークI/O。
セキュリティ
第10章「Oracle Event Processingのセキュリティの構成」を参照してください。
Jetty (オープン・ソース、標準ベース、フル機能のJava Webサーバー)。
第11章「Oracle Event Processing用のJettyの構成」を参照してください。
Oracle Event Processing Visualizer、wlevs.Admin
ユーティリティおよびデプロイヤ・ユーティリティを使用するために必要なJMX
第12章「Oracle Event Processing用のJMXの構成」を参照してください。
リレーショナル・データベースへの接続に使用されるJDBCデータ・ソース。
第13章「Oracle Event Processing用のJDBCの構成」を参照してください。
HTTPパブリッシュ・サブスクライブ・サーバー。
第14章「Oracle Event ProcessingのHTTPパブリッシュ/サブスクライブの構成」を参照してください。
サーバーのロギングおよびデバッグ・プロパティ。デフォルトでは、ログ・セキュリティ・レベルはNOTICE
に設定されています。
例1-1は、ORACLE_CEP_HOME
/user_projects/domains/ocep_domain/defaultserver
テンプレート・ドメインからのサンプルのconfig.xml
ファイルを示し、これらのサービスのいくつかを構成する方法を示しています。
例1-1 Oracle Event Processingサーバー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 Event Processingサーバーにアプリケーションをデプロイするとき、Oracle Event Processingサーバーによってアプリケーションの構成履歴が作成されます。アプリケーションで行うすべての構成変更はこの履歴に記録されます。Oracle Event Processing Visualizerまたはwlevs.Admin
ツールを使用してこれらの変更の表示およびロールバック(undo)ができます。
詳細は、次を参照してください:
『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』の構成履歴の管理に関する項
通常、Oracle Event Processingサーバー構成ファイルを使用してすべてのOracle Event Processingサーバー・オプションを構成し、Oracle Event Processingアセンブリ/コンポーネント構成ファイルを使用してすべてのOracle Event Processingアプリケーション・オプションを構成し、関連プライベート・アーティファクトをOracle Event Processingプロジェクトにインポートするか、またはアプリケーションが間接的にインポートする関連共有アーティファクトを含む共有アプリケーション・ライブラリをデプロイすることによって、すべてのOracle Event Processingアプリケーション・ランタイム依存関係を満たします。
必要に応じて、アプリケーション・ライブラリとOracle Event Processingアプリケーションの両方がデプロイされる前にOracle Event Processingサーバーによって使用可能にされる、ネイティブ・コード・ライブラリなどのアーティファクトを使用して、Oracle Event Processingのbootclasspath
を構成できます。
この方法を使用すると、アプリケーションのインポートやアプリケーション・ライブラリを使用しただけでは満たすことのできないアプリケーションまたはアプリケーション・ライブラリの依存関係を満たすことが可能です。
詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のアプリケーション依存性に関する項を参照してください。
オプションで、bootclasspath
を使用して、ネイティブ・コード・ライブラリに依存するアプリケーション・ライブラリに対してネイティブ・コード・ライブラリを使用できるようにします。
Oracle Event Processingのbootclasspathを構成するには:
Oracle Event Processing起動時に適切なネイティブ・ライブラリの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 Event Processingインストール・ディレクトリです。
wlevs_3.0.jar
ファイルを実行するJavaコマンドに-Xbootclasspath/a
オプションを追加して、起動スクリプトを更新します。使用するネイティブ・ライブラリのフル・パス名を-Xbootclasspath/a
オプションに設定します。
たとえば、Oracle Event Processingサーバーの%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 Event Processingが実行中の場合は、新規のjava
オプションとデータ・ソース情報を読み込むために再起動します。
詳細は、1.5.4項「Oracle Event Processingサーバーの起動と停止」を参照してください。
この項は、Oracle Event Processingサーバー、ドメインおよびアプリケーションを管理するために使用する様々なOracle Event Processingサーバー管理ツールについて説明します。
次のいずれかを使用して、Oracle Event Processingサーバー、ドメインおよびアプリケーションを管理できます。
詳細は、次を参照してください:
構成ウィザードは、Oracle Event Processingサーバーとドメインを作成および更新するためにグラフィカルに呼び出すことができるJavaアプリケーションです。
詳細は、次を参照してください:
Oracle Event Processing Visualizerは、Oracle Event Processingのグラフィカルな管理コンソールです。
これは、Oracle Event Processingからのデータを使用し、そのデータを便利で直感的な方法でシステム管理者やオペレータに表示し、さらに特定のタスクにおいて、受け入れたデータを再びOracle Event Processingに戻して構成の変更を行うWeb 2.0アプリケーションです。
Oracle Event Processing Visualizerを使用して、既存のOracle Event Processingスタンドアロン・サーバー・ドメインとOracle Event Processingマルチサーバー・ドメインに対して、多様なOracle Event Processingサーバー、ドメインおよびアプリケーション管理タスクを実行できます。
詳細は、『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のVisualizerの概要に関する項を参照してください。
wlevs.Admin
コマンドライン・ユーティリティは、多様なOracle Event Processingサーバー、ドメインおよびアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出すことができるJavaアプリケーションです。
詳細は、付録A「wlevs.Adminコマンドライン・リファレンス」を参照してください。
デプロイヤ・コマンドライン・ユーティリティは、アプリケーションのデプロイメントとアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出し可能なJavaアプリケーションです。
詳細は、付録B「デプロイヤ・コマンドライン・リファレンス」を参照してください。
Oracle Event Processingでは、セキュリティ管理を簡素化する様々なコマンドライン・ユーティリティが提供されます。
詳細は、付録C「セキュリティ・ユーティリティ・コマンドライン・リファレンス」を参照してください。
Java Management Extensions (JMX)仕様に完全準拠する標準ベースのインタフェースを使用して、JMXとOracle Event Processing MBeanをプログラムで使用する多様なOracle Event Processingサーバー、ドメインおよびアプリケーション管理タスクを実行できます。
詳細は、次を参照してください:
Oracle Fusion Middleware Oracle Event Processing Java APIリファレンス
この項では、次の重要なOracle Event Processingサーバー管理タスクについて説明します。
最も重要な管理タスクは、Oracle Event Processingサーバーとドメインの作成です。
詳細は、次を参照してください:
Oracle Event Processingサーバーとドメインを作成したら、それを更新して、構成またはグループ・メンバーシップを変更することができます。
詳細は、次を参照してください:
Oracle Event Processingサーバーとドメインを作成したら、提供される様々なサービスを構成する必要があります。
詳細は、次を参照してください:
少なくとも1つのサーバーとともにOracle Event Processingドメインを作成した後、アプリケーションをデプロイして実行を開始できるようにサーバー・インスタンスを起動します。アップグレード時と構成変更の後、Oracle Event Processingサーバーを停止および起動する必要があります。
詳細は、次を参照してください:
Oracle Coherence: 5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」
Oracle Event Processingネイティブ・クラスタリング: 7.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」
注意: Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle Event Processingサーバーを停止しないでください。stopwlevs.cmd スクリプトまたはCtrl-C を使用すると、Oracle Event Processingサーバーはいつでも停止します。 |
Oracle Event Processingサーバーとドメインを作成し構成した後、それらにOracle Event Processingアプリケーションをデプロイできます。
詳細は、次を参照してください:
4.1項「Oracle Event Processingスタンドアロンサーバー・ドメインへのアプリケーションのデプロイ」
『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のOracle Event Processingアプリケーションの作成の概要に関する項
Oracle Event Processingサーバーとドメイン上にアプリケーションをデプロイしたら、パフォーマンス監視やアップグレードなどのタスクを実行するためにアプリケーションを管理する必要があります。
詳細は、次を参照してください: