Oracle® Fusion Middleware

Oracle Event Processingの管理

12cリリース(12.1.3)

E57532-04(原本部品番号:E28536-06)

2016年11月

Oracle Event Processingアプリケーションおよびサーバー・クラスタの管理方法。アプリケーション・デプロイメント、Oracle Coherence、Jetty、JDBCおよびセキュリティ構成手順を含みます。

Oracle Fusion Middleware Oracle Event Processingの管理, 12cリリース(12.1.3)

E57532-04

Copyright © 2007, 2015, Oracle and/or its affiliates.  All rights reserved.

原本著者: Oracle® Corporation

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 対象読者

- 関連ドキュメント

- 表記規則

このガイドでの新しい情報

第I部 概要

1 サーバー管理の概要

- 1.1 サーバー提供サービス

- 1.2 サーバー・ドメイン

- 1.3 サーバー・ライフ・サイクル

- 1.3.1 サーバー起動アクション

- 1.3.2 サーバー停止アクション

- 1.4 サーバー構成

- 1.4.1 サーバー構成ファイル

- 1.4.2 config.xmlファイルの編集

- 1.4.3 構成履歴の管理

- 1.4.4 サーバーのbootclasspathの構成

- 1.5 サーバー管理ツール

- 1.6 サーバー管理タスク

第II部 スタンドアロンサーバー・ドメイン

2 スタンドアロンサーバー・ドメイン

- 2.1 構成ウィザード

- 2.2 スタンドアロンサーバー・ドメインの作成

- 2.2.1 グラフィカル・モードでのスタンドアロンサーバー・ドメインの作成

- 2.2.2 サイレント・モードでのスタンドアロンサーバー・ドメインの作成

- 2.2.2.1 XMLプロパティ・ファイルの作成

- 2.2.2.2 サイレント・モードの使用とログ・ファイルの生成

- 2.2.2.3 コマンド・ウィンドウでの終了コードの戻り値

- 2.3 スタンドアロンサーバー・ドメインの更新

- 2.3.1 グラフィカル・モードでのスタンドアロンサーバー・ドメインの更新

- 2.3.2 サイレント・モードでのスタンドアロンサーバー・ドメインの更新

- 2.4 スタンドアロンサーバー・ドメインでのサーバーの起動と停止

- 2.4.1 startwlevsスクリプトを使用したスタンドアロンサーバーの起動

- 2.4.2 stopwlevsスクリプトを使用したスタンドアロンサーバーの停止

3 スタンドアロンサーバー・ドメイン・アプリケーション・デプロイメント

- 3.1 デプロイヤ・ユーティリティを使用したデプロイ

第III部 マルチサーバー・ドメイン

4 マルチサーバー・ドメインについて

- 4.1 マルチサーバー管理

- 4.1.1 Oracle Coherence

- 4.1.2 Oracle Event Processingネイティブ・クラスタリング

- 4.2 サーバー・グループ

- 4.2.1 シングルトン・サーバー・デプロイメント・グループ

- 4.2.2 ドメイン・デプロイメント・グループ

- 4.2.3 カスタム・デプロイメント・グループ

- 4.3 マルチサーバーの通知およびメッセージング

- 4.4 マルチサーバー・ドメインのディレクトリ構造

- 4.5 cluster要素の子要素の順序

- 4.6 高可用性およびマルチサーバー・ドメイン

- 4.7 スケーラビリティおよびマルチサーバー・ドメイン

5 Oracle Coherenceを使用したマルチサーバー・ドメイン

- 5.1 マルチサーバー・ドメインの作成

- 5.2 デフォルト・グループでのマルチサーバー・ドメインの作成

- 5.3 カスタム・グループでのマルチサーバー・ドメインの作成

- 5.4 Oracle Coherenceクラスタの構成

- 5.5 マルチサーバー・ドメインの更新

- 5.6 サーバー間で送信されるメッセージの保護

- 5.7 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの管理

- 5.8 マルチサーバー・ドメインでのサーバーの起動と停止

6 ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

- 6.1 マルチサーバー・ドメインの作成

- 6.2 デフォルト・グループでのマルチサーバー・ドメインの作成

- 6.3 カスタム・グループでのマルチサーバー・ドメインの作成

- 6.4 マルチサーバー・ドメインの更新

- 6.5 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

- 6.6 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

- 6.7 マルチサーバー・ドメインでのサーバーの起動と停止

7 マルチサーバー・ドメイン・アプリケーション・デプロイメント

- 7.1 ターゲット・サーバー・グループ

- 7.2 サーバーのシングルトン・グループへのデプロイ

- 7.3 サーバーのドメイン・グループへのデプロイ

- 7.4 サーバーのカスタム・グループへのデプロイ

- 7.5 トラブルシューティング

第IV部 サービスの構成

8 ネットワークI/O

- 8.1 ネットワークI/Oプロバイダ

- 8.2 ネットワークI/Oサーバー(netio)の構成

- 8.3 ネットワークI/Oクライアント(netio-client)の構成

9 セキュリティ

- 9.1 ユーザー、グループおよびロール

- 9.2 Oracle Event ProcessingサーバーのJava SEセキュリティ

- 9.3 セキュリティ・プロバイダ

- 9.4 パスワードの強度

- 9.5 ネットワーク・トラフィックを保護するためのSSL

- 9.5.1 SSLの手動での構成

- 9.5.2 キー・ストアの手動での作成

- 9.5.3 マルチサーバー・ドメインでのビジュアライザ用SSLの構成

- 9.5.4 SAML2サービス・プロバイダとアイデンティティ・プロバイダの間のSSLの構成

- 9.6 FIPS

- 9.7 SAML2を使用したSSO

- 9.7.1 SAML2サービス・プロバイダ・オプションの構成

- 9.7.2 SAML2アイデンティティ・プロバイダ・オプションの構成

- 9.7.3 SAML2 Webアプリケーション・オプションの構成

- 9.8 HTTPS専用接続

- 9.9 サーバー・サービスのセキュリティ

- 9.9.1 Jettyセキュリティの構成

- 9.9.2 JMXセキュリティの構成

- 9.9.3 JDBCセキュリティの構成

- 9.9.4 HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

- 9.10 ビジュアライザのクロスドメイン・セキュリティ

- 9.11 セキュリティ監査プログラム

- 9.12 セキュリティの無効化

- 9.13 セキュリティ・ユーティリティ

- 9.14 コマンドライン・ユーティリティのユーザー資格証明

- 9.15 Oracle Event Processingの例およびドメインにおけるセキュリティ

10 Jetty

- 10.1 Jettyの機能

- 10.2 スレッド・プール

- 10.3 ワーク・マネージャの構成

- 10.4 アプリケーションの開発とデプロイメント

- 10.5 Jettyサーバー・インスタンスの構成

- 10.5.1 Jetty構成の例

- 10.5.2 Jetty構成オブジェクト

11 JMX

- 11.1 MBean使用法

- 11.2 Oracle Event Processing JMXサーバーへのアクセス

- 11.3 MBeanのタイプ

- 11.3.1 構成MBean

- 11.3.2 構成MBeanのネーミング

- 11.3.3 ランタイムMBean

- 11.3.4 ランタイムMBeanのネーミング

- 11.3.5 Event Processing MBeanの階層

- 11.4 JMXの構成

- 11.4.1 JMX構成の例

- 11.4.2 JMX構成オブジェクト

- 11.5 JMXによる管理

- 11.5.1 APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続

- 11.5.2 APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続

- 11.5.3 JMX APIを使用したOracle Event Processingコンポーネントの構成

- 11.5.4 JMX APIを使用したコンポーネントのスループットと待機時間の監視

- 11.5.5 セキュリティが有効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続

- 11.5.6 セキュリティが無効なJConsoleを使用したローカルまたはリモートJMXサーバーへの接続

12 JDBC

- 12.1 データベース・アクセス

- 12.1.1 Oracle JDBCドライバ

- 12.1.2 サポートされるデータベース

- 12.2 Oracle Event Processingデータ・ソース

- 12.2.1 デフォルトのデータソースの構成

- 12.2.2 カスタムのデータソースの構成

- 12.2.3 ネイティブJDBC接続の取得

- 12.3 Oracle JDBCドライバを使用したデータベースへのアクセスの構成

- 12.4 Microsoft SQL Server JDBCドライバを使用したデータベース・アクセスの構成

- 12.5 異なるデータベース・ドライバまたはドライバ・バージョンへのアクセスの構成

- 12.5.1 bundler.shを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス

- 12.5.2 bootclasspathでのデータベース・ドライバへのアクセス

13 HTTPパブリッシュ/サブスクライブ・サーバー

- 13.1 デフォルトのHTTP Pub-Subサーバー

- 13.2 HTTPパブリッシュ/サブスクライブ・アダプタ

- 13.3 サーバー・アーキテクチャ

- 13.4 新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成

- 13.5 既存のHTTPパブリッシュ/サブスクライブ・サーバーの構成

14 ロギングとデバッグ

- 14.1 ロギングの構成シナリオ

- 14.2 Commons Apacheログ・フレームワーク

- 14.2.1 ログ・ファクトリの設定

- 14.2.2 ログの重大度レベルの使用

- 14.2.3 ログ・ファイル

- 14.2.4 ログ・メッセージ・フォーマット

- 14.2.4.1 ログ・ファイルへの出力の形式

- 14.2.4.2 コンソールへの出力、標準出力および標準エラーの形式

- 14.3 OSGiフレームワーク・ロガー

- 14.4 Log4jロガー

- 14.4.1 ロガー

- 14.4.2 アペンダ

- 14.4.3 レイアウト

- 14.5 ロギング・サービスの構成

- 14.5.1 logging-service

- 14.5.2 log-file

- 14.5.3 log-stdout

- 14.5.4 個別モジュールの重大度の構成

- 14.6 Log4jロギングの構成

- 14.6.1 log4jプロパティの構成

- 14.6.2 アプリケーション・マニフェストの構成

- 14.6.3 Log4jロギングの有効化

- 14.6.4 Log4jロギングのデバッグ

- 14.7 Apache CommonsロギングAPIの使用

- 14.8 デバッグ・オプションの構成

- 14.8.1 構成ファイルを使用したデバッグ・オプションの構成

コマンド・リファレンス

A wlevs.Adminコマンドライン・リファレンスについて

- A.1 wlevs.Adminユーティリティの概要

- A.2 wlevs.Adminユーティリティ環境の構成

- A.3 リモートでwlevs.Adminユーティリティの実行

- A.4 SSLモードでのwlevs.Adminユーティリティの実行

- A.5 wlevs.Adminユーティリティを呼び出すための構文

- A.5.1 環境の例

- A.5.2 wlevs.Adminによって戻された終了コード

- A.6 接続引数

- A.7 ユーザー資格証明の引数

- A.8 共通引数

- A.9 HELPコマンド

- A.10 SHUTDOWNコマンド

- A.11 Oracle CQLルールを管理するためのコマンド

- A.11.1 GETRULE

- A.11.2 ADDRULE

- A.11.3 DELETERULE

- A.11.4 REPLACERULE

- A.11.5 STARTRULE

- A.11.6 STOPRULE

- A.11.7 UPLOAD

- A.11.8 DOWNLOAD

- A.12 MBeanを管理するためのコマンド

- A.12.1 MBeanタイプの指定

- A.12.2 MBean管理コマンド

- A.12.3 GET

- A.12.4 INVOKE

- A.12.5 QUERY

- A.12.6 アプリケーションおよびプロセッサの名前の問合せ

- A.12.7 SET

- A.13 イベントの記録および再生を制御するためのコマンド

- A.13.1 STARTRECORD

- A.13.2 STOPRECORD

- A.13.3 CONFIGURERECORD

- A.13.4 SCHEDULERECORD

- A.13.5 LISTRECORD

- A.13.6 STARTPLAYBACK

- A.13.7 STOPPLAYBACK

- A.13.8 CONFIGUREPLAYBACK

- A.13.9 SCHEDULEPLAYBACK

- A.13.10 LISTPLAYBACK

- A.14 スループットおよび待機時間を監視するためのコマンド

- A.14.1 MONITORAVGLATENCY

- A.14.2 MONITORAVGLATENCYTHRESHOLD

- A.14.3 MONITORMAXLATENCY

- A.14.4 MONITORAVGTHROUGHPUT

- A.15 構成履歴を管理するためのコマンド

- A.15.1 CONFIGHISTORY

- A.15.2 DELETECONFIGCHANGEHISTORY

- A.15.3 LISTCHANGERECORDS

- A.15.4 LISTRESOURCEREVISIONS

- A.15.5 UNDOCONFIGCHANGE

B デプロイヤ・コマンドライン・リファレンス

- B.1 デプロイヤ・ユーティリティの使用方法の概要

- B.2 デプロイヤ・ユーティリティ環境の構成

- B.3 リモートでのデプロイヤ・ユーティリティの実行

- B.4デプロイヤ・ユーティリティを起動するための構文

- B.4.1 接続引数

- B.4.2 ユーザー資格証明の引数

- B.4.3 デプロイメント・コマンド

- B.5 デプロイヤ・ユーティリティの例

C セキュリティ・ユーティリティ・コマンドライン・リファレンス

- C.1 cssconfigコマンドライン・ユーティリティ

- C.2 encryptMSAConfigコマンドライン・ユーティリティ

- C.3 GrabCertコマンドライン・ユーティリティ

- C.4 passhashコマンドライン・ユーティリティ

- C.5 policygenコマンドライン・ユーティリティ

- C.6 encrypttoolコマンドライン・ユーティリティ

はじめに

このドキュメントでは、Oracle Stream Analyticsサーバーを構成および管理する方法について説明します。Oracle Stream Analytics Visualizerは、ほとんどの管理タスクに使用します。Oracle Event Processingビジュアライザの使用を参照してください。

この管理ガイドでは、コマンドライン・ユーティリティおよびプログラム・インタフェースについて説明します。プログラム・インタフェースには、サーバー・グループおよびドメイン・メンバーシップを管理するための管理bean (MBean)およびインタフェースを含みます。インタフェースにより、開発者は、管理者が使用するOracle Stream Analyticsインストール用の管理コンソールを設計して作成できます。コマンドライン・ユーティリティは、管理タスクをコマンド・ラインから実行することを好む管理者用です。

対象読者

この項では、このドキュメントの対象読者について説明します。

このドキュメントは、Oracle Event Processingサーバー管理者を対象としています。

関連ドキュメント

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

- Oracle SOA製品およびOracle AIA Foundation Packの既知の問題: http://www.oracle.com//technetwork/middleware/soasuite/documentation/soaknown-2644661.html。

- Oracle Event Processingアプリケーションの開発

- Oracle Event Processingスタート・ガイド

- Oracle Event Processingのスキーマ・リファレンス

- Oracle Event Processingビジュアライザの使用

- Oracle Event Processingのカスタマイズ

- Oracle CQLデータ・カートリッジによるアプリケーションの開発

- Oracle Event Processing Oracle CQL言語リファレンス

- Oracle Event Processing Java APIリファレンス

- Oracle Stream Explorerの使用

- Oracle Stream Explorerスタート・ガイド

- 『Oracle Database SQL言語リファレンス』: : http://docs.oracle.com/cd/E16655_01/server.121/e17209/toc.htm

- SQL99仕様(ISO/IEC 9075-1:1999、ISO/IEC 9075-2:1999、ISO/IEC 9075-3:1999およびISO/IEC 9075-4:1999)

- Oracle Event Processingフォーラム: http://forums.oracle.com/forums/forum.jspa?forumID=820

表記規則

このマニュアルでは次の表記規則を使用します。

表記規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

このガイドで説明する新機能

このガイドは、12cリリース用に更新されました。ファイル名、スクリーン・ショットおよびテキストは、新しいファイル名およびファイル・システム構造を反映するために更新されています。次の表は、その他の変更のリストを示しています。

項

変更内容

マニュアル全体

製品の名前がOracle Event Processingに変更されました。

ネットワークI/Oプロバイダ

内部使用目的のいくつかのクラスへの参照が削除されました。

デプロイメント・コマンド

サポートされていないstartLevelコマンドが削除されました。

第I部 概要

この部では、サーバー管理タスクおよびツールの概要を示します。

「概要」は、次の章で構成されています。

- サーバー管理の概要

1 サーバー管理の概要

Oracle Stream Analyticsサーバー管理タスクには、ドメインの作成およびドメイン、サーバーおよびアプリケーションの管理が含まれます。このガイドでは、これらのタスクを実行するためにコマンドラインから実行するサーバー管理ツールについて説明します。

Oracle Stream Analytics Visualizerも使用できます。Visualizerは、Oracle Stream Analyticsサーバーおよびドメインの管理およびOracle Stream Analyticsアプリケーションおよびセキュリティの様々な側面を表示、開発、構成および監視できるブラウザベースのツールです。『Oracle Event Processingビジュアライザの使用』のOracle Stream Analytics Visualizerの開始に関する項を参照してください。

この章の内容は次のとおりです。

- サーバー提供サービス

- サーバー管理タスク

- サーバー・ライフ・サイクル

- サーバー・ドメイン

- サーバー構成

- サーバー管理ツール

このガイドで説明しているOracle Stream Analytics APIの詳細は、Oracle Event ProcessingのJava APIリファレンスも参照してください。

1.1 サーバー提供サービス

Oracle Event Processingサーバーには、Oracle Event Processingアプリケーションをデプロイする論理的に関連付けられたリソースとサービスがあります。

サービスは次のとおりです。

- ネットワークI/O: サーバー/クライアントのインターネット・プロトコル(IP)ポート・アクセス、IPv4/IPv6のサポート、および各種ブロック/非ブロック・ネットワークI/Oプロバイダ。

- セキュリティ: SSL、パスワード・ストアおよび認証と認可プロバイダなどのセキュリティ・サービス。

- Jetty HTTPパブリッシュ/サブスクライブ・サーバー: HTTP上で、Webクライアントがチャネルに対してサブスクライブし、非同期のメッセージをこれらのチャネルに対してパブリッシュできるようにします。

- Java Management Extensions (JMX): プログラムからOracle Event Processingサーバーおよびアプリケーション動作へのアクセス。

- JDBCデータ・ソース: リレーショナル・データベースにアクセスして、イベント・レコードおよび再生のイベントを格納できるようにし、Oracle CQL問合せのイベント・ソースとして表にアクセスできるようにします。

- HTTPパブリッシュ/サブスクライブ・サーバー: イベント・メッセージを、Oracle Event Processing Visualizerおよびご使用のWeb 2.0アプリケーションなどのサブスクライブされたクライアントにプッシュします。

- ロギング: サーバーおよびアプリケーションの操作を監視およびトラブルシューティングします。

1.2 サーバー・ドメイン

Oracle Stream Analyticsドメインは、1つ以上のサーバーのセットの管理ユニットです。

次の2種類のドメインがあります。

- スタンドアロンサーバー・ドメイン: 単一のサーバーを含むドメインです。これは、「構成」ウィザードで作成され、マルチサーバー・ドメインの開始点であるデフォルトのドメインのタイプです。「スタンドアロンサーバー・ドメイン」を参照してください。

- マルチサーバー・ドメイン: 同じユニキャスト・アドレス、ユニキャスト・ポート、マルチキャスト・アドレス、マルチキャスト・ポートおよびセキュリティ・プロバイダを共有する2つ以上のサーバーが含まれるドメインです。マルチキャスト・アドレス、マルチキャスト・ポートおよびドメインは、ドメイン内のサーバーごとにconfig.xmlファイルで構成されます。マルチサーバー・ドメイン内にサーバー・グループを作成でき、指定したサーバー・グループ内の各サーバーにアプリケーションをデプロイできます。マルチサーバー・ドメイン内のサーバーは、同一コンピュータ上または別々のコンピュータ上に置くことができます。

1.3 サーバー・ライフ・サイクル

Oracle Event Processingサーバーのライフ・サイクルの状態は、それ自体に特有です。これらはOSGiバンドルの状態ではありません。

図1-1は、Oracle Event Processingサーバー・ライフ・サイクルの状態図を示しています。この図では、状態名(STARTING、RUNNINGおよびSHUTTING_DOWN)は、ServerRuntimeMBean.getStateメソッドの戻り値に対応します。このような状態はOracle Event Processingに固有のものです。

図1-1 サーバー・ライフ・サイクル状態図

1.3.1 サーバー起動アクション

Oracle Event Processingサーバーを起動すると、次のアクションが実行されます。

1. コア・エンジン・バンドルを起動します。

2. Oracle Event Processingバンドルおよび拡張機能ライブラリを起動します。

3. MBeanを登録します。

4. このときOracle Event Processingサーバーの状態はSTARTINGです。

5. アプリケーション・ライブラリを起動してから、アプリケーション・バンドルを起動します。

6. このときOracle Event Processingサーバーの状態はRUNNINGです。

1.3.2 サーバー停止アクション

Oracle Event Processingサーバーを停止すると、次の処理が実行されます。

1. Oracle Event Processingサーバーの状態はSHUTTING_DOWNです。

2. ServerRuntimeMBeanを登録解除します。

Oracle Event Processingサーバーに状態が割り当てられなくなります。

3. Oracle Event Processingバンドルを停止します。

4. アプリケーション・バンドルを停止します。

5. コア・エンジン・バンドルを停止します。

1.4 サーバー構成

サーバーを構成し、そのサーバーにデプロイされたアプリケーションを構成し、タスクを静的または動的に実行できます。静的な構成にはXMLファイルの編集が含まれます。動的な構成には、管理Bean(MBeans)の操作が含まれます。

プログラムによって実行するには、Oracle Event Processing Visualizer、wlevs.Adminコマンドライン・ツールまたはJMX APIを使用できます。

静的な構成

Jettyの構成などのサーバー構成タスクは静的でのみ実行できます。

サーバーを静的に構成するには、次の手順を実行します。

1. Oracle Event Processingサーバーを停止します。

2. Oracle Event Processingサーバーのドメイン・ディレクトリにあるconfig.xmlファイルを編集します

3. Oracle Event Processingサーバーを起動します。

動的な構成

一部のサーバー構成タスクは、JMXおよびMBeanを使用して動的に実行できます。この場合、変更を反映するためにサーバーを手動で停止および開始する必要はありません。

アプリケーションをデプロイした後、Oracle Event Processingサーバーがアプリケーションまたはコンポーネントに対して自動的に作成するMBeanを操作して、アプリケーションまたは個々のコンポーネントの構成を動的に変更することができます。通常のタスクでは、Oracle Event Processing Visualizer、wlevs.Adminコマンドライン・ユーティリティまたはJMXを使用してデプロイされたアプリケーションのプロセッサのOracle CQLルールを動的に構成します。

関連情報

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

- サーバーの構成

- wlevs.Adminコマンドライン・リファレンスについて

- JMX。

1.4.1 サーバー構成ファイル

すべてのサーバー・ファイルは、単一のサーバー・ディレクトリに含まれます。メイン・サーバーの構成ファイルはconfig.xmlであり、このファイルでサーバー・サービスを構成して、サーバーが属するドメインを指定します。

デフォルトでは、サーバー・ドメインは構成ウィザードによって/Oracle/Middleware/my_oep/user_projects/domainsディレクトリに作成されます。次のリストで、各ドメインの重要なサーバー・ファイルおよびディレクトリについて説明します。

- 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データ・ソースがあります。

- config/security*: ドメインのセキュリティを構成するファイルです。

- config/atnstore.txt: ドメインの構成済ユーザーとユーザー・グループをリストするファイルです。

1.4.2 config.xmlファイルの編集

Oracle Event Processingサーバーを構成する最も効率的な方法は、サーバー管理ツールで説明されているように、1つ以上のOracle Event Processing管理ツールを使用する方法です。Oracle Event Processingサーバーのconfig.xmlファイルを編集することにより、Oracle Event Processingサーバー構成を実行できます。

注意:

config.xmlファイルを手動で更新し、Oracle Event Processingサーバーの構成を変更した場合、変更を有効にするにはサーバーを再起動する必要があります。

config.xmlファイルを使用して、次のサーバー・オブジェクトおよび機能を構成できます。参照先の項では、追加または更新する必要がある要素を正確に記述しています。

- マルチサーバー・ドメインのサーバーを同時に構成する方法。マルチキャスト・アドレス、マルチキャスト・ポート、サーバー・グループなどを構成します。参照:

- スタンドアロンサーバー・ドメイン

- Oracle Coherenceを使用したマルチサーバー・ドメイン

- ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

- ネットワークI/O。「ネットワークI/O」を参照してください。

- セキュリティ。「セキュリティ」を参照してください。

- Jetty (オープン・ソース、標準ベース、フル機能のJava Webサーバー)。「Jetty」を参照してください。

- Oracle Event Processing Visualizer、wlevs.Adminユーティリティおよびデプロイヤ・ユーティリティを使用するために必要なJMX。JMXを参照してください。

- リレーショナル・データベースへの接続に使用されるJDBCデータ・ソース。「JDBC」を参照してください。

- HTTPパブリッシュ/サブスクライブ・サーバー。「HTTPパブリッシュ/サブスクライブ・サーバー」を参照してください。

- サーバーのロギングおよびデバッグ・プロパティ。デフォルトでは、ログ・セキュリティ・レベルはNOTICEに設定されています。「ロギングとデバッグ」を参照してください。

次の例に、これらのサービスのいくつかの構成を含む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>oep_domain</name>
</domain>

1.4.3 構成履歴の管理

サーバーにアプリケーションをデプロイするとき、サーバーによってアプリケーションの構成履歴が作成されます。アプリケーションで行うすべての構成変更はこの履歴に記録されます。Oracle Event Processing Visualizerまたはwlevs.Adminツールでこれらの変更の表示およびロールバック(undo)ができます。

1.4.4 サーバーのbootclasspathの構成

-Xbootclasspathコマンドを使用して、ブートストラップ・クラスおよびリソースの検索パスを設定します。たとえば、このコマンドを使用して、サーバー構成ファイル(config.xml)による設定を超えたサーバー依存関係を満たすことができます。また、このコマンドを使用して、アプリケーション・インポート文により設定されライブラリおよびライブラリ拡張ディレクトリで検出されるものを超えたアプリケーションとアプリケーション・ライブラリの依存関係も満たすことができます。

bootclasspathを構成するには、次の手順を実行します。

1. bootclasspathを構成するドメインのサーバー・ディレクトリに、ディレクトリを変更します。

場所は次のとおりです。

/Oracle/Middleware/my_oep/user_projects/domains/<domainname>/ <server_name>

2. サーバー・ディレクトリで、起動スクリプト(オペレーティング・システムに応じてstartwlevs.shまたはstartwlevs.cmd)をエディタで開きます。

3. 次の行を探します。

"$JAVA_HOME/bin/java" $JVM_ARGS $JVM_D64 $DEBUG_ARGS -Dwlevs.home="$USER_INSTALL_DIR" -jar "${USER_INSTALL_DIR}/bin/wlevs.jar" $ARGS
/wlevs.jar

4. 使用するネイティブ・ライブラリのフル・パス名を-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:\Oracle\Middlware\my_oep\oep\bin\mynativelib.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs.jar"
-disablesecurity %1 %2 %3 %4 %5 %6

5. Oracle Event Processingが実行中の場合は、新規のjavaオプションとデータ・ソース情報を読み込むために再起動します。「サーバーの起動と停止」を参照してください。

1.5 サーバー管理ツール

この項は、Oracle Event Processingサーバー、ドメインおよびアプリケーションを管理するために使用するサーバー管理ツールについて説明します。

- 構成ウィザード。Oracle Event Processingサーバーとドメインを作成および更新するためにグラフィカルに呼び出すことができるJavaアプリケーションです。12.1.3リリースでは、構成ウィザードによってOracle Database構成のみを生成できます。「スタンドアロンサーバー・ドメイン」を参照してください。

- wlevs.Adminコマンドライン・ユーティリティ。多様なOracle Event Processingサーバー、ドメインおよびアプリケーション管理タスクを実行するためにローカルまたはリモートで呼び出すことができるJavaアプリケーションです。「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。

- デプロイヤ・コマンドライン・ユーティリティ。アプリケーションのデプロイメントとアプリケーション管理タスクを実行するためにローカルまたはリモートで呼出し可能なJavaアプリケーションです。「デプロイヤ・コマンドライン・リファレンス」を参照してください。

- セキュリティ管理ユーティリティ。「セキュリティ・ユーティリティ・コマンドライン・リファレンス」を参照してください。

- JMX。標準ベースのインタフェースのセットであり、JMXおよび管理bean (MBean)を使用したサーバー、ドメインおよびアプリケーション管理タスクの実行を可能にします。「JMX」を参照してください。

1.6 サーバー管理タスク

サーバー管理タスクには、サーバーおよびドメインの作成および更新、サーバーの構成、起動および停止、アプリケーションのデプロイおよび管理が含まれます。

サーバーとドメインの作成

Oracle Event Processingプラットフォームの設定における主な管理タスクは、サーバー・ドメインの作成および構成です。Oracle Event Processingは、スタンドアロンサーバー・ドメインおよびマルチサーバー・ドメインをサポートします。

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

- スタンドアロンサーバー・ドメイン

- Oracle Coherenceを使用したマルチサーバー・ドメイン

- ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

サーバーとドメインの更新

Oracle Event Processingサーバーとドメインを作成したら、それを更新して、構成またはサーバー・グループ・メンバーシップを変更することができます。参照:

- スタンドアロンサーバー・ドメインの更新

- マルチサーバー・ドメインの更新

- マルチサーバー・ドメインの更新

サーバー構成

Oracle Event Processingサーバーとドメインを作成したら、提供される様々なサービスを構成する必要があります。参照:

- ネットワークI/O

- セキュリティ

- Jetty

- JMXの構成

- JDBC

- HTTPパブリッシュ/サブスクライブ・サーバー

- ロギングとデバッグ

サーバーの起動と停止

少なくとも1つのサーバーとともにOracle Event Processingドメインを作成した後、アプリケーションをデプロイして実行を開始できるようにサーバー・インスタンスを起動します。アップグレード時と構成変更の後、Oracle Event Processingサーバーを停止して起動する必要があります。参照:

- スタンドアロンサーバー・ドメインでのサーバーの起動と停止

- Oracle Coherence: マルチサーバー・ドメインでのサーバーの起動と停止

- Oracle Event Processingネイティブ・クラスタリング: マルチサーバー・ドメインでのサーバーの起動と停止

注意:

Windowsオペレーティング・システムの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle Event Processingサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle Event Processingサーバーはいつでも停止します。

サーバーへのアプリケーションのデプロイ

Oracle Event Processingサーバーとドメインを作成し構成した後、Oracle Event Processingアプリケーションをデプロイできます。参照:

- スタンドアロンサーバー・ドメイン・アプリケーション・デプロイメント

- ターゲット・サーバー・グループ

アプリケーション、サーバーおよびドメインの管理

Oracle Event Processingサーバーとドメイン上にアプリケーションをデプロイしたら、パフォーマンス監視やアップグレードなどのタスクを実行するためにアプリケーションを管理する必要があります。参照:

- サーバー管理ツール

- JMXによる管理

第II部 スタンドアロンサーバー・ドメイン

この部では、スタンドアロンサーバー・ドメインの作成方法および構成方法を説明します。

「スタンドアロンサーバー・ドメイン」は、次の章で構成されています。

- スタンドアロンサーバー・ドメイン

- スタンドアロンサーバー・ドメイン・アプリケーション・デプロイメント

2 スタンドアロンサーバー・ドメイン

Oracle Stream Analyticsスタンドアロンサーバー・ドメインには、単一のOracle Stream Analyticsサーバーが含まれます。デフォルトでは、構成ウィザードはスタンドアロンサーバー・ドメインを作成し、そのドメインをマルチサーバー・ドメインの開始点にすることができます。

この章の内容は次のとおりです。

- 構成ウィザード

- スタンドアロンサーバー・ドメインの作成

- スタンドアロンサーバー・ドメインの更新

- スタンドアロンサーバー・ドメインでのサーバーの起動と停止

2.1 構成ウィザード

構成ウィザードは、新しいドメインの作成や既存のドメインの更新を可能にする管理ツールです。構成ウィザードは、グラフィカル・モード(対話型)またはサイレント・モードで使用できます。

サイレント・モードは非対話型であり、構成オプションの選択にXMLプロパティ・ファイルが必要です。サイレント・モードの構成は、スクリプトの一部として実行することも、コマンド・ラインから実行することもできます。サイレント・モードの構成の利点は、マルチサーバー・ドメインを作成する場合に、ドメイン構成オプションを一度設定したら同じオプションを使用して他のサーバーの構成を設定できることです。

次の手順では、グラフィカル・モードおよびサイレント・モードで作成および更新操作を実行する方法について説明します。スタンドアロンサーバー・ドメインのリスニング・ポートおよびJDBCデータ・ソース構成のみを更新できます。

新しいドメインの作成およびドメインの更新と同様に、サンプル付きの新しいドメインの作成およびサンプル付きのドメインの更新が可能です。「スタンドアロンサーバー・ドメインの作成」および「スタンドアロンサーバー・ドメインの更新」を参照してください。

2.2 スタンドアロンサーバー・ドメインの作成

構成ウィザードを使用して、アプリケーションをデプロイする新しいドメインを作成します。構成ウィザードは、ドメインに単一のデフォルト・サーバーを作成します。サーバー・ファイルはすべて、ドメイン・ディレクトリのサブディレクトリにあります。ドメイン・ディレクトリの名前はサーバーと同じです。

次のものも構成します。

- サーバー管理ユーザー名とパスワード。

- デフォルト以外のデータベースまたはデータベース・ドライバ。

- サーバー・リスニング・ポート。

- アイデンティティ・キーストアおよび秘密鍵ストアのパスワード。

2.2.1 グラフィカル・モードでのスタンドアロンサーバー・ドメインの作成

一度起動すると、グラフィカル・モードの構成ウィザードは自明ですが、参考のために完全な手順をここに示します。

1. /Oracle/Middleware/my_osa/osa/common/binディレクトリに移動します。

2. configコマンドを実行してウィザードを起動します。

UNIX:
./config.sh

Windows: config.cmd

Oracleの「ようこそ」画面が表示されます。

3. 「次へ」をクリックします。
「ドメインの作成または更新の選択」画面が表示されます。

4. 「ドメインの作成または更新の選択」ウィンドウで「新規OSAドメインの作成」を選択し、「次」をクリックします。
「管理者ユーザー名およびパスワードの構成」画面が表示されます。

5. 「管理者ユーザー名およびパスワードの構成」画面で次の項目を入力します。
ユーザー名: osaadmin ユーザー・パスワード: welcome1 ユーザー・パスワードの確認: welcome1。

6. 「次へ」をクリックします。

7. ドメインのデフォルト・サーバーについての基本的な構成情報を入力します。具体的には、次のとおりです。
「サーバーの構成」画面が表示されます。

- デフォルト・サーバーの名前を入力します。この名前は、デフォルト・サーバーのファイルを格納するディレクトリの名前としても使用されます。

- Oracle Stream Analytics自体のリスニング・ポート。デフォルトは9002です。

8. 「サーバーの構成」画面で、サーバー名とリスニング・ポートを次のように入力します。
サーバー名: デフォルト・サーバーの名前です。この名前は、デフォルト・サーバーのファイルを格納するディレクトリの名前でもあります。

サーバー・リスニング・ポート: Oracle Stream Analyticsがイベントをリスニングするポートです。デフォルトは9002です。

9. 「次へ」をクリックします。
「ドメイン・アイデンティティ・キーストアの構成」画面が表示されます。

10. 「ドメイン・アイデンティティ・キーストアの構成」画面で、次の項目を入力します。
キーストア・ファイル: デフォルトを受け入れます。キーストア・パスワード: welcome1。キーストア・パスワードの確認: welcome1。

デフォルトでは、証明書秘密鍵のパスワードは、ドメイン・アイデンティティ・キーストアのパスワードと同じです。

11. 「次へ」をクリックします。
「構成オプション」画面が表示されます。

12. 「構成オプション」画面で、JDBCデータ・ソース構成を更新するかどうかを決定します。
「いいえ」を選択する場合、JDBCデータ・ソースは構成されません。「はい」を選択する場合、JDBCデータ・ソース情報を入力できるページに進みます。

a. JDBCデータ・ソースを作成するには:

- 「はい」を選択して、「次へ」をクリックします。
「データベース・プロパティの構成」画面が表示されます。

- 「データベース・プロパティの構成」画面で、新しいJDBCデータ・ソース値を入力します。
一番上のセクションで、データ・ソースの名前、タイプ、ドライバ名および場所を入力します。

下のセクションで、このデータ・ソースを接続するデータベースの情報を入力します。JDBC接続URLは、入力した情報に基づいて生成されます。

- 「次へ」をクリックします。
「OSAドメインの作成」画面が表示されます

b. JDBCデータ・ソースを作成しない場合は、「いいえ」を選択して「次」をクリックします。
「OSAドメインの作成」画面が表示されます。

13. 「OSAドメインの作成」画面で、次の情報を入力します。
ドメイン名: 新しいドメインの名前。ドメインの場所: デフォルトを受け入れます。

構成ウィザードは、ドメインの場所のディレクトリに指定したドメイン名でドメインを作成します。

14. 「作成」をクリックします。
「ドメインの作成中」画面が表示されます。

ドメインの作成に成功すると、次のようなメッセージが情報ウィンドウに表示されます。

Domain created successfully!
Domain location: C:\Oracle\Middleware\my_osa\user_projects\domains\osa_domain

15. 「完了」をクリックし、構成ウィザードを終了します。

16. ドメインの場所に移動し、作成したドメインを確認します。

2.2.2 サイレント・モードでのスタンドアロンサーバー・ドメインの作成

サイレント・モードはドメインを更新する非対話型の方法であり、構成オプションの選択にXMLプロパティ・ファイルが必要です。

- XMLプロパティ・ファイルの作成

- サイレント・モードの使用とログ・ファイルの生成

- コマンド・ウィンドウでの終了コードの戻り値

2.2.2.1 XMLプロパティ・ファイルの作成

XMLプロパティ・ファイルを作成するには、次の手順を実行します。

1. 構成ウィザードをサイレント・モードで実行するコンピュータで、XMLエディタを使用して空のファイルを作成します。

ファイル名は任意ですが、拡張子は.xmlを使用してください。この手順では、ファイル名はsilent.xmlです。

2. 次のXMLファイル例の内容をsilent.xmlファイルにコピーします。

<?xml version="1.0" encoding="UTF-8"?>
<bea-installer xmlns="http://www.bea.com/plateng/wlevs/config/silent">
<input-fields>
<data-value name="CONFIGURATION_OPTION" value="createDomain" />
<data-value name="USERNAME" value="wlevs" />
<data-value name="PASSWORD" value="wlevs" />
<data-value name="SERVER_NAME" value="my_wlevs_server" />
<data-value name="DOMAIN_NAME" value="myDomain" />
<data-value name="DOMAIN_LOCATION"
value="C:\Oracle\Middleware\my_osa\user_projects\domains" />
<data-value name="NETIO_PORT" value="9002" />
<data-value name="KEYSTORE_PASSWORD" value="my_keystore_password" />
<data-value name="PRIVATEKEY_PASSWORD" value="my_privatekey_password" />
<data-value name="DB_URL" value="jdbc:oracle:thin:@locahost:1521:XE" />
<data-value name="DB_USERNAME" value="db_user" />
<data-value name="DB_PASSWORD" value="db_password" />
</input-fields>
</bea-installer>

3. silent.xmlファイルで、表2-1に示されているキーワードの値を編集して構成を反映します。

たとえば、新しいドメインを/Oracle/Middleware/my_osa/finance_projects/domainsディレクトリに作成するには、対応する<data-value>要素を次のように更新します

<data-value name="DOMAIN_LOCATION"
value="/Oracle/Middleware/my_osa/finance_projects/domains" />

表2-1 silent.xmlファイルの値

このデータ値名に対して...

次の値を入力します...

CONFIGURATION_OPTION

デフォルト・サーバーを使用して新しいドメインを作成するか、既存のドメイン内のサーバーを更新するか。

有効な値はcreateDomainまたはupdateDomainまたはupdateDomainWithSampleまたはcreateDomainWithSampleです。デフォルト値はcreateDomainです。

サンプル付きの新しいドメインの作成にcreateDomainWithSampleを割り当ててください。

サンプル付きのドメインの更新にupdateDomainWithSampleを割り当ててください。

EXISTING_DOMAIN_PATH

ドメインの既存のサーバーのフルパス名。

このオプションは、ドメイン内の既存のサーバーを更新する場合にのみ使用します。

USERNAME

ドメイン内で作成または更新するサーバーの管理者のユーザー名。

PASSWORD

ドメイン内で作成または更新するサーバーの管理者のパスワード。

SERVER_NAME

このドメイン内の新しいサーバーの名前。この名前は、サーバーのファイルを格納するディレクトリ名としても使用されます。

DOMAIN_NAME

ドメインの名前。

DOMAIN_LOCATION

ドメインが格納されるディレクトリの完全な名前。

Oracle Stream Analyticsドメインの標準の場所は/Oracle/Middleware/my_osa/user_projects/domainsです。

NETIO_PORT

Oracle Stream Analyticsサーバー・インスタンスがリスニングするポート番号。

KEYSTORE_PASSWORD

Oracle Stream Analyticsアイデンティティ・キーストアのパスワード。

PRIVATEKEY_PASSWORD

証明書のプライベート・キーのパスワード。

このオプションのデフォルト値はKEYSTORE_PASSWORDの値です。

DB_URL

JDBCを使用してデータベースに接続する際に使用されるURL。このオプションは、データソースの構成に使用されます。

データベースの構成パラメータは省略可能であり、指定しない場合、サーバーのデータ・ソースは構成されません。

DB_USERNAME

データ・ソースを経由してデータベースに接続するユーザーの名前。

データベースの構成パラメータは省略可能であり、指定しない場合、サーバーのデータ・ソースは構成されません。

DB_PASSWORD

データ・ソースを経由してデータベースに接続するユーザーのパスワード。

データベースの構成パラメータは省略可能であり、指定しない場合、サーバーのデータ・ソースは構成されません。

4. ファイルを任意のディレクトリに保存します。

2.2.2.2 サイレント・モードの使用とログ・ファイルの生成

1. /Oracle/Middleware/my_osa/oep/common/binディレクトリに移動します。

2. configコマンドを実行してウィザードをサイレント・モードで起動し、正しくないXMLプロパティ・エントリに対する障害を取得するためのログ・ファイルを生成します。

UNIX:
./config.sh -mode=silent -silent_xml=path_to_xml_file -log=/logs/create_domain.log

Windows: config.cmd -mode=silent -silent_xml=path_to_xml_file -log=/logs/create_domain.log

path_to_xml_fileは、作成したXMLプロパティ・ファイルへのフル・パス名です。

create_domain.logは、ログ・ファイルをドメイン・ディレクトリに作成することを指定します。

コマンドが正常に終了しても、メッセージは返されません。構成ウィザードのサイレント実行の成功または失敗の詳細については、「コマンド・ウィンドウでの終了コードの戻り値」を参照してください。

2.2.2.3 コマンド・ウィンドウでの終了コードの戻り値

構成ウィザードをサイレント・モードで実行すると、ドメインの作成と構成が成功したか失敗したかを示す終了コードが生成されます。生成される終了コードを次の表に示します。

表2-2 終了コード

コード

説明

0

Configuration Wizardの実行は正常に完了しました

-1

Configuration Wizardの実行は致命的なエラーにより失敗しました

-2

Configuration Wizardの実行は内部的なXML解析エラーのために失敗しました

次に示す例はサンプルのWindowsコマンド・ファイルです。これは、構成ウィザードをサイレント・モードで実行して、スクリプトの実行元のコマンド・ウィンドウに終了コードをエコーします。

rem Execute the Configuration Wizard in silent mode
@echo off
config.cmd -mode=silent -silent_xml=c:\scripts\silent.xml  -log=C:\logs\create_domain.logs

@rem Return an exit code to indicate success or failure
set exit_code=%ERRORLEVEL%

@echo.
@echo Exitcode=%exit_code%
@echo.
@echo Exit Code Key
@echo ---------------
@echo  0=Configuration Wizard completed successfully
@echo -1=Configuration Wizard failed due to a fatal error
@echo -2=Configuration Wizard failed due to an internal XML parsing error
@echo.

2.3 スタンドアロンサーバー・ドメインの更新

構成ウィザードを使用して既存のスタンドアロンサーバー・ドメインを更新します。

リスニング・ポートおよびJDBCデータ・ソース構成のみを更新できます。

2.3.1 グラフィカル・モードでのスタンドアロンサーバー・ドメインの更新

一度起動すると、グラフィカル・モードの構成ウィザードは自明ですが、参考のために完全な手順をここに示します。

1. /Oracle/Middleware/my_osa/osa/common/binディレクトリに移動します。

2. configコマンドを実行してウィザードを起動します。

UNIX:
./config.sh

Windows: config.cmd

Oracleの「ようこそ」画面が表示されます。

3. 「次へ」をクリックします。
「ドメインの作成または更新の選択」画面が表示されます。

4. 「ドメインの作成または更新の選択」ウィンドウで、既存のOracle Stream Analyticsドメインの更新を選択します。

5. 「次へ」をクリックします。
「既存のOSAドメインの選択」画面が表示されます。

6. 「既存のOSAドメインの選択」画面のテキスト・ボックスで、更新するサーバーのサーバー・ディレクトリへのフル・パス名を入力または参照します。
この例では、値はC:\Oracle\Middleware\my_osa\user_projects\domains\myDomain\productionServerです。

7. 「次へ」をクリックします。
「既存のOSAドメインの選択」画面が表示されます。

8. 「既存のOSAドメインの選択」画面で、更新するドメインへのパスをドロップダウン・リストから選択して、「次」をクリックします。
「サーバーの構成」画面が表示されます。「サーバー名」フィールドはグレー表示されていますが、サーバー・リスニング・ポート・フィールドで値を変更できます。

注意:

すべてのサーバーが同時に実行しているときに競合を避けるために、ドメイン内の他のサーバーが使用する同じ値を入力しないでください。

9. 「サーバーの構成」画面で、リスニング・ポートを変更して「次」をクリックするか、リスニング・ポートを変更せずに「次」をクリックします。
「構成オプション」画面が表示されます。

10. 「構成オプション」画面で、JDBCデータ・ソース構成を更新するかどうかを決定します。
JDBCデータ・ソース構成を更新する場合、次の手順を実行します。

a. 「構成オプション」画面で、「はい」を選択して「次」をクリックします。
「データベース・プロパティの構成」画面が表示されます。

b. 「データベース・プロパティの構成」画面で、変更を入力して「次」をクリックします。
「OSAドメインの作成」画面が表示されます。

JDBCデータ・ソース構成を変更しない場合は、次の手順を実行します。

a. 「構成オプション」画面で、「いいえ」を選択します。

b. 「次へ」をクリックします。
「OSAドメインの作成」画面が表示されます。

11. 「OSAドメインの作成」画面で、「更新」をクリックしてサーバーを更新します。

2.3.2 サイレント・モードでのスタンドアロンサーバー・ドメインの更新

サイレント・モードはドメインを更新する非対話型の方法であり、構成オプションの選択にXMLプロパティ・ファイルが必要です。

1. 実行する更新を含むXMLプロパティ・ファイルを作成します。

ファイルの作成方法の詳細が必要な場合は、「コマンド・ウィンドウでの終了コードの戻り値」を参照し、更新の設定は次のように処理してください。

- CONFIGURATION_OPTIONをupdateDomainに設定します。

- EXISTING_DOMAIN_PATHは、更新するサーバー・ファイルを含むサーバー・ディレクトリのフル・パス名に設定します。

- DOMAIN_NAMEおよびDOMAIN_LOCATIONオプションは設定しないでください。EXISTING_DOMAIN_PATHに入力した値に基づいて、構成ウィザードがすでにこれらの値を認識しているためです。

- リスニング・ポートを新しい値に設定します。NETIO_PORTなどの新しいサーバー構成オプションが、ドメインの他のサーバーのオプションと重複しないようにする必要があります。

- JDBCデータ・ソース・オプションを新しい値に設定します。更新したサーバーから他のサーバーと同じデータベースに接続する場合に、データ・ベース・オプションが重複する可能性があります。

次のXMLプロパティ・ファイルは、リスニング・ポート(NETIO_PORT)および\~mydomain\productionServerのデータ・ソース設定を更新します。

<?xml version="1.0" encoding="UTF-8" ?>
<bea-installer xmlns="http://www.bea.com/plateng/wlevs/config/silent">
<input-fields>
<data-value name="CONFIGURATION_OPTION" value="updateDomain" />
<data-value name="EXISTING_DOMAIN_PATH"
value="C:\Oracle\Middleware\my_oep\user_projects\domains\myDomain\productionServer" />
<data-value name="NETIO_PORT" value="9102" />
<data-value name="DB_URL" value="jdbc:oracle:thin:@locahost:1521:XE" />
<data-value name="DB_USERNAME" value="db_user" />
<data-value name="DB_PASSWORD" value="db_password" />
</input-fields>
</bea-installer>

2. /Oracle/Middleware/my_osa/oep/common/binディレクトリに移動します。

3. configコマンドを実行してウィザードをサイレント・モードで起動し、ログ・ファイルを生成します。

UNIX:
./config.sh -mode=silent -silent_xml=path_to_xml_file -log=/logs/create_domain.log

Windows: config.cmd -mode=silent -silent_xml=path_to_xml_file -log=/logs/create_domain.log

path_to_xml_fileは、作成したXMLプロパティ・ファイルへのフル・パス名です。

create_domain.logは、ログ・ファイルをドメイン・ディレクトリに作成することを指定します。

コマンドが正常に終了しても、メッセージは返されません。構成ウィザードのサイレント実行の成功または失敗の詳細については、「コマンド・ウィンドウでの終了コードの戻り値」を参照してください。

2.4 スタンドアロンサーバー・ドメインでのサーバーの起動と停止

コマンドライン・スクリプトまたはOracle Event Processing Visualizerを使用して、Oracle Event Processingスタンドアロンサーバーを起動および停止できます。

ビジュアライザの詳細は、『Oracle Event Processingビジュアライザの使用』を参照してください。

- startwlevsスクリプトを使用したスタンドアロンサーバーの起動

- stopwlevsスクリプトを使用したスタンドアロンサーバーの停止

2.4.1 startwlevsスクリプトを使用したスタンドアロンサーバーの起動

各Oracle Event Processingサーバー・ディレクトリには、サーバー・インスタンスを起動するコマンド・スクリプトが含まれます。デフォルトでは、スクリプトはstartwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)です。

1. サーバー起動スクリプトのJAVA_HOME変数が正しいJDKを参照していることを確認します。正しくない場合は、スクリプトを編集します。

サーバー起動スクリプトは、メイン・ドメイン・ディレクトリ配下のサーバー・ディレクトリにあります。たとえば、HelloWorldドメインのデフォルトのサーバー・ディレクトリは/Oracle/Middleware/my_osa/oep/examples/domains/helloworld_domain/defaultserverにあります。

2. コマンド・ウィンドウを開き、ドメイン・ディレクトリのサーバー・ディレクトリに移動します。たとえば、HelloWorldサンプルのサーバーを起動する場合は、次のように入力します。

cd C:\Oracle\Middleware\my_osa\oep\examples\domains\helloworld_domain\defaultserver

注意:

ターゲット・ディレクトリ内から起動スクリプトを実行する必要があります。Oracle Event Processingでは相対ディレクトリ・パスはサポートされません。

3. startwlevs.cmd (Windows)またはstartwlevs.sh (UNIX)スクリプトを実行します。

startwlevs.cmd

注意:

HP-UXの場合、OutOfMemoryErrorを避けるために、startwlevs.shのMaxPermSizeを256に増加する必要があります。たとえば、-XX:MaxPermSize=256mとします。

2.4.2 stopwlevsスクリプトを使用したスタンドアロンサーバーの停止

各Oracle Event Processingサーバー・ディレクトリには、サーバー・インスタンスを停止するコマンド・スクリプトがあります。デフォルトでは、そのスクリプトはstopwlevs.cmd (Windows)またはstopwlevs.sh (UNIX)と呼ばれます。

注意:

次の手順では、SSLモードで実行しているOracle Event Processingスタンドアロンサーバーを停止しません。SSLモードで実行しているOracle Event Processingスタンドアロン・サーバーを停止するには、「SSLモードでのwlevs.Adminユーティリティの実行」で説明されているように、wlevs.Adminユーティリティを実行します。

1. コマンド・ウィンドウを開き、サーバー・ディレクトリに移動します。たとえば、HelloWorldサンプルのサーバーを停止する場合は、次のように入力します。

cd C:\Oracle\Middleware\my_osa\oep\examples\domains\helloworld_domain\defaultserver

2. stopwlevs.cmd (Windows)またはstopwlevs.sh (UNIX)スクリプトを実行します。

-url引数を使用して、停止するサーバーへのJMX接続を確立するURLを渡します。このURLの形式はservice:jmx:msarmi://host:port//jndi/jmxconnectorです。hostはサーバーをホストしているコンピュータ、portはサーバーのJNDIポートです。いずれも、config.xmlファイルに構成されている値です。次に例を示します。

stopwlevs.sh -url service:jmx:msarmi://ariel:9002/jndi/jmxconnector

この例では、ホストはarielで、JMXポートは9002です。9002ポートは、Oracle Event Processingサーバーのconfig.xml構成ファイルに定義されたnetioポートです。MSAセキュリティでは、9002ポートをJMX接続性に使用します。

-url引数に関する追加詳細は、「接続引数」を参照してください。

注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle Event Processingサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle Event Processingサーバーはいつでも停止します。

3 スタンドアロンサーバー・ドメイン・アプリケーション・デプロイメント

スタンドアロンサーバー・ドメインにアプリケーションをデプロイするには、Oracle Event Processing Visualizerまたはデプロイヤ・ユーティリティを使用します。この章では、デプロイヤ・ユーティリティの使用方法を説明します。

詳細は、『Oracle Event Processingビジュアライザの使用』のアプリケーションのデプロイに関する項を参照してください。

3.1 デプロイヤ・ユーティリティを使用したデプロイ

サーバー・グループを指定したかどうかにかかわらず、Oracle Event Processingはスタンドアロンサーバー・ドメインの単一のサーバーにアプリケーションをデプロイします。マルチサーバー・ドメインでは、サーバーをサーバー・グループに整理して、アプリケーションを特定のサーバー・グループにデプロイできます

スタンドアロンサーバー・ドメインには1つのサーバー(シングルトン)があります。デプロイヤ・ユーティリティを使用してシングルトン・サーバーにOracle Event Processingアプリケーションをデプロイする場合、デプロイ先のサーバー・グループを指定できます。 「サーバー・グループ」を参照してください。

次の例は、シングルトン・サーバー・グループへのデプロイ方法を示しています。コマンドには、シングルトン・サーバー・グループへのデプロイメント用の-groupオプションが含まれません。

java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install myapp_1.0.jar

例では、myapp_1.0.jarアプリケーションは単一サーバーがあるシングルトン・サーバー・グループにデプロイされ、単一サーバーはホストarielで実行されポート9002をリスニングしています。

デプロイヤ・ユーティリティの詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。

第III部 マルチサーバー・ドメイン

この部では、マルチサーバー・ドメインの作成方法および更新方法を説明します。ネイティブ・クラスタリングおよびOracle Coherenceのドメインは含まれています。

「マルチサーバー・ドメイン」は、次の章で構成されています。

- マルチサーバー・ドメインについて

- Oracle Coherenceを使用したマルチサーバー・ドメイン

- ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

- マルチサーバー・ドメイン・アプリケーション・デプロイメント

4 マルチサーバー・ドメインについて

Oracle Event Processingマルチサーバー・ドメイン(クラスタ)は、Oracle CoherenceまたはOracle Event Processingネイティブ・テクノロジによって作成されます。マルチサーバー・ドメインに、ユーザー・データグラム・プロトコル(UDP)によって論理的および物理的に接続される1つ以上のサーバーを追加します。Oracle Event Processingマルチサーバー・ドメインのすべてのサーバーは、ドメイン内のその他すべてのサーバーを認識し、また、ドメイン内のいずれか1つのサーバーを、デプロイメントに変更を加えるためのアクセス・ポイントにすることができます。

この章の内容は次のとおりです。

- マルチサーバー管理

- サーバー・グループ

- マルチサーバーの通知およびメッセージング

- マルチサーバー・ドメインのディレクトリ構造

- cluster要素の子要素の順序

- 高可用性およびマルチサーバー・ドメイン

- スケーラビリティおよびマルチサーバー・ドメイン

4.1 マルチサーバー管理

マルチサーバー・ドメイン内のサーバーをドメイン(インフラストラクチャ)レベルで管理します。構成エラーを避けるために、ドメイン内のすべてのサーバーを、同じマルチキャスト・アドレスとマルチキャスト・ポート番号、およびドメイン名で構成する必要があります。

たとえば、マルチキャスト・アドレスとポートが同じであるが、異なるドメイン名でサーバーを構成した場合は、Oracle Event Processingでエラーが発生します。

ドメイン内のすべてのサーバーが他のサーバーによって障害検出、起動および再起動されます。アプリケーションを1つのサーバーにデプロイし、同じドメインにある別のサーバーからそれをアンデプロイできます。

4.1.1 Oracle Coherence

Oracle Coherenceを使用してマルチサーバー・ドメインを作成すると、信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタリング・プロトコル上で、ドメインは複製および配布した(パーティション化した)データの管理サービスを受信します。Oracle Coherenceには単一点障害がありませんが、かわりに、サーバーが正常に動作しなくなったときやネットワークから切断されたときは、クラスタ・データの管理サービスを透過的にフェイルオーバーして再配布します。新しいサーバーの追加または障害が発生したサーバーの再起動を行うと、サーバーによってクラスタが結合され、Oracle Coherenceでサービスの透過的な復元およびクラスタ・ロードの再配布が行われます。

注意:

Oracle Event ProcessingをOracle Coherenceとともに使用するには、最初に有効なOracle Coherenceライセンスを取得する必要があります。http://www.oracle.com/technetwork/middleware/coherence/overview/index.htmlを参照してください。

4.1.2 Oracle Event Processingネイティブ・クラスタリング

Oracle Event Processingネイティブ・クラスタリングでマルチサーバー・ドメインを作成すると、ドメインはTOTEMに基づいたネイティブ・クラスタリング実装を受信します。ただし、Oracle Event Processingネイティブ・クラスタリングを使用する場合、Oracle Event Processingの高可用性とサービス品質オプションを利用できません。「ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン」を参照してください。

4.2 サーバー・グループ

サーバー・グループは1つ以上のサーバーの集まりで、ドメイン内で固有の名前を持ちます。Oracle Event Processingドメイン内では、構成可能なサーバー・グループ・メンバーシップを持つ任意の数のサーバー・グループを共存させることができます。

1つのサーバーを複数のサーバー・グループのメンバーにすることができます。サーバー・グループは、マルチサーバー・ドメインをより詳細なレベルでデプロイおよび管理することを可能にする管理ツールとして機能するため、ユーザーが基となるサーバー・グループを意識することはありません。

マルチサーバー・ドメイン内のデフォルト・サーバー・グループにアプリケーションをデプロイすると、それらのアプリケーションはドメイン内のすべてのサーバーにデプロイされます。マルチサーバー・ドメイン内のすべてのサーバーに、アプリケーションで必要となる同一の正しい構成リソースがある必要があります

Oracle Event Processingには、次の事前定義済デプロイメント・サーバー・グループが用意されています。

- シングルトン・サーバー・デプロイメント・グループ

- ドメイン・デプロイメント・グループ

アプリケーションをマルチサーバー・ドメイン内の特定のサーバーにデプロイできるように、カスタム・デプロイメント・サーバー・グループを作成することもできます。「カスタム・デプロイメント・グループ」を参照してください。Oracle Event Processing高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle Event Processing高可用性通知グループの構成が必要になることがあります。『Oracle Event Processingビジュアライザの使用』の高可用性構成の視覚化に関する項を参照してください。

サーバー・グループを作成するには、名前を決定し、サーバー・グループに含めるサーバーのconfig.xmlファイルのgroups要素でその名前を使用します。

4.2.1 シングルトン・サーバー・デプロイメント・グループ

シングルトン・サーバー・デプロイメント・グループは、1つのローカル・サーバーのみで構成されます。このサーバー・グループのメンバーシップは、アクセス元のサーバーに依存します。このサーバー・グループを使用して、デプロイメントを単一サーバーに固定できます。

詳細は、「Oracle Coherenceを使用したマルチサーバー・ドメイン」を参照してください。

4.2.2 ドメイン・デプロイメント・グループ

ドメイン・デプロイメント・グループには、ドメインの有効なすべてのメンバーが含まれています。そのメンバーシップは管理者によってのみ変更できます。

ドメイン名は、Oracle Event Processingサーバーのconfig.xmlファイルのdomain要素によって決定されます。デフォルト・ドメイン名はAllDomainMembersです。次の例では、config.xmlファイル・エントリでデフォルト・ドメイン名がmyDomainに変更されています。

<domain>
<name>myDomain</name>
</domain>

4.2.3 カスタム・デプロイメント・グループ

マルチサーバー・ドメインで均一なサーバーの集まり全体にアプリケーション・ロジックをレプリケートできない場合があります。例としては、異なる価格決定エンジンによって提供される最善の価格を決定するアプリケーションがあります。別の例としては、位置がしきい値を超えたときにアラートを送信するアプリケーションがあります。どちらの場合も、アプリケーションは複数の操作は実行しませんが、かわりにそれぞれ、1度計算するか、単一イベントを送信します。アプリケーションのモニターやHTTP pub-subサーバーなど、その他の場合は、アプリケーションはシングルトンの性質を持ちます。

より複雑な例は、2つのアプリケーションがあるドメインです。最初のアプリケーションstrategiesはいくつかの方法を使用して1つのデリバティブに複数の価格を計算し、結果をselectorアプリケーションにフィードします。selectorアプリケーションは、strategiesアプリケーションによって送信された結果から最善の価格を選択します。

フォールト・トレランスを実現するためにstrategiesアプリケーションをレプリケートできます。ただし、selectorアプリケーションは最善の価格を決定できるように状態を保持する必要があります。selectorが状態を保持する必要があるため、selectorアプリケーションは均一なサーバーのセット全体にレプリケートできません。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・デプロイメント・グループを使用して構成できます。マルチサーバー・ドメイン内のカスタム・デプロイメント・グループにデプロイされたアプリケーションは、デプロイメント・グループ内のすべてのサーバーに均一にデプロイされます。デプロイメント・グループ内のすべてのサーバーには、アプリケーション(単数または複数)で必要となる適切な構成リソースがある必要があります。

詳細は、「Oracle Coherenceを使用したマルチサーバー・ドメイン」を参照してください。

4.3 マルチサーバーの通知およびメッセージング

Oracle Event Processingには、サーバー・グループおよびサーバー用の通知およびメッセージングAPIが多数用意されています。これらのAPIを使用して、サーバー・グループまたはドメインのメンバーシップに変更があったときに通知を受信するようにサーバーを構成できます。変更は、管理者による変更か、サーバー障害のために発生します。これらのAPIを使用して、個別のサーバー・グループおよびドメインにメッセージを送信することもできます。

Oracle Event Processingの高可用性オプションを使用するようにアプリケーションを構成する場合は、プライマリOracle Event Processingサーバーでは、Oracle Coherenceを使用してセカンダリ・サーバーと通信し、セカンダリ・サーバーにプライマリ・サーバーのイベント処理の進行状況の最新情報を送信します。

安全に通信できるようにマルチサーバー・ドメインで複数のOracle Event Processingサーバーを構成することもできます。

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

- サーバー間で送信されるメッセージの保護

- マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

4.4 マルチサーバー・ドメインのディレクトリ構造

Oracle Event Processingドメインのサーバーは単一のディレクトリにファイルを格納します。通常、マルチサーバー・ドメイン内のサーバーのディレクトリは、ドメイン・ディレクトリのサブディレクトリです。 また、サーバー名とドメイン名はそれぞれ、サーバー・ディレクトリ名とドメイン・ディレクトリ名に対応します。

これは単に一般的な構造であり必須ではありませんが、わかりやすさと一貫性を保つために、この方法でドメインを設定することをお薦めします。マルチサーバー・ドメインのサーバーが別々のコンピュータに配置されている場合も、わかりやすさと一貫性を保つために、両方のコンピュータにディレクトリ構造をレプリケートすることをお薦めします。

図4-1に、3つのサーバーがあるマルチサーバー・ドメイン・ディレクトリを示しています。

図4-1 マルチサーバー・ドメインのディレクトリ構造

図4-1では、myServer1の構成ファイルのスニペットが、ドメイン・ディレクトリとドメイン・オブジェクトを同じ名前で構成する方法、およびサーバー・ディレクトリとサーバー名を示しています。

ドメイン・ディレクトリは、Oracle Event Processingドメインのデフォルトの場所である/Oracle/Middleware/my_oep/user_projects/domainsディレクトリにあります。

4.5 cluster要素の子要素の順序

config.xmlファイルにおけるcluster要素の子要素の順序は重要です。正しくない順序で要素を入れると、エラーが発生します。

次のリストは、子要素をリストする順序を示しています。

- server-name

- server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。
マルチサーバー・ドメイン内の1つ以上のOracle Event Processingサーバーが異なるホストにあり、Oracle Event Processingを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、この要素は必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。

- multicast-address: マルチキャスト通信アドレス。Oracle Coherenceの場合、ユニキャスト・アドレスの既知アドレス(WKA)を使用できます。

- multicast-port: オプション。マルチキャスト・トラフィックに使用するポートを指定します。デフォルト値は9001です。

- identity: Oracle Event Processingネイティブ・クラスタリングを使用する場合のみ必須です。この要素はOracle Coherenceには使用しません。

- enabled

- security

- groups

- operation-timeout: オプション。ポイント・ツー・ポイントHTTPマルチサーバー・リクエストのタイムアウトを指定します(ミリ秒)。デフォルト値は30000です。

4.6 高可用性およびマルチサーバー・ドメイン

マルチサーバー・ドメインに対してOracle Coherenceクラスタリングを使用する場合、Oracle Event Processingの高可用性とサービス品質オプションを利用できます。これらのオプションは、Oracle Event Processingネイティブ・クラスタリングではサポートされていません。

4.7 スケーラビリティおよびマルチサーバー・ドメイン

Oracle CoherenceまたはOracle Event Processingネイティブ・クラスタリングを使用して、Oracle Event Processingのスケーラビリティとサービス品質オプションを利用できます。

5 Oracle Coherenceを使用したマルチサーバー・ドメイン

Oracle Coherenceに基づいたマルチサーバー・ドメインを作成、構成および管理できます。Oracle Coherenceを使用して、信頼のおけるスケーラビリティの高いピア・ツー・ピアのクラスタリング・プロトコル上で、ドメインは複製および配布した(パーティション化した)データの管理サービスを受信します。

この章の内容は次のとおりです。

- マルチサーバー・ドメインの作成

- デフォルト・グループでのマルチサーバー・ドメインの作成

- カスタム・グループでのマルチサーバー・ドメインの作成

- Oracle Coherenceクラスタの構成

- マルチサーバー・ドメインの更新

- サーバー間で送信されるメッセージの保護

- マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの管理

- マルチサーバー・ドメインでのサーバーの起動と停止

Oracle Event Processing高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle Event Processing高可用性通知グループを作成する必要があります。詳細は、『Oracle Event Processing スキーマ・リファレンス』の高可用性ブロードキャスト・アダプタに関する項を参照してください。

5.1 マルチサーバー・ドメインの作成

マルチサーバー・ドメインを作成するには、構成ウィザードを使用して1つのサーバーのある1つのドメインを作成することから開始します。これはスタンドアロンサーバー・ドメインです。

スタンドアロンサーバー・ドメインをマルチサーバー・ドメインに変換するには、次のいずれかを実行します。

- 作成したサーバーをコピーして名前を変更し、各サーバーのconfig.xmlファイルを編集して、それらのすべてが同じマルチキャスト名、マルチキャスト・ポートおよびドメイン名を持つようにします。

- 構成ウィザードを使用して追加のスタンドアロン・サーバーを生成し、各サーバーのconfig.xmlファイルを編集して、それらのすべてが同じマルチキャスト名、マルチキャスト・ポートおよびドメイン名を持つようにします。

この章の手順では、最初の方法を使用します。

5.2 デフォルト・グループでのマルチサーバー・ドメインの作成

2つの事前定義済デプロイメント・グループ、シングルトンおよびドメインのみを使用するマルチサーバー・ドメインを作成できます。これらのグループは、「シングルトン・サーバー・デプロイメント・グループ」で説明しています。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・サーバー・グループを作成して構成します。「カスタム・グループでのマルチサーバー・ドメインの作成」を参照してください。

デフォルト・サーバー・グループでのマルチサーバー・ドメインの作成

1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインを作成します。

「スタンドアロンサーバー・ドメイン」を参照してください。

2. 新しいスタンドアロンサーバー・ドメインを作成したら、それを置くディレクトリに変更します。

デフォルトの場所は次のとおりです

Oracle/Middleware/my_oep/user_projects/domains/<domainname>/

3. ドメインの下のサーバーが必要な数になるまで、サーバー・ディレクトリをコピーして名前を変更します。

4. ルートconfig要素のcluster子要素を追加して、各メンバー・サーバーのconfig.xmlファイルを更新します。次の例は、myDomainというドメインの一部であるサーバーを示します。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
</cluster>
...
</config>

clusterの次の子要素を使用できます。

- server-name: clusterのserver-name子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle Event Processing Visualizerはこの要素の値を使用します。デフォルトは、設定している場合はOracle Coherenceメンバー名、またはWLEvServer-MEMBERIDです。

- server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。マルチサーバー・ドメイン内の1つ以上のOracle Event Processingサーバーが異なるホストにあり、Oracle Event Processing Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。また、(マルチサーバー環境かスタンドアロン・サーバー環境かにかかわらず、)複数のIPアドレスが構成されているホスト・マシンにサーバーをデプロイする場合も、この要素が必須です。

- multicast-address: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address要素は必要であり、その場合は、multicast-address要素を省略でき、コンピュータのIPアドレスに基づいてOracle Event Processingによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。サーバーが異なるコンピュータ上でホストされる場合は、適切なドメイン・ローカル・アドレスを提供する必要があります。形式239.255.X.Xのアドレスを使用することをお薦めします。これは、自動で割り当てられるマルチキャスト・アドレスの原則です。このmulticast-addressを使用するすべてのOracle Event Processingサーバーは、同じサブセット上で稼働する必要があります。Oracle Coherenceを使用して、ここでユニキャスト・アドレスを指定でき、Oracle CoherenceはWKA (Well Known Addressing)を使用します。

- enabled: デフォルトでは、Oracle Coherenceでマルチサーバー・ドメイン内のサーバーのクラスタリングは無効です。Oracle Coherenceを有効にする場合は、要素<enabled>true</enabled>が必要です。

マルチサーバー・ドメインの各サーバーに対して、multicast-address要素には同じ値が含まれている必要があります。server-name要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。次の例は、myDomainマルチサーバー・ドメイン内のmyServer2という2番目のサーバーのconfig.xmlファイルを示します。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>MyServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
</cluster>
...
</config>

追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、「サーバー間で送信されるメッセージの保護」を参照してください。

5. オプションで、必要に応じて、マルチサーバー・ドメイン内のすべてのサーバーのデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。

「Oracle Coherenceクラスタの構成」を参照してください。

6. オプションで、暗号化とデジタル署名を構成して、マルチサーバー・ドメイン内のすべてのサーバー間で共有されるメッセージを保護します。

「サーバー間で送信されるメッセージの保護」を参照してください。

7. 障害が発生したときにまだ動作しているマシンからビジュアライザを使用してトラブルシューティングできるように、マルチサーバー・ドメイン内のマシンのサブセット上にあるOracle Event Processing Visualizerを有効にすることを検討します。

注意:

特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下する可能性があります。

8. マルチサーバー・ドメイン内のすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

5.3 カスタム・グループでのマルチサーバー・ドメインの作成

同一ではないアプリケーションをデプロイする予定であり、カスタム構成が必要な場合は、この手順を使用します。

ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・サーバー・グループを作成する必要はありません。かわりに、事前定義済のデフォルト・サーバー・グループ(シングルトン・グループとドメイン・グループ)を使用します。「デフォルト・グループでのマルチサーバー・ドメインの作成」を参照してください。

この手順では、myServer1、myServer2、およびmyServer3と3つのサーバーを作成していることを想定します。myServer1は、selectorサーバー・グループのメンバーであり、myServer2とmyServer3は、strategyサーバー・グループのメンバーであるとしています。

カスタム・サーバー・グループでのマルチサーバー・ドメインの作成

1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインを作成します。

「スタンドアロンサーバー・ドメイン」を参照してください。

2. ドメインの下のサーバーが必要な数になるまで、サーバー・ディレクトリをコピーして名前を変更します。ルートconfig要素のcluster子要素を追加して、各メンバー・サーバーのconfig.xmlファイルを更新します。cluster子要素内で、group要素を追加してサーバー・グループを指定します。

注意:

cluster要素の子要素を追加するとき、「cluster要素の子要素の順序」に示すとおり要素の正しい順序に従います。

サーバーが複数のサーバー・グループのメンバーである場合、groups要素には複数のサーバー・グループ名が含まれます。複数のサーバー・グループ名はカンマで区切ります。

groups要素はオプションです。サーバー構成にgroups要素がない場合、そのサーバーはデフォルト・サーバー・グループ(ドメインおよびシングルトン)のメンバーです。ドメインとシングルトン・グループの詳細は、「サーバー・グループ」を参照してください。

次の例は、myServer1、myServer2およびmyServer3のconfig.xmlファイルからの関連するスニペットを示します。myServer1のgroupsエントリによって、これはselectorグループに入ります。myServer2およびmyServer3のgroupsエントリによって、これらはstrategyグループに入ります。

myServer1:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>selector</groups>
</cluster>
...
</config>

myServer2:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

myServer3:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer3</server-name>
<multicast-address>239.255.0.1</multicast-address>
<enabled>true</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

3. オプションで、必要に応じて、マルチサーバー・ドメイン内のすべてのサーバーのデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。

「Oracle Coherenceクラスタの構成」を参照してください。

4. オプションで、暗号化とデジタル署名を構成して、マルチサーバー・ドメイン内のすべてのサーバー間で共有されるメッセージを保護します。

「サーバー間で送信されるメッセージの保護」を参照してください。

5. 障害が発生したときにまだ動作しているマシンからビジュアライザを使用してトラブルシューティングできるように、マルチサーバー・ドメイン内のマシンのサブセット上にあるOracle Event Processing Visualizerを有効にすることを検討します。

注意:

特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下する可能性があります。

6. マルチサーバー・ドメイン内のすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

5.4 Oracle Coherenceクラスタの構成

Oracle Coherenceクラスタ構成のために、Oracle Event ProcessingによってOracle Coherenceのtangosol-coherence-override.xml構成ファイルが使用されます。

tangosol-coherence-override.xmlファイルはサーバー単位でグローバルな構成ファイルです。Oracle Coherenceドキュメントで操作構成として記述されています。このファイルを、Oracle Event Processingサーバーのconfigディレクトリにあるconfig.xmlサーバー構成ファイルとともに置きます。

キャッシュ・システムがOracle Coherenceプロバイダを使用することを宣言するとき、キャッシュ・システムのすべてのキャッシュが、Oracle Event Processingのローカル構成ではなくOracle Coherence構成にマップされることを必ず確認してください。これを行わず、Oracle Event Processingのローカル構成にマッピングされるキャッシュが1つ以上ある場合は、Oracle Event Processingによって例外がスローされます。

マルチサーバー・ドメイン内のサーバーは、同じマルチキャスト・アドレスとポート番号、および同じドメイン名で構成する必要があります。たとえば、マルチキャスト・アドレスとポート番号が同じであるが、異なるドメイン名でサーバーを構成した場合は、Oracle Event Processingによってエラーがスローされます。

tangosol-coherence-override.xmlファイルでは、<cluster-config>、<management-config>および<logging-config>の要素がサポートされます。Oracle Event Processingでは、常にクラスタ名をドメイン名に設定するため、クラスタ名をオーバーライドできません。異なるドメイン間で誤ってクラスタを検出してしまわないように、各Oracle Event Processingドメインに一意の名前を選択します。

次の例は、パケットが移動できるホップの最大数が決定される、time-to-live設定を指定する単純な構成を示しています。ホップは、ルーター経由でネットワーク・セグメントから別のネットワーク・セグメントへのトラバースとして測定されます。

<?xml version='1.0'?>
<coherence xml-override="/tangosol-coherence-override.xml">
<cluster-config>
<multicast-listener>
<time-to-live>3</time-to-live>
</multicast-listener>
...
</coherence>

tangosol-coherence-override.xmlファイルの詳細は、『Oracle Coherenceでのアプリケーションの開発』の「クラスタの設定」を参照してください。

5.5 マルチサーバー・ドメインの更新

マルチサーバー・ドメイン内のサーバーの更新は、スタンドアロンサーバー・ドメインで1つのサーバーを更新する場合と同様であり、構成ウィザードを起動するか、XMLプロパティ・ファイルを編集してサイレント・モードを使用します。

1つのサーバーの更新と複数のサーバーの更新の唯一の違いは、マルチサーバー・ドメインでの場合は各サーバーで個別に更新を実行することです。サイレント・モードでのXMLプロパティ・ファイルの使用が、マルチサーバー・ドメインでの最善の方法です。

構成ウィザードを使用してサーバーを更新する場合、リスニング・ポートおよびJDBCデータ・ソース構成のみを更新できます。サイレント・モードでは、サーバーを追加して、データ値が存在するものすべてを更新できます。

XMLプロパティ・ファイルの次のデータ値について値を指定した既存のサーバーの既存の構成を更新するには、次の手順を実行します。

- CONFIGURATION_OPTIONをupdateDomainに設定します。

- DOMAIN_NAMEおよびDOMAIN_LOCATIONオプションには既存のドメインの名前と場所を設定します。例では、値はそれぞれmyDomainとC:\Oracle\Middleware\my_oep\user_projects\domainsです。

- SERVER_NAMEオプションには、既存のドメインに追加する新しいサーバーの名前を設定します。例では、この値はmyServer2です。

- このサーバーをマルチサーバー・ドメインの他のサーバーと同じコンピュータで実行する場合は、NETIO_PORTなどの新しいサーバー構成オプションが、ドメインの既存サーバーのオプションと重複しないようにする必要があります。新しいサーバーから既存のサーバーと同じデータベースに接続する場合は、データ・ベース・オプションを同じにすることができます。
マルチサーバー・ドメインの他のサーバーとは異なるマシンにサーバーがある場合は、ポートを別にする必要はありません。

次の例は、マルチサーバー・ドメイン内の既存のサーバーを更新するXMLプロパティ・ファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<bea-installer xmlns="http://www.bea.com/plateng/wlevs/config/silent">
<input-fields>
<data-value name="CONFIGURATION_OPTION" value="updateDomain" />
<data-value name="USERNAME" value="wlevs" />
<data-value name="PASSWORD" value="wlevs" />
<data-value name="SERVER_NAME" value="myServer2" />
<data-value name="DOMAIN_NAME" value="myDomain" />
<data-value name="DOMAIN_LOCATION" value="C:\Oracle\Middleware\my_oep\user_projects\domains" />
<data-value name="NETIO_PORT" value="9102" />
<data-value name="KEYSTORE_PASSWORD" value="my_keystore_password" />
<data-value name="PRIVATEKEY_PASSWORD" value="my_privatekey_password" />
<data-value name="DB_URL" value="jdbc:bea:oracle://localhost:1521:XE" />
<data-value name="DB_USERNAME" value="db_user" />
<data-value name="DB_PASSWORD" value="db_password" />
</input-fields>
</bea-installer>

注意:

サーブレットを作成した後、同じマシンに2つのサーブレットがある場合、新しいサーブレットを認識するためにSSLポートを変更します。

5.6 サーバー間で送信されるメッセージの保護

マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。これらのメッセージは整合性をチェックする必要があります。

整合性を確実にするために秘密鍵を使用できます。秘密鍵はドメイン内のすべてのサーバーで共有する必要があります。

Oracle Coherenceクラスタリングの実装を使用する場合、マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護できます。

サーバー間で送信されるメッセージの保護

1. サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

2. security子要素をcluster要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xmlファイルを編集します。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>coherence</enabled>
<security>encrypt</security>
</cluster>
...
</config>

デフォルトでは、config.xmlファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configにあります。

security子要素に対して次のいずれかの値を指定する必要があります。

- none: マルチサーバー・ドメインにセキュリティが構成されません。これはデフォルト値です。

- encrypt: マルチサーバー・メッセージを暗号化します。

cluster要素の子要素の正しい順序に従います。「cluster要素の子要素の順序」を参照してください。

3. 次に示すとおり、configルート要素にencryption-service子要素を追加し、マルチサーバー・ドメインの各サーバーのOracle security-config.xmlファイルを編集します。

デフォルトでは、security-config.xmlファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/config/にあります

<config>
<encryption-service>
<signature-enabled>true</signature-enabled>
</encryption-service>
<css-realm>
...
</config>

4. マルチサーバー・ドメインの各サーバーの<domainname/<servername>/.aesinternal.datファイルは、サーバーから他のサーバーにコピーすることによって、まったく同じになるようにします。

このファイルは、最初にサーバーを作成したときに構成ウィザードによって作成されます。Oracle Event Processingではメッセージの暗号化のためにこのファイルが使用されます。

5. ドメイン内の1つのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

encryption-service要素をsecurity-config.xmlファイルに追加しているため、Oracle Event Processingではメイン・サーバー・ディレクトリに*.msasig.datファイルが作成されます。Oracle Event Processingはメッセージのデジタル署名のためにこのファイルを使用します。

6. 起動したサーバーを停止します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

7. *.msasig.datファイルを他のサーバーにコピーします。

8. クラスタの各サーバーで次のステップを実行します:

- ドメインのサーバー・ディレクトリに変更します。

- JDK keytoolユーティリティおよび次のコマンド・ラインを使用して、ブート・ユーザーを含むキーストアcoherence-identity.jksを作成します(読みやすくするために分割してありますが、実際には完全なコマンドは1行にする必要があります)。

keytool -genkey -v -keystore config/coherence-identity.jks
-storepass PASSWORD -alias BOOT-USER -keypass BOOT-USER-PASSWORD
-dname CN=BOOT-USER

内容は次のとおりです。

- PASSWORDは、キーストアを保護するために使用するパスワードです。

- BOOT-USERは、Oracle Event Processingサーバー・ホストにログインするために使用するユーザー名です。

- BOOT-USER-PASSWORDは、Oracle Event Processingサーバー・ホストにログインするときに使用するパスワードです。

- permissions.xmlファイルを作成します。
デフォルトでは、permissions.xmlファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configに入ります。

- ブート・ユーザーに対して次の権限を追加するために、permissions.xmlファイルを編集します。

<permissions>
<grant>
<principal>
<class>javax.security.auth.x500.X500Principal</class>
<name>CN=BOOT-USER</name>
</principal>

<permission>
<target>*</target>
<action>all</action>
</permission>
</grant>
</permissions>

ここで、BOOT-USERは、Oracle Event Processingサーバー・ホストにログインするために使用するユーザー名です。

- permissions.xmlファイルを保存して閉じます。

- login.configファイルを作成します。
デフォルトでは、login.configファイルはOracle/Middleware/my_oep/ user_projects/domains/<domainname>/<servername>/config/に入ります。

- 次の行を追加するために、login.configファイルを編集します。

Coherence {
com.tangosol.security.KeystoreLogin required
keyStorePath=".${/}config${/}coherence-identity.jks";
};

- login.configファイルを保存して閉じます。

- サーバーを実際に起動するjavaコマンドに次のプロパティを追加し、startwlevs.cmd(Windows)またはstartwlevs.sh(UNIX)の使用しているプラットフォーム向けのサーバーの起動スクリプトを更新します。

-Djava.security.auth.login.config=./login.config

たとえば、次のようにします(コマンド全体を1行にする必要があります)。

"%JAVA_HOME%/bin/java" %DGC% %DEBUG%
-Djava.security.auth.login.config=./login.config
-Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%"
-jar "%USER_INSTALL_DIR%/bin/wlevs.jar" %1 %2 %3 %4 %5 %6

9. このドメインのサーバーでOracle Event Processing Visualizerを使用する場合は、マルチサーバー・ドメインでのビジュアライザ用SSLの構成を参照してください。

10. マルチサーバー・ドメインのすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

5.7 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの管理

アクティブ/アクティブ・システムでは、アクティブに実行されているアプリケーションを複数のサーバーに均一にデプロイします。均一にデプロイされたこれらのアプリケーションから、リードするコーディネータ・アプリケーションを選択する必要が生じる場合があります。

この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。

アプリケーションでこの動作を有効にするには、通常はイベント・シンクのロールにあるアダプタまたはイベントBeanが次のインタフェースを実装する必要があります。

com.bea.wlevs.ede.api.cluster.GroupMembershipListener

このインタフェースにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクでリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle Event ProcessingがonMembershipChangeコールバック・メソッドを呼び出します。

コールバック・メソッドのシグネチャは次のとおりです。

onMembershipChange(Server localIdentity, Configuration groupConfiguration);

onMembershipChangeコールバック・メソッドの実装では、イベント・シンクがServerオブジェクト(localIdentity)を使用してリーダーかどうかを検証します。この検証は、localIdentityと、第2パラメータgroupConfigurationでのConfiguration.getCoordinator()の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()を実行して、現在のグループのメンバーをサーバーに知らせることもできます。

注意:

通知グループに新しいAPIがあります。詳細は、Oracle Event Processing Java APIリファレンスを参照してください。

メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServerIDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。

次のインタフェースは、サーバー・グループに対する変更ではなく、ドメイン全体としてのメンバーシップ変更をリスニングするためのものです。

com.bea.wlevs.ede.api.cluster.DomainMembershipListener

ホット-ホット構成には、失敗の通知にゼロ以外の遅延があります。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間の時間ウィンドウで発生するイベントを失って、処理できません。

Oracle Event Processing Java APIリファレンスを参照してください。

5.8 マルチサーバー・ドメインでのサーバーの起動と停止

マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。

詳細は、「スタンドアロンサーバー・ドメインでのサーバーの起動と停止」を参照してください。

マルチサーバー・ドメインのカスタム・グループを構成しなかった場合、すべてのサーバーは事前定義されたドメイン・グループ(マルチサーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチサーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。

これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループおよび構成されたグループのメンバーになります。

注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle Event Processingサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle Event Processingサーバーはいつでも停止します。

6 ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

ネイティブ・クラスタリングに基づいたマルチサーバー・ドメインを作成、構成および管理できます。ネイティブ・クラスタリングを使用する場合、ドメインはTOTEMに基づいたネイティブ・クラスタリング実装を受け取りますが、Oracle Event Processingの高可用性とサービス品質オプションを利用できません。高可用性とサービス品質オプションが必要な場合は、Oracle Coherenceを使用してマルチサーバー・ドメインを構築してください。

この章の内容は次のとおりです。

- マルチサーバー・ドメインの作成

- デフォルト・グループでのマルチサーバー・ドメインの作成

- カスタム・グループでのマルチサーバー・ドメインの作成

- マルチサーバー・ドメインの更新

- マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

- マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

- マルチサーバー・ドメインでのサーバーの起動と停止

6.1 マルチサーバー・ドメインの作成

マルチサーバー・ドメインを作成するには、構成ウィザードを使用して1つのサーバーのある1つのドメインを作成することから開始します。これはスタンドアロンサーバー・ドメインです。

スタンドアロンサーバー・ドメインをマルチサーバー・ドメインに変換するには、次の2つのいずれかを実行します。

- 作成したサーバーをコピーして名前を変更し、各サーバーのconfig.xmlファイルを編集して、それらのすべてが同じマルチキャスト名、マルチキャスト・ポートおよびドメイン名を持つようにします。

- 構成ウィザードを使用して追加のスタンドアロン・サーバーを生成し、各サーバーのconfig.xmlファイルを編集して、それらのすべてが同じマルチキャスト名、マルチキャスト・ポートおよびドメイン名を持つようにします。

この章の手順では、最初の方法を使用します。

6.2 デフォルト・グループでのマルチサーバー・ドメインの作成

2つの事前定義済デプロイメント・グループ、シングルトン・グループおよびドメイン・グループのみを使用するマルチサーバー・ドメインを作成できます。これらのグループは、「シングルトン・サーバー・デプロイメント・グループ」で説明しています。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを作成して構成します。「カスタム・グループでのマルチサーバー・ドメインの作成」を参照してください。

デフォルト・グループでのマルチサーバー・ドメインの作成:

1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインを作成します。

「スタンドアロンサーバー・ドメイン」を参照してください。

2. 新しいスタンドアロンサーバー・ドメインを作成したら、それを置くディレクトリに変更します。

デフォルトの場所は次のとおりです

Oracle/Middleware/my_oep/user_projects/<domainname>

3. ドメインの下のサーバーが必要な数になるまで、サーバー・ディレクトリをコピーして名前を変更します。

4. ルートのconfig要素のcluster子要素を追加して、各メンバー・サーバーのconfig.xmlファイルを更新します。次の例は、myDomainというドメインの一部であるサーバーを示します。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>evs4j</enabled>
</cluster>
...
</config>

clusterの次の子要素を使用できます。

- server-name: clusterのserver-name子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle Event Processing Visualizerはこの要素の値を使用します。要素が設定されていない場合、デフォルト値はServer-identityです。ここで、identityはidentity要素の値です。

- server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。
マルチサーバー・ドメイン内の1つ以上のOracle Event Processingサーバーが異なるホストにあり、Oracle Event Processing Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。また、(マルチサーバー環境かスタンドアロン・サーバー環境かにかかわらず、)複数のIPアドレスが構成されているホスト・マシンにサーバーをデプロイする場合も、この要素が必須です。

- multicast-address: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address要素は必要であり、その場合は、multicast-address要素を省略でき、コンピュータのIPアドレスに基づいてOracle Event Processingによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。
ただし、サーバーが異なるコンピュータ上でホストされる場合、適切なドメイン・ローカル・アドレスを提供する必要があります。Oracleは、239.255.X.X形式のアドレスを使用することをお薦めします。自動で割り当てられたマルチキャスト・アドレスは、このアドレスに基づきます。

このmulticast-addressを使用するすべてのOracle Event Processingサーバーは、同じサブセット上で稼働する必要があります。

- identity: identity要素は、サーバーのIDを識別します。そのIDは1とINT_MAX間の整数である必要があります。Oracle Event Processingは、マルチサーバー操作中にサーバー・アイデンティティを数値的に比較し、最小のアイデンティティを持つサーバーがドメイン・コーディネータになります。マルチサーバー・ドメイン内の各サーバーは、必ず異なるアイデンティティを持つようにしてください。サーバーが同一のアイデンティティを持つ場合、マルチサーバー操作の結果は予測できなくなります。

- enabled: デフォルトでは、マルチサーバー・ドメインにあるサーバーのクラスタリングは、Oracle Coherenceに対して無効になっているため、Oracle Event Processingネイティブ・クラスタリングを有効にするには、<enabled>evs4j</enabled>を使用します。

注意:

cluster要素の子要素を追加するとき、「cluster要素の子要素の順序」に示すとおり要素の正しい順序に従います。

マルチサーバー・ドメインの各サーバーに対して、multicast-address要素には同じ値が含まれている必要があります。ただし、identityとserver-name要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。次の例は、myDomainマルチサーバー・ドメイン内のmyServer2という2番目のサーバーのconfig.xmlファイルを示します。このサーバーのidentity値は2です。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>2</identity>
<enabled>evs4j</enabled>
</cluster>
...
</config>

追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、「cluster要素の子要素の順序」を参照してください。

5. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。

「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」を参照してください。

6. 障害が発生したときにまだ動作しているマシンからビジュアライザを使用してトラブルシューティングできるように、マルチサーバー・ドメイン内のマシンのサブセット上にあるOracle Event Processing Visualizerを有効にすることを検討します。

注意:

特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下する可能性があります。

7. マルチサーバー・ドメインのすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

6.3 カスタム・グループでのマルチサーバー・ドメインの作成

同一ではないアプリケーションをデプロイする予定であり、カスタム構成が必要な場合は、この手順を使用します。ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・サーバー・グループを作成する必要はありません。

かわりに、事前定義済のデフォルト・サーバー・グループ(シングルトン・グループとドメイン・グループ)を使用します。「デフォルト・グループでのマルチサーバー・ドメインの作成」を参照してください。

この手順では、myServer1、myServer2、およびmyServer3と3つのサーバーを作成していることを想定します。myServer1は、selectorグループのメンバーであり、myServer2とmyServer3は、strategyグループのメンバーであるとしています。

カスタム・サーバー・グループでのマルチサーバー・ドメインの作成:

1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインを作成します。

「スタンドアロンサーバー・ドメイン」を参照してください。

2. ドメインの下のサーバーが必要な数になるまで、サーバー・ディレクトリをコピーして名前を変更します。

3. ルートconfig要素のcluster子要素を追加して、各メンバー・サーバーのconfig.xmlファイルを更新します。cluster子要素内で、group要素を追加してサーバー・グループを指定します。

注意:

cluster要素の子要素を追加するとき、「cluster要素の子要素の順序」に示すとおり要素の正しい順序に従います。

サーバーが複数のサーバー・グループのメンバーである場合、groups要素には複数のサーバー・グループ名が含まれます。複数のサーバー・グループ名はカンマで区切ります。

groups要素はオプションです。サーバー構成にgroups要素がある場合、そのサーバーはデフォルト・グループ(ドメインおよびシングルトン)のメンバーです。ドメインとシングルトン・グループの詳細は、「サーバー・グループ」を参照してください。

次の例は、myServer1、myServer2およびmyServer3のconfig.xmlファイルからの関連するスニペットを示します。myServer1のgroupsエントリによって、これはselectorグループに入ります。myServer2およびmyServer3のgroupsエントリによって、これらはstrategyグループに入ります。

myServer1:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>evs4j</enabled>
<groups>selector</groups>
</cluster>
...
</config>

myServer2:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer2</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>2</identity>
<enabled>evs4j</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

myServer3:

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer3</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>3</identity>
<enabled>evs4j</enabled>
<groups>strategy</groups>
</cluster>
...
</config>

4. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。

「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」を参照してください。

5. 障害が発生したときにまだ動作しているマシンからビジュアライザを使用してトラブルシューティングできるように、マルチサーバー・ドメイン内のマシンのサブセット上にあるOracle Event Processing Visualizerを有効にすることを検討します。

注意:

特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下する可能性があります。

6. マルチサーバー・ドメインのすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

6.4 マルチサーバー・ドメインの更新

マルチサーバー・ドメイン内のサーバーの更新は、スタンドアロンサーバー・ドメインで1つのサーバーを更新する場合と同様であり、構成ウィザードを起動するか、XMLプロパティ・ファイルを編集してサイレント・モードを使用します。1つのサーバーの更新と複数のサーバーの更新の唯一の違いは、マルチサーバー・ドメインでの場合は各サーバーで個別に更新を実行することです。サイレント・モードでのXMLプロパティ・ファイルの使用が、マルチサーバー・ドメインでの最善の方法です。

構成ウィザードを使用してサーバーを更新する場合、リスニング・ポートおよびJDBCデータ・ソース構成のみを更新できます。サイレント・モードでは、サーバーを追加して、データ値が存在するものすべてを更新できます。

XMLプロパティ・ファイルの次のデータ値について値を指定した既存のサーバーの既存の構成を更新するには、次の手順を実行します。

- CONFIGURATION_OPTIONをupdateDomainに設定します。

- DOMAIN_NAMEおよびDOMAIN_LOCATIONオプションには既存のドメインの名前と場所を設定します。例では、値はそれぞれmyDomainとC:\Oracle\Middleware\my_oep\user_projects\domainsです。

- SERVER_NAMEオプションには、既存のドメインに追加する新しいサーバーの名前を設定します。例では、この値はmyServer2です。

- このサーバーをマルチサーバー・ドメインの他のサーバーと同じコンピュータで実行する場合は、NETIO_PORTなどの新しいサーバー構成オプションが、ドメインの既存サーバーのオプションと重複しないようにする必要があります。新しいサーバーから既存のサーバーと同じデータベースに接続する場合は、データ・ベース・オプションを同じにすることができます。
マルチサーバー・ドメインの他のサーバーとは異なるマシンにサーバーがある場合は、ポートを別にする必要はありません。

次の例は、マルチサーバー・ドメイン内の既存のサーバーを更新するXMLプロパティ・ファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<bea-installer xmlns="http://www.bea.com/plateng/wlevs/config/silent">
<input-fields>
<data-value name="CONFIGURATION_OPTION" value="createDomain" />
<data-value name="USERNAME" value="wlevs" />
<data-value name="PASSWORD" value="wlevs" />
<data-value name="SERVER_NAME" value="myServer1" />
<data-value name="DOMAIN_NAME" value="myDomain" />
<data-value name="DOMAIN_LOCATION" value="C:\Oracle\Middleware\my_oep\user_projects\domains" />
<data-value name="NETIO_PORT" value="9102" />
<data-value name="KEYSTORE_PASSWORD" value="my_keystore_password" />
<data-value name="PRIVATEKEY_PASSWORD" value="my_privatekey_password" />
<data-value name="DB_URL" value="jdbc:bea:oracle://localhost:1521:XE" />
<data-value name="DB_USERNAME" value="db_user" />
<data-value name="DB_PASSWORD" value="db_password" />
</input-fields>
</bea-installer>

6.5 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。これらのメッセージは整合性をチェックする必要があります。

整合性を確実にするために秘密鍵を使用できます。秘密鍵はドメイン内のすべてのサーバーで共有する必要があります。

サーバー間で送信されるメッセージの保護

1. サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

2. security子要素をcluster要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xmlファイルを編集します。

デフォルトでは、config.xmlファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/config/にあります。

<config>
<domain>
<name>myDomain</name>
</domain>
<cluster>
<server-name>myServer1</server-name>
<multicast-address>239.255.0.1</multicast-address>
<identity>1</identity>
<enabled>evs4j</enabled>
<security>encrypt</security>
</cluster>
...
</config>

security子要素に対して次のいずれかの値を指定する必要があります。

- none: マルチサーバー・ドメインにセキュリティが構成されません。これはデフォルト値です。

- encrypt: マルチサーバー・メッセージを暗号化します。

cluster要素の子要素の正しい順序に従います。「cluster要素の子要素の順序」を参照してください。

3. configルート要素にencryption-service子要素を追加し、マルチサーバー・ドメインの各サーバーのsecurity-config.xmlファイルを編集します。

デフォルトでは、security-config.xmlファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/config/にあります

<config>
<encryption-service>
<signature-enabled>true</signature-enabled>
</encryption-service>
<css-realm>
...
</config>

4. マルチサーバー・ドメインの各サーバーのmyDomain/servername/.aesinternal.datファイルは、サーバーから他のサーバーにコピーすることによって、まったく同じになるようにします。

このファイルは、最初にサーバーを作成したときに構成ウィザードによって作成されます。Oracle Event Processingではメッセージの暗号化のためにこのファイルが使用されます。

5. ドメイン内の1つのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

encryption-service要素をsecurity-config.xmlファイルに追加しているため、Oracle Event Processingではメイン・サーバー・ディレクトリに*.msasig.datファイルが作成されます。Oracle Event Processingはメッセージのデジタル署名のためにこのファイルを使用します。

6. 起動したサーバーを停止します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

7. *.msasig.datファイルを他のサーバーにコピーします。

8. このドメインのサーバーでOracle Event Processing Visualizerを使用する場合は、マルチサーバー・ドメインでのビジュアライザ用SSLの構成を参照してください。

9. マルチサーバー・ドメインのすべてのサーバーを起動します。

「マルチサーバー・ドメインでのサーバーの起動と停止」を参照してください。

6.6 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

アクティブ/アクティブ・システムでは、アクティブに実行されているアプリケーションを複数のサーバーに均一にデプロイします。均一にデプロイされたこれらのアプリケーションから、リードするコーディネータ・アプリケーションを選択する必要が生じる場合があります。 この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。

アプリケーションでこの動作を有効にするには、通常はイベント・シンクのロールにあるアダプタまたはイベントBeanが次のインタフェースを実装する必要があります。

com.bea.wlevs.ede.api.cluster.GroupMembershipListener

このインタフェースにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクでリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle Event ProcessingがonMembershipChangeコールバック・メソッドを呼び出します。

コールバック・メソッドのシグネチャは次のとおりです。

onMembershipChange(Server localIdentity, Configuration groupConfiguration);

onMembershipChangeコールバック・メソッドの実装では、イベント・シンクがServerオブジェクト(localIdentity)を使用してリーダーかどうかを検証します。この検証は、localIdentityと、第2パラメータgroupConfigurationでのConfiguration.getCoordinator()の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()を実行して、現在のグループのメンバーをサーバーに知らせることもできます。

メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServerIDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。

次のインタフェースは、サーバー・グループに対する変更ではなく、ドメイン全体としてのメンバーシップ変更をリスニングするためのものです。

com.bea.wlevs.ede.api.cluster.DomainMembershipListener

ホット-ホット構成には、失敗の通知にゼロ以外の遅延があります。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間の時間ウィンドウで発生するイベントを失って、処理できません。

Oracle Event Processing Java APIリファレンスを参照してください。

6.7 マルチサーバー・ドメインでのサーバーの起動と停止

マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。

詳細は、「スタンドアロンサーバー・ドメインでのサーバーの起動と停止」を参照してください。

マルチ・サーバー・ドメインのカスタム・グループを構成しなかった場合、単純にすべてのサーバーは事前定義されたドメイン・グループ(マルチ・サーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチ・サーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。

これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループのメンバーであると同時に、構成されたグループのメンバーにもなります。

7 マルチサーバー・ドメイン・アプリケーション・デプロイメント

Oracle Event Processing Visualizerまたはデプロイヤ・ユーティリティを使用して、アプリケーションをOracle Event Processingマルチサーバー・ドメインにデプロイできます。この章では、デプロイヤ・ユーティリティの使用方法を説明します。

詳細は、『Oracle Event Processingビジュアライザの使用』のアプリケーションのデプロイに関する項を参照してください。

この章の内容は次のとおりです。

- ターゲット・サーバー・グループ

- サーバーのシングルトン・グループへのデプロイ

- サーバーのドメイン・グループへのデプロイ

- サーバーのカスタム・グループへのデプロイ

- トラブルシューティング。

7.1 ターゲット・サーバー・グループ

マルチサーバー・ドメインにアプリケーションをデプロイする場合、通常はユーザーがターゲット・グループを指定すると、Oracle Event Processingによって、そのグループで実行されている一連のサーバーにアプリケーションがデプロイされます。

Oracle Event Processingは、実行中のサーバーに基づくグループ・メンバーシップを動的に維持します。グループ内の新しいサーバーが起動すると、Oracle Event Processingによって、新しいサーバーに対して適切なデプロイメント・セットが伝播されます。

たとえば、「Oracle Coherenceを使用したマルチサーバー・ドメイン」で構成されているマルチサーバー・ドメインでは、myServer1のみが起動されていると想定しています。次にmyServer1とmyServer2を含むドメイン・グループにアプリケーションをデプロイします。マルチサーバー・ドメインのmyServer1のみが実行されているため、アプリケーションはmyServer1にのみデプロイされます。myServer2を起動すると、Oracle Event Processingによってアプリケーション・デプロイメントがレプリケートされてmyServer2に伝播されます。

デプロイメントの伝播は、アプリケーションのバージョンに基づいて行われます。新しいバージョンのアプリケーションをデプロイすると、新しいバージョンはグループ内のすべてのサーバーに伝播されます。

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

- サーバー・グループ

- デプロイヤ・コマンドライン・リファレンス。

7.2 サーバーのシングルトン・グループへのデプロイ

アプリケーションをデプロイするときにグループを指定しないと、Oracle Event Processingでは、アプリケーションは、デプロイ先として指定したサーバーのみで構成されるシングルトン・サーバー・グループにデプロイされます。これは、スタンドアロンサーバー・ドメインでの標準のケースですが、マルチサーバー・ドメインにも適用できます。

次の例は、シングルトン・グループへのデプロイ方法を示しています。この場合、コマンドで-groupオプションを指定しません。

java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install myapp_1.0.jar

myapp_1.0.jarアプリケーションは、ホストarielで実行されポート9002をリスニングしているシングルトン・サーバー・グループにデプロイされます。マルチサーバー・ドメインで他のサーバーがドメイン・グループのメンバーである場合、アプリケーションは他のサーバーにデプロイされません。

7.3 サーバーのドメイン・グループへのデプロイ

ドメイン・グループは常に存在する有効化されたグループであり、ドメイン内のすべてのサーバーで構成されます。すべてのサーバーは常にドメイン・グループのメンバーです。ただし、ドメイン・グループに対してもアプリケーションを明示的にデプロイする必要があります。

その主な理由は、わかりやすさと使用方法の一貫性を保つためです。アプリケーションをドメイン・グループに明示的にデプロイすると、Oracle Event Processingでは、この均一な環境のすべてのサーバーにこのデプロイメントが確実に伝播されます。

ドメイン・グループにデプロイするには、-group allオプションを使用します。次の例は、ドメイン・グループへのデプロイ方法を示しています。

java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install myapp_1.0.jar -group all

myapp_1.0.jarアプリケーションは、ポート9002をリスニングするホストarielを介して、ドメイン・グループ内のすべてのサーバーにデプロイされます。

7.4 サーバーのカスタム・グループへのデプロイ

カスタム・グループにデプロイするには、デプロイ・コマンドの-group groupnameオプションを使用します。

次の例は、マルチサーバー・ドメインが「Oracle Coherenceを使用したマルチサーバー・ドメイン」の説明のとおりに構成されていることを想定しています。

この例は、strategies_1.0.jarというアプリケーションをstrategygroupにデプロイする方法を示しています。このコマンドは、マルチサーバー・ドメインの構成に基づいて、strategygroupのメンバーであるmyServer2およびmyServer3にアプリケーションをデプロイします。

java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install strategies_1.0.jar -group strategygroup

この例は、selector_1.0.jarアプリケーションをselectorgroupにデプロイする方法を示しています。

java -jar wlevsdeploy.jar -url http://ariel:9002/wlevsdeployer -install selector_1.0.jar -group selectorgroup

このコマンドは、マルチサーバー・ドメインの構成に基づいて、selectorgroupの唯一のメンバーであるmyServer1のみにアプリケーションをデプロイします。

どちらのコマンドも、ポート9002をリスニングするホストariel上の同じサーバーにデプロイします。指定するサーバーがアプリケーションのデプロイ先のグループに属していなくてもデプロイ・コマンドではドメイン内の任意のサーバーを指定できます。

7.5 トラブルシューティング

デプロイメント後に、Oracle Event Processingサーバーによってアプリケーションが停止されます。

問題: Oracle Event Processingマルチサーバー・ドメインにアプリケーションをデプロイすると、約30秒後にOracle Event Processingによってアプリケーションが停止されます。

解決策: マルチサーバー・ドメインをホストしている同じコンピュータ上に複数のVPNソフトウェア・パッケージをインストールしていないことを確認してください。

第IV部 サービスの構成

サーバー設定時に、ネットワークI/O、セキュリティおよびロギングとデバッギングを含むいくつかの異なるサービスを構成できます。

「サービスの構成」は、次の章で構成されています。

- ネットワークI/O

- セキュリティ

- Jetty

- JMX

- JDBC

- HTTPパブリッシュ/サブスクライブ・サーバー

- ロギングとデバッグ

8 ネットワークI/O

Oracle Event Processingでは、サーバーおよびクライアント・モードで様々なプロバイダを使用して、TCP/IPを介したネットワークI/Oがサポートされています。サーバーのconfig.xmlファイルで、SSLおよび非SSLネットワーク・アクセスのネットワークI/Oサービスを定義できます。

Oracle Event Processingサーバーは、IPv4単独またはIPv4/IPv6デュアル・スタックで使用するための認証を受けています。IPv6の詳細は、http://www.ietf.org/rfc/rfc2460.txtのRFC 2460: Internet Protocol, Version 6 (IPv6)の仕様を参照してください。

jettyおよびweblogic-rmi-clientサーバー・サービスは、ネットワークI/O構成に依存します。jettyサービスはネットワークI/Oサーバー(netio)構成に依存し、weblogic-rmi-clientサービスはネットワークI/Oクライアント(netio-client)構成に依存します。

この章の内容は次のとおりです。

- ネットワークI/Oプロバイダ

- ネットワークI/Oサーバー(netio)の構成

- ネットワークI/Oクライアント(netio-client)の構成

8.1 ネットワークI/Oプロバイダ

Oracle Event Processingでは、複数のネットワークI/Oプロバイダがサポートされています。

表8-1 Oracle Event ProcessingネットワークI/Oプロバイダ

provider-type

SSL?

説明

non-blocking

いいえ

読取りおよび書込みに対して完全な非ブロックI/Oを提供します。接続インタフェースでの読取りまたは書込みへの各呼出しは、ブロックなしで即座に戻されます。基となる接続の準備ができていない場合、読取りまたは書込み呼出しはゼロを戻します。その時点で、呼び出しコードはNetIO APIのいずれかの通知メカニズムを使用して、接続の読取りまたは書込みの準備ができるまで待機する必要があります。非ブロック・プロバイダも非ブロックconnect呼出しをサポートできますが、この場合、リモート・サーバーへの接続の確立に長い時間がかかった(または確立に失敗した)ときは、スレッドがブロックされる必要がありません。

semi-blocking

いいえ

読取りの呼出しに対しては非ブロックI/Oを提供しますが、各書込み呼出しはデータがTCP/IPスタックに渡されるまでブロックされます。一部のプラットフォームは、完全な非ブロック・プロバイダに比べて高速な書込みブロック・プロバイダの実装を可能にしますが、拡張性は高いままです。

blocking

いいえ

それぞれの読取りおよび書込みの呼出しが完了するまでそれらをブロックします。読み取るデータがない場合は、データが存在するまで読取りがブロックされます。このプロバイダは、データを持つ各ネットワーク接続を待機するスレッドが存在する必要があるため、拡張性が低くなっています。このタイプのプロバイダを使用しないことをお薦めします。

native

いいえ

Oracle Event ProcessingはNativeAsyncEngineを試行し、サポートされていない場合はエラーが発生します。

NIO

はい

NIOEngineが常に使用されます。これはデフォルト・プロバイダ・タイプです。

次の例は、config.xmlファイルのnetio要素で、provider-type子要素を使用してプロバイダを指定する方法を示します。

<netio>
<name>myNetio</name>
<port>12345</port>
<provider-type>non-blocking</provider-type>
</netio>

8.2 ネットワークI/Oサーバー(netio)の構成

サーバーとして機能し、受信接続をリスニングするために他のサービスによって使用されるネットワークI/Oサービスを定義できます。 また、「ネットワークI/Oクライアント(netio-client)の構成」で説明するとおり、クライアントのネットワークI/Oサービスを作成することもできます。

Oracle Event Processingサーバーのconfig.xmlファイルのnetio要素を使用して、ネットワークI/Oサーバー・サービスを構成します。詳細は、次を参照してください。

- サーバー構成ファイル

- ネットワークI/Oプロバイダ

- 『Oracle Event Processing スキーマ・リファレンス』のnetioに関する項。

ネットワークI/Oサーバーの構成

1. Oracle Event Processingサーバーのconfig.xmlファイルで、netio要素を作成します。

<netio>
</netio>

2. このOracle Event Processingサーバーでこのnetio要素を一意に識別するname要素を追加します。

<netio>
<name>MyNetIO</name>
</netio>

3. port要素を追加し、このnetioサービスが接続リクエストをリスニングする元となるTCP/IPポートを定義します。

<netio>
<name>MyNetIO</name>
<port>9002</port>
</netio>

4. オプションで、provider-typeを指定します。

<netio>
<name>MyNetIO</name>
<port>9002</port>
<provider-type>NIO</provider-type>
</netio>

5. オプションで、他のnetio子要素を指定します。

『Oracle Event Processing スキーマ・リファレンス』のnetioに関する項を参照してください。

8.3 ネットワークI/Oクライアント(netio-client)の構成

非ブロック・ネットワークI/Oの実行に使用するネットワークI/Oサービスを定義できますが、これはサーバーとしては機能せず、受信接続もリスニングしません。また、「ネットワークI/Oサーバー(netio)の構成」で説明するとおり、サーバーのネットワークI/Oサービスを作成することもできます。

Oracle Event Processingサーバーのconfig.xmlファイルのnetio-client要素を使用して、ネットワークI/Oクライアント・サービスを構成します。

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

- サーバー構成ファイル

- ネットワークI/Oプロバイダ

- 『Oracle Event Processing スキーマ・リファレンス』のnetioに関する項。

ネットワークI/Oクライアントを構成するには、次の手順を実行します。

1. Oracle Event Processingサーバーのconfig.xmlファイルで、netio-client要素を作成します。

<netio-client>
</netio-client>

2. このOracle Event Processingサーバーでこのnetio要素を一意に識別するname要素を追加します。

<netio-client>
<name>MyNetIOClient</name>
</netio-client>

3. オプションで、provider-typeを指定します。

<netio-client>
<name>MyNetIOClient</name>
<provider-type>NIO</provider-type>
</netio-client>

4. オプションで、他のnetio-client子要素を指定します。

『Oracle Event Processing スキーマ・リファレンス』のnetioに関する項を参照してください。

9 セキュリティ

Oracle Event Processingには、データ・ストリームとイベント・ストリーム、構成、ユーザー名とパスワードのデータ、セキュリティ・ポリシー情報、リモート資格証明、ネットワーク・トラフィックなどのサーバー・リソースを保護する様々な方法が用意されています。

この章の構成は、次のとおりです。

- ユーザー、グループおよびロール

- Oracle Event ProcessingサーバーのJava SEセキュリティ

- セキュリティ・プロバイダ

- パスワードの強度

- ネットワーク・トラフィックを保護するためのSSL

- FIPS

- SAML2を使用したSSO

- HTTPS専用接続

- サーバー・サービスのセキュリティ

- ビジュアライザのクロスドメイン・セキュリティ

- セキュリティ監査プログラム

- セキュリティの無効化

- セキュリティ・ユーティリティ

- コマンドライン・ユーティリティのユーザー資格証明

- Oracle Event Processingの例およびドメインにおけるセキュリティ

9.1 ユーザー、グループおよびロール

Oracle Event Processingでは、ロールベースの認可制御を使用して、Oracle Event Processing Visualizerおよびwlevs.Adminコマンドライン・ユーティリティを保護します。

すぐに使用できるデフォルトのセキュリティ・グループが各種存在しています。ユーザーを様々なグループに追加することにより、ユーザーへの様々なロールの割当ができます。

Oracle Event Processing Visualizer、wlevs.Admin、またはJMXを使用してOracle Event Processingサーバーに接続する任意のカスタム管理アプリケーションを使用する管理者は、ロールベースの認可を使用してアクセス権限を取得します。

また、ロール・ベースの認可を使用して、HTTPパブリッシュ/サブスクライブ・サーバーへのアクセス権を制御できます。

ロールには次の2種類が存在します。

- アプリケーション・ロール: アプリケーション・ロールは、Oracle Event Processingサーバーにデプロイ済の様々なOracle CQLアプリケーションにアクセスする権限をユーザーに付与します。アプリケーション・ロールを作成し、それらをOracle Event Processingが提供するタスク・ロールに関連付けることができます。
デフォルトでは、管理者ユーザーは任意のアプリケーションへアクセスできますが、非管理者ユーザーはすべてのアプリケーションへはアクセスできません。ある非管理ユーザーがアプリケーションにアクセスできるようにするには、管理ユーザーが関連するアプリケーション・ロールをそのユーザーに付与する必要があります。

アプリケーション分離を使用すると、管理者は新しいロールを作成でき、指定したアプリケーションに新しいロールを関連付けて、このアプリケーションに対して選択したグループのアクセスのみを許可することができます。新しいロールが作成された後は、このロールを持たない非管理者ユーザーはビジュアライザでそのアプリケーションを表示できず、管理ツールでアプリケーション構成を表示または変更できません。

- タスク・ロール: タスク・ロールは、自身のアプリケーション・ロールによってアクセスが認可されたアプリケーションで様々なタスクを実行する権限を、ユーザーに付与します。Oracle Event Processingには、表9-1で説明するデフォルトのタスク・ロールが用意されています。

Oracle Event Processing Visualizerまたはwlevs.Adminの使用時に正常に認証されたユーザーにはそのグループ・メンバーシップに基づいてロールが割り当てられますが、その後の管理機能へのアクセスは、そのユーザーが保持するロールに従って制限されます。匿名ユーザー(認証されていないユーザー)は、Oracle Event Processing Visualizerまたはwlevs.Adminへのアクセス権を持ちません。

管理者が構成ウィザードを使用して新しいドメインを作成する際には、wlevsAdministratorsグループの一部である管理者ユーザーを入力します。デフォルトでは、この情報はファイルベースのプロバイダ・のファイルストア内に格納されます。パスワードは、SHA-256アルゴリズムを使用してハッシュされます。デフォルトの管理者ユーザーの名前はoepadminで、パスワードはwelcome1です。

表9-1では、新しいドメインの作成直後に使用可能となるデフォルトのOracle Event Processingタスク・ロールと、それらのロールに割り当てられるグループの名前について説明します。

表9-1 デフォルトのOracle Event Processingタスク・ロールおよびグループ

タスク・ロール

グループ

権限

Admin

wlevsAdministrators

他のロールが持つすべての権限と、次の権限があります。

- ユーザーおよびグループの作成

- HTTPパブリッシュ/サブスクライブ・セキュリティの構成

- Jettyやワーク・マネージャなどのシステム構成の変更

すべてのJMX get、set、start、stopおよびdeploy操作。

次のMBeanでのすべてのsetおよびinvokeメソッド。

CQLProcessorMBeanCQLProcessorRuntimeMBeanRecordPlaybackMBeanChannelMBeanProfileMBeanProfileManagerBean

ApplicationAdmin

wlevsApplicationAdmins

すべてのOperator権限と、デプロイ済アプリケーションの構成を更新する権限があります。

ChannelMBeanでのすべてのsetおよびinvokeメソッド。

BusinessUser

wlevsBusinessUsers

すべてのOperator権限およびデプロイ済アプリケーションのプロセッサに関連付けられたOracle CQLルールを更新する権限を持ちます。

次のMBeanでのすべてのsetおよびinvokeメソッド。

CQLProcessorMBeanCQLProcessorRuntimeMBean

Deployer

wlevsDeployers

すべてのOperator権限およびデプロイ済アプリケーションをデプロイ、アンデプロイ、更新、一時停止、および再開する権限があります。

デプロイメントに関連するすべてのJMX getおよびset操作。

Monitor

wlevsMonitors

すべてのOperator権限と、診断プロファイルの作成やイベントの記録(および再生)などの診断機能を有効または無効にする権限があります。イベントをインジェクトおよびトレースすることもできます。

すべてのJMX get操作。

次のMBeanでのすべてのsetおよびinvokeメソッド。

RecordPlaybackMBeanProfileMBeanProfileManagerBean

Operator

wlevsOperators

すべてのサーバー・リソース、サービス、およびデプロイされたアプリケーションへの読取り専用アクセスがあります。

ドメインが作成されると、管理者はOracle Event Processing Visualizerを使用してグループを作成し、それを1つ以上のロールに関連付けることが可能です。各ロールによってアプリケーションへのアクセス権が付与されます。ユーザーをグループに割り当てるとき、グループに関連付けるロールによって、ユーザーにはアプリケーションへアクセスする権限が付与されます。

Oracle Event Processing Visualizerを使用してユーザー、グループおよびロールを変更する手順は、『Oracle Event Processingビジュアライザの使用』を参照してください

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

- HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

- コマンドライン・ユーティリティのユーザー資格証明

9.2 Oracle Event ProcessingサーバーのJava SEセキュリティ

Java SEプラットフォームには標準ベースで相互運用可能なセキュリティ・アーキテクチャが定義されていますが、これは動的で拡張可能なものとなっています。暗号化、認証および認可、公開鍵暗号化などの機能のセキュリティが組み込まれています。

詳細は、http://java.sun.com/javase/technologies/security/ を参照してください。

Oracle Event Processingでは、次のセキュリティ・ポリシー・ファイルを使用したJava SEセキュリティがサポートされます。オラクル社では、製品のこれらのファイルのテンプレートを次のディレクトリで提供しています: /Oracle/Middleware/my_oep/oep/utils/security。

- policy.xml: Oracle Event Processingを構成するすべてのバンドルのセキュリティ・ポリシーを定義します。1番目のバンドル・セットはサーバー関連バンドルのポリシーを定義し、2番目のバンドル・セットはアプリケーション・バンドルのポリシーを定義します。

- security.policy: サーバーの起動およびJetty HTTPサーバーにデプロイされたWebアプリケーションのセキュリティ・ポリシーを定義します。このファイルはOracle Event Processing Visualizer Webアプリケーションのポリシーも定義します。

次のOracle Event Processing機能に対してJava SEセキュリティ・ポリシーを定義できます。

- Oracle Event Processingを構成するすべてのバンドル

- サーバーの起動

- Oracle Event ProcessingサーバーのJetty HTTPサーバーにデプロイされたWebアプリケーション

- Oracle Event Processing Visualizer

サーバーのJava SEセキュリティの構成:

1. Oracle Event Processingサーバーが現在実行中である場合は、停止します。
「サーバーの起動と停止」を参照してください。

2. policy.xmlおよびsecurity.policyを次のようにコピーします。
コピー元: /Oracle/Middleware/my_oep/oep/utils/security/

コピー先:

/Oracle/Middleware/my_oep/user_projects/domains/ <domainname>/<servername>/config/

3. 必要に応じて2つのセキュリティ・ポリシー・ファイルを編集します。

4. <servername>ディレクトリにある使用しているプラットフォーム向けのサーバー起動スクリプトで、サーバーを起動するjavaコマンドに次のプロパティを追加して、更新します。

-Djava.security.manager
-Djava.security.policy=./config/security.policy
-Dcom.bea.core.security.policy=./config/policy.xml

たとえば、すべてを1行にして次のようにします。

"%JAVA_HOME%\bin\java" %DGC% %DEBUG% -Djava.security.manager
-Djava.security.policy=./config/security.policy
-Dcom.bea.core.security.policy=./config/policy.xml
-Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%"
-jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6

5. config.xmlサーバー・ファイル内で<jetty>要素の<scratch-directory>子要素を追加してJetty Webアプリケーションがデプロイされるディレクトリを指定し、Jettyの構成を編集します。
次に例を示します。

<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>
<scratch-directory>./JettyWork</scratch-directory>
</jetty>

6. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。
「サーバーの起動と停止」を参照してください。

9.3 セキュリティ・プロバイダ

Oracle Event Processingは、認証、認可、ロール・マッピングおよび資格証明マッピング用の複数のセキュリティ・プロバイダをサポートしています。

デフォルトはファイルベースのプロバイダです。デフォルトのファイルベースのセキュリティ・プロバイダを使用する場合、ドメインの追加構成は必要ありません。LDAPまたはDBMSプロバイダを使用する場合は、追加の構成を実行する必要があります。セキュリティ・プロバイダの構成が完了すると、新しいユーザーを追加したり、それらのユーザーをグループに割り当てたり、グループをロールにマッピングすることができます。「ユーザー、グループおよびロール」を参照してください。

- ファイルベース: オペレーティング・システムのファイルを使用して、ユーザー、パスワード、グループ情報などのセキュリティ・データにアクセスするデフォルトのセキュリティ・プロバイダ。このプロバイダは、認証および認可を提供します。認証とは、ユーザーのIDを証明または検証するプロセスです。認可とは、ユーザーのセキュリティ・ロールとリクエストされたOracle Event Processingリソースに割り当てられたセキュリティ・ポリシーに基づいて、Oracle Event Processingリソースへのユーザーのアクセスを許可または拒否するプロセスです。認証では通常、ユーザー名とパスワードの組合せが必要となります。

- LDAP: LDAP (Lightweight Data Access Protocol)サーバーを使用してユーザー、パスワード、およびグループ情報にアクセスします。認証のみを提供します。
LDAPを使用して認証を行う場合、Oracle Event Processing Visualizerを使用してユーザーのパスワードは変更できますが、ユーザーやグループの追加や削除を行うことはできません。

- RDBMS: DBMSを使用してユーザー、パスワード、およびグループ情報にアクセスします。認証と認可の両方を提供します。

次の手順では、認証および認可の両方に使用するようにセキュリティ・プロバイダを構成する2つの異なる方法について説明します。

- LDAPを使用した認証の構成と、DBMSプロバイダを使用した認可の構成

- DBMSプロバイダを使用した認証と認可の構成

LDAPを使用した認証の構成と、DBMSプロバイダを使用した認可の構成

1. Oracle/Middleware/my_oep/oep/binディレクトリをPATH環境変数に追加します。

set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)

2. 構成するサーバーのconfigディレクトリに移動します。
デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。

3. テキスト・エディタで、myLDAPandDBMS.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

注意:

evsidentity.jksファイル内のブート・ユーザーの証明書が、security.xmlファイル内で構成されているものと同じであることを確認します。

# For attributes of type boolean or Boolean, value can be "true" or "false"
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored. For example, if the property is defined as:
#   saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored. For example (in practice, the property should be all on one line):
#  store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=sslv3
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
# Split here for readability; in practice, a property should be all on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@localhost:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.LDAPAuthenticatorMBean
#atn.1.UserObjectClass=
#atn.1.UserNameAttribute=
#atn.1.UserDynamicGroupDNAttribute=
atn.1.UserBaseDN=o=ECS,dc=bea,dc=com
atn.1.UserSearchScope=subtree
#atn.1.UserFromNameFilter=
#atn.1.AllUsersFilter=
atn.1.GroupBaseDN=ECS,dc=bea,dc=com
#atn.1.GroupSearchScope=
#atn.1.GroupFromNameFilter=
#atn.1.AllGroupsFilter=
#atn.1.StaticGroupObjectClass=
#atn.1.StaticGroupNameAttribute=
atn.1.StaticMemberDNAttribute=member
#atn.1.StaticGroupDNsfromMemberDNFilter=
#atn.1.DynamicGroupObjectClass=
#atn.1.DynamicGroupNameAttribute=
#atn.1.DynamicMemberURLAttribute=
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.UseRetrievedUserNameAsPrincipal=false
#atn.1.IgnoreDuplicateMembership=
#atn.1.KeepAliveEnabled=
atn.1.Credential=wlevs
#atn.1.Name=
#atn.1.PropagateCauseForLoginException=
atn.1.ControlFlag=REQUIRED
#atn.1.ConnectTimeout=
atn.1.Host=localhost
atn.1.Port=389
#atn.1.SSLEnabled=
atn.1.Principal=cn=Administrator,dc=bea,dc=com
#atn.1.CacheEnabled=
#atn.1.CacheSize=
#atn.1.CacheTTL=
atn.1.FollowReferrals=false
#atn.1.BindAnonymouslyOnReferrals=
#atn.1.ResultsTimeLimit=
#atn.1.ParallelConnectDelay=
#atn.1.ConnectionRetryLimit=
atn.1.EnableGroupMembershipLookupHierarchyCaching=true
#atn.1.MaxGroupHierarchiesInCache=
#atn.1.GroupHierarchyCacheTTL=
#atn.5.mbean=weblogic.security.providers.authentication.OpenLDAPAuthenticatorMBean
#atn.5.UserNameAttribute=
#atn.5.UserBaseDN=
#atn.5.UserFromNameFilter=
#atn.5.GroupBaseDN=
#atn.5.GroupFromNameFilter=
#atn.5.StaticGroupObjectClass=
#atn.5.StaticMemberDNAttribute=
#atn.5.StaticGroupDNsfromMemberDNFilter=
#atn.5.UserObjectClass=
#atn.5.UserDynamicGroupDNAttribute=
#atn.5.UserSearchScope=
#atn.5.AllUsersFilter=
#atn.5.GroupSearchScope=
#atn.5.AllGroupsFilter=
#atn.5.StaticGroupNameAttribute=
#atn.5.DynamicGroupObjectClass=
#atn.5.DynamicGroupNameAttribute=
#atn.5.DynamicMemberURLAttribute=
#atn.5.GroupMembershipSearching=
#atn.5.MaxGroupMembershipSearchLevel=
#atn.5.UseRetrievedUserNameAsPrincipal=
#atn.5.IgnoreDuplicateMembership=
#atn.5.KeepAliveEnabled=
#atn.5.Credential=
#atn.5.PropagateCauseForLoginException=
#atn.5.ControlFlag=
#atn.5.Name=
#atn.5.ConnectTimeout=
#atn.5.Host=
#atn.5.Port=
#atn.5.SSLEnabled=
#atn.5.Principal=
#atn.5.CacheEnabled=
#atn.5.CacheSize=
#atn.5.CacheTTL=
#atn.5.FollowReferrals=
#atn.5.BindAnonymouslyOnReferrals=
#atn.5.ResultsTimeLimit=
#atn.5.ParallelConnectDelay=
#atn.5.ConnectionRetryLimit=
#atn.5.EnableGroupMembershipLookupHierarchyCaching=
#atn.5.MaxGroupHierarchiesInCache=
#atn.5.GroupHierarchyCacheTTL=
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
#cm.3.mbean=weblogic.security.providers.credentials.FileBasedCredentialMapperMBean
#cm.3.FileStorePath=
#cm.3.FileStorePassword=
#cm.3.EncryptAlgorithm=
#cm.3.Name=
#cm.3.CredentialMappingDeploymentEnabled=
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

a. store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにして、プロパティ・ファイルをカスタマイズします。デフォルトのプロパティがどのように設定されるかを、次に示します。

# Split for readability; in practice, the property should be on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs,
Password=wlevs

b. LDAPサーバー構成を指定するプロパティを更新します。

c. その他すべてのプロパティはデフォルト値のままにします。

4. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

5. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat

myLDAPandDBMS.properties: ステップ3で作成したプロパティ・ファイル。security.xml: 新しいセキュリティ構成ファイルの名前。security-key.dat: 構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

追加情報は、「cssconfigコマンドライン・ユーティリティ」を参照してください。

6. /Oracle/Middleware/my_oep/oep/utils/security/sqlに移動します。
このディレクトリには、必要なセキュリティ関連データベース表を作成して初期データを設定するためのSQLスクリプトがあります。この手順ではDBMSプロバイダを認可のみに使用するので、関連するスクリプトは次のとおりです。

atz_create.sql: 認可で必要となるすべての表を作成します。

atz_drop.sql: 認可に関する表をすべてドロップします。

7. ステップ3でデータベース・ストアとして指定したデータベースに対し、atz_create.sql SQLスクリプトを実行します。

8. 「ユーザー、グループおよびロール」で説明されているデフォルト・グループおよびドメイン作成時に指定した管理者ユーザーを追加して、LDAPサーバーを構成します。デフォルトでは、oepadminというユーザーです。
詳細は、LDAPサーバーのドキュメントを参照してください。

9. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
「パスワードの強度」を参照してください。

DBMSプロバイダを使用した認証と認可の構成

1. Oracle/Middleware/my_oep/oep/binディレクトリをPATH環境変数に追加します。

prompt> set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
prompt> PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)

2. 構成するサーバーのconfigディレクトリに移動します。
デフォルトでは、configディレクトリは/Oracle/Middleware/my_oep/ user-Projects/domains/<domainname>/<servername>/config/にあります。

3. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

4. テキスト・エディタで、myDBMS.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

# For attributes of type boolean or Boolean, value can be "true" or "false"
# and it's case insensitive.
# For attributes of type String[], values are comma separated; blanks before
# and after the comma are ignored. For example, if the property is defined as:
#   saml1.IntersiteTransferURIs=uri1, uri2, uri3
# the IntersiteTransferURIs attribute value is String[]{"uri1", "uri2", "uri3"}
# For attributes of type Properties, the value should be inputted as
# a set of key=value pairs separated by commas; blanks before and after the
# commas are also ignored. For example (split for readability; in practice, the property should be all on one line):
#  store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@united.bea.com:1521:xe, Username=user, Password=user
domain.mbean=com.bea.common.management.configuration.LegacyDomainInfoMBean
domain.DomainName=legacy-domain-name
domain.ServerName=legacy-server-name
domain.RootDirectory=legacy-rootdir
#domain.ProductionModeEnabled=
#domain.WebAppFilesCaseInsensitive=
domain.DomainCredential=changeit
jaxp.mbean=com.bea.common.management.configuration.JAXPFactoryServiceMBean
#jaxp.DocBuilderFactory=
#jaxp.SaxParserFactory=
#jaxp.SaxTransformFactory=
#jaxp.TransformFactory=
#ldapssl.mbean=com.bea.common.management.configuration.LDAPSSLSocketFactoryLookupServiceMBean
#ldapssl.Protocol=
#ldapssl.TrustManagerClassName=
namedsql.mbean=com.bea.common.management.configuration.NamedSQLConnectionLookupServiceMBean
store.mbean=com.bea.common.management.configuration.StoreServiceMBean
# Split for readability; the property should be fully on one line.
store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs, Password=wlevs
#store.ConnectionProperties=
#store.NotificationProperties=
realm.mbean=weblogic.management.security.RealmMBean
realm.Name=my-realm
#realm.ValidateDDSecurityData=
#realm.CombinedRoleMappingEnabled=
#realm.EnableWebLogicPrincipalValidatorCache=
#realm.MaxWebLogicPrincipalsInCache=
#realm.DelegateMBeanAuthorization=
#realm.AuthMethods=
sqlconn.1.mbean=com.bea.common.management.configuration.NamedSQLConnectionMBean
sqlconn.1.Name=POOL1
sqlconn.1.JDBCDriverClassName=oracle.jdbc.driver.OracleDriver
sqlconn.1.ConnectionPoolCapacity=5
sqlconn.1.ConnectionPoolTimeout=10000
sqlconn.1.AutomaticFailoverEnabled=false
sqlconn.1.PrimaryRetryInterval=0
sqlconn.1.JDBCConnectionURL=jdbc\:oracle\:thin\:@fwang02\:1521\:orcl
sqlconn.1.JDBCConnectionProperties=
sqlconn.1.DatabaseUserLogin=wlevs
sqlconn.1.DatabaseUserPassword=wlevs
sqlconn.1.BackupJDBCConnectionURL=
sqlconn.1.BackupJDBCConnectionProperties=
sqlconn.1.BackupDatabaseUserLogin=
sqlconn.1.BackupDatabaseUserPassword=
adt.1.mbean=weblogic.security.providers.audit.DefaultAuditorMBean
adt.1.Severity=INFORMATION
#adt.1.InformationAuditSeverityEnabled=
#adt.1.WarningAuditSeverityEnabled=
#adt.1.ErrorAuditSeverityEnabled=
#adt.1.SuccessAuditSeverityEnabled=
#adt.1.FailureAuditSeverityEnabled=
#adt.1.OutputMedium=
#adt.1.RotationMinutes=
#adt.1.BeginMarker=
#adt.1.EndMarker=
#adt.1.FieldPrefix=
#adt.1.FieldSuffix=
adt.1.Name=my-auditor
#adt.1.ActiveContextHandlerEntries=
atn.1.mbean=weblogic.security.providers.authentication.SQLAuthenticatorMBean
atn.1.PasswordAlgorithm=SHA-1
atn.1.PasswordStyle=SALTEDHASHED
atn.1.PasswordStyleRetained=true
atn.1.SQLCreateUser=INSERT INTO USERS VALUES ( ? , ? , ? )
atn.1.SQLRemoveUser=DELETE FROM USERS WHERE U_NAME \= ?
atn.1.SQLRemoveGroupMemberships=DELETE FROM GROUPMEMBERS WHERE G_MEMBER \= ? ORG_NAME \= ?
atn.1.SQLSetUserDescription=UPDATE USERS SET U_DESCRIPTION  \= ? WHERE U_NAME \= ?
atn.1.SQLSetUserPassword=UPDATE USERS SET U_PASSWORD \= ? WHERE U_NAME \= ?
atn.1.SQLCreateGroup=INSERT INTO GROUPS VALUES ( ? , ? )
atn.1.SQLSetGroupDescription=UPDATE GROUPS SET G_DESCRIPTION \= ? WHERE G_NAME \=  ?
atn.1.SQLAddMemberToGroup=INSERT INTO GROUPMEMBERS VALUES( ?, ?)
atn.1.SQLRemoveMemberFromGroup=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER \= ?
atn.1.SQLRemoveGroup=DELETE FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLRemoveGroupMember=DELETE FROM GROUPMEMBERS WHERE G_NAME \= ?
atn.1.SQLListGroupMembers=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER LIKE ?
atn.1.DescriptionsSupported=true
atn.1.SQLGetUsersPassword=SELECT U_PASSWORD FROM USERS WHERE U_NAME \= ?
atn.1.SQLUserExists=SELECT U_NAME FROM USERS WHERE U_NAME \= ?
atn.1.SQLListMemberGroups=SELECT G_NAME FROM GROUPMEMBERS WHERE G_MEMBER \= ?
atn.1.SQLListUsers=SELECT U_NAME FROM USERS WHERE U_NAME LIKE ?
atn.1.SQLGetUserDescription=SELECT U_DESCRIPTION FROM USERS WHERE U_NAME \= ?
atn.1.SQLListGroups=SELECT G_NAME FROM GROUPS WHERE G_NAME LIKE ?
atn.1.SQLGroupExists=SELECT G_NAME FROM GROUPS WHERE G_NAME \= ?
atn.1.SQLIsMember=SELECT G_MEMBER FROM GROUPMEMBERS WHERE G_NAME \= ? AND G_MEMBER \= ?
atn.1.SQLGetGroupDescription=SELECT G_DESCRIPTION FROM GROUPS WHERE G_NAME \= ?
atn.1.GroupMembershipSearching=unlimited
atn.1.MaxGroupMembershipSearchLevel=0
atn.1.DataSourceName=POOL1
atn.1.PlaintextPasswordsEnabled=true
atn.1.ControlFlag=REQUIRED
atn.1.Name=my-authenticator
atn.1.EnableGroupMembershipLookupHierarchyCaching=false
atn.1.MaxGroupHierarchiesInCache=100
atn.1.GroupHierarchyCacheTTL=60
cm.1.mbean=weblogic.security.providers.credentials.DefaultCredentialMapperMBean
cm.1.Name=my-credential-mapper
cm.1.CredentialMappingDeploymentEnabled=true
rm.1.mbean=weblogic.security.providers.xacml.authorization.XACMLRoleMapperMBean
rm.1.Name=my-role-mapper
rm.1.RoleDeploymentEnabled=true
atz.1.mbean=weblogic.security.providers.xacml.authorization.XACMLAuthorizerMBean
atz.1.Name=my-authorizer
atz.1.PolicyDeploymentEnabled=true
adj.1.mbean=weblogic.security.providers.authorization.DefaultAdjudicatorMBean
adj.1.RequireUnanimousPermit=false
adj.1.Name=my-adjudicator

a. store.StorePropertiesプロパティを更新してデータベース・ドライバ情報、接続URL、およびデータベースに接続するユーザーのユーザー名/パスワードが反映されるようにして、プロパティ・ファイルをカスタマイズします。デフォルトのプロパティがどのように設定されるかを、次に示します。

store.StoreProperties=DriverName=oracle.jdbc.driver.OracleDriver,
ConnectionURL=jdbc:oracle:thin:@mymachine:1521:orcl, Username=wlevs,
Password=wlevs

b. その他すべてのプロパティはデフォルト値のままにします。

5. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

cssconfig -p myLDAPandDBMS.properties -c security.xml -i security-key.dat

myDBMS.properties: ステップ3で作成したプロパティ・ファイル。security.xml: 新しいセキュリティ構成ファイルの名前。security-key.dat: 構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

追加情報は、「cssconfigコマンドライン・ユーティリティ」を参照してください。

6. /Oracle/Middleware/my_oep/oep/utils/security/sqlに移動します。
このディレクトリには、必要なセキュリティ関連データベース表を作成して初期データを設定するためのSQLスクリプトがあります。スクリプトは次のとおりです。

atn_create.sql: 認証で必要となるすべての表を作成します。

atn_drop.sql: 認証に関する表をすべてドロップします。

atn_init.sql: 認証関連のユーザー表とグループ表にデフォルト値を挿入します。特にこのスクリプトは、oepadminという名前の単一のデフォルト管理者ユーザーをパスワードwelcome1でユーザー表に挿入し、このユーザーがwlevsAdministratorsグループに属するものと指定します。さらにこのスクリプトは、表9-1に記載されたデフォルトグループのグループ表への挿入も行います。

atz_create.sql: 認可で必要となるすべての表を作成します。

atz_drop.sql: 認可に関する表をすべてドロップします。

7. 構成ウィザードを使用してドメインを作成する際に、デフォルト以外の管理者ユーザーを指定した場合には、atn_init.sqlファイルを編集し、INSERT INTO USERS文と対応するINSERT INTO GROUPMEMBERS文を追加します。
たとえば、管理ユーザーjulietをパスワードshackellで追加するには、次の文をatn_init.sqlファイルに追加します。

INSERT INTO USERS (U_NAME, U_PASSWORD, U_DESCRIPTION) VALUES ('juliet','shackell','default admin');
INSERT INTO GROUPMEMBERS (G_NAME, G_MEMBER) VALUES ('wlevsAdministrators','juliet');

8. ステップ3でデータベース・ストアとして指定したデータベースに対し、次のSQLスクリプト・ファイルを記載した順番で実行します。
atn_create.sql

atn_init.sql

atz_create.sql

9. オプションで、新しいsecurity.xmlファイル内でパスワードの強度を構成します。
「パスワードの強度」を参照してください。

9.4 パスワードの強度

パスワードの強度は、認証資格証明としてのパスワードの効果を測定します。パスワードの強度をどのように構成するかによって、パスワードにユーザー名を含めることができるかどうか、パスワードの最小限の長さ、パスワードに少なくとも何個の数字を含めるかなど、ユーザーが指定できるパスワードのタイプが決まります。

セキュリティ構成ファイル(security.xml)で<password-validator>要素を更新して、Oracle Event Processingの認証に使用されるパスワードの強度を構成します。

デフォルトでは、セキュリティ構成ファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configディレクトリにあります。

次の例は、新しいドメインを作成した後のデフォルト値を含むsecurity.xmlファイルからのスニペットを示します。

<sec:password-validator
xmlns:pas="http://www.bea.com/ns/weblogic/90/security/providers/passwordvalidator"
xsi:type="pas:system-password-validatorType">
<sec:name>my-password-validator</sec:name>
<pas:reject-equal-or-contain-username>true</pas:reject-equal-or-contain-username>
<pas:reject-equal-or-contain-reverse-username>
false
</pas:reject-equal-or-contain-reverse-username>
<pas:max-password-length>50</pas:max-password-length>
<pas:min-password-length>6</pas:min-password-length>
<pas:max-instances-of-any-character>0</pas:max-instances-of-any-character>
<pas:max-consecutive-characters>0</pas:max-consecutive-characters>
<pas:min-alphabetic-characters>1</pas:min-alphabetic-characters>
<pas:min-numeric-characters>1</pas:min-numeric-characters>
<pas:min-lowercase-characters>1</pas:min-lowercase-characters>
<pas:min-uppercase-characters>1</pas:min-uppercase-characters>
<pas:min-non-alphanumeric-characters>0</pas:min-non-alphanumeric-characters>
</sec:password-validator>

表9-2では、<password-validator>の構成可能なすべての子要素を説明します。security.xmlファイルを手動で更新した場合には、変更内容が有効になるように、Oracle Event Processingサーバー・インスタンスを再起動する必要があります。

表9-2 <password-validator>の子要素

の子要素" width="100%">

子要素

説明

デフォルト値

reject-equal-or-contain-name

trueに設定すると、パスワードがユーザー名と同じであるかユーザー名を含んでいる場合に、Oracle Event Processingがそのパスワードを拒否します。

falseに設定すると、Oracle Event Processingがこの理由でパスワードを拒否することがなくなります。

true

reject-equal-or-contain-reverse-username

trueに設定すると、パスワードがユーザー名を逆にした文字列と同じであるかユーザー名を逆にした文字列を含んでいる場合に、Oracle Event Processingがそのパスワードを拒否します。

falseに設定すると、Oracle Event Processingがこの理由でパスワードを拒否することがなくなります。

false

max-password-length

パスワードの最大文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

50

min-password-length

パスワードの最小文字数を指定します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

6

max-instances-of-any-character

パスワード内で同じ文字が出現できる最大回数を指定します。たとえば、この要素を2に設定した場合、パスワードbubbleは無効となります。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

max-consecutive-characters

パスワード内で許可される、連続する同一文字の最大数を指定します。たとえば、この要素を2に設定した場合、パスワードbubbbleは無効となります。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-alphabetic-characters

パスワードに含める必要があるアルファベット文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

1

min-numeric-characters

パスワードに含める必要がある数字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

1

min-lowercase-characters

パスワードに含める必要がある小文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-uppercase-characters

パスワードに含める必要がある大文字の最小文字数を指定します。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

min-non-alphanumeric-characters

パスワードに含める必要のある非英数字の最小数を指定します。非英数字としては、$、#、@、&、!などがあげられます。

0の値は制限なしを意味します。

この要素の有効な値は、0に等しいかそれより大きい整数です。

0

9.5 ネットワーク・トラフィックを保護するためのSSL

Oracle Event Processingは、一方向のSecure Sockets Layer (SSL)を提供して特定の状況でのネットワーク・トラフィックを保護します。

SSLは次の間で動作します。

- Oracle Event Processing Visualizerを実行しているブラウザと、Oracle Event Processing Visualizerが使用するデータサービス・アプリケーションをホストしているOracle Event Processingサーバーとの間。

- wlevs.Adminコマンドライン・ユーティリティとOracle Event Processingインスタンスとの間。
「wlevs.AdminユーティリティをSSLモードで実行」を参照してください。

- マルチサーバー・ドメインのメンバー・サーバー間。

Federal Information Processing Standards (FIPS)の認定を受けた擬似乱数ジェネレータをSSLで使用するように、Oracle Event Processingを構成できます。SSLの構成後、HTTPSポート上でクライアント・リクエストのみを受信するようにOracle Event Processingサーバーを構成できます。「HTTPS専用接続」を参照してください。

サーバーのconfig.xmlファイル内でSSLを構成します。Oracle Event Processingサーバーを作成した場合、そのサーバーのconfig.xmlにはデフォルトのSSL構成が含められます。次の手順では、SSLおよびキー・ストアを構成する方法について説明します。

- SSLの手動での構成

- キー・ストアの手動での作成

- SAML2サービス・プロバイダとアイデンティティ・プロバイダの間のSSLの構成

- SAML2サービス・プロバイダとアイデンティティ・プロバイダの間のSSLの構成

9.5.1 SSLの手動での構成

1. 構成ウィザードを使用して、スタンドアロンサーバー・ドメインまたはマルチサーバー・ドメインを作成します。

参照:

スタンドアロンサーバー・ドメイン

Oracle Coherenceを使用したマルチサーバー・ドメイン

ネイティブ・クラスタリングを使用したマルチサーバー・ドメイン

2. XMLエディタで、構成するサーバーのconfig.xmlファイルを開きます。

デフォルトでは、config.xmlファイルは、/Oracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configにあります。

3. ssl要素を構成します。

次の例は、構成ウィザードが作成するデフォルトのssl要素を示します。

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}sdlUX8aEDeNpQ4VhsaCnFA==</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>

key-store要素は証明書ファイルを指します。構成ウィザードは、構成するサーバーのsslディレクトリにevsidentity.jksという名前のデフォルトの証明書ファイルを作成します。

デフォルトでは、証明書秘密鍵のパスワードは、アイデンティティ・キー・ストアのパスワードと同じになります。

注意:

証明書秘密鍵のパスワードがアイデンティティ・キー・ストアのパスワードと同じでないと、Oracle Event Processingサーバーが起動しません。

evsidentity.jksファイルには自己署名証明書が含まれています。必要であれば、ユーザー独自の証明書ファイルを作成し、evsidentity.jksファイルを置き換えるか、config.xmlファイルのkey-store要素を更新します。

注意:

本番環境では、システム管理者は、デフォルトの自己署名証明書をCA署名証明書で置き換える必要があります。

キー・ストアの作成の詳細は、「手動でのキー・ストアの作成」を参照してください。

enforce-fips要素の詳細は、「FIPS」を参照してください。

4. SSL用のnetio要素を構成します。

次の例は、構成ウィザードが作成するデフォルトのnetio要素を示します。

<netio>
<name>sslNetIo</name>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
<port>9003</port>
</netio>

ssl-config-bean-nameは、ssl要素のname子要素に一致する必要があります。

デフォルトでは、デフォルトのセキュア・ポートは9003です。ポートは変更できます。

5. jetty要素を構成し、secure-network-io-name子要素を追加します。

次の例は、デフォルトのjetty要素を示します。

<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>

secure-network-io-nameは、SSLのnetio要素のname子要素に一致する必要があります。

6. config.xmlファイルを保存して閉じます。

7. Oracle Event Processingサーバーが実行中の場合は再起動します。

「サーバーの起動と停止」を参照してください。

9.5.2 キー・ストアの手動での作成

デフォルトでは、構成ウィザードはevsidentity.jksという名前のデフォルトのキー・ストア証明書ファイルを作成します。

デフォルトでは、evsidentity.jksファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/sslディレクトリにあります。

パスワードは、サーバーを作成したときに入力したパスワードと同じです。オプションで、キー・ストアを手動で作成できます。

1. 次のようにJDKのkeytoolコマンドを使用して、キー・ストアを生成します。

keytool -genkey -alias evsidentity -keyalg RSA -validity 10958 -keystore evsidentity.jks -keysize 1024

2. 要求されたら、次のようにキー・ストアのパスワードを入力します。

Enter keystore password:

3. 要求されたら、次のようにキーストアの属性を入力します。

What is your first and last name?
[Unknown]:  OEP
What is the name of your organizational unit?
[Unknown]:  SOA
What is the name of your organization?
[Unknown]:  ORACLE
What is the name of your City or Locality?
[Unknown]:  SF
What is the name of your State or Province?
[Unknown]:  CA
What is the two-letter country code for this unit?
[Unknown]:  US
Is CN=OEP, OU=SOA, O=ORACLE, L=SF, ST=CA, C=US correct?
[no]:  y

4. 次のように鍵のパスワードを要求されたら、パスワードは入力せず、[Return]を押します。

Enter key password for <evsidentity>
(RETURN if same as keystore password):

注意:

証明書秘密鍵のパスワードがアイデンティティ・キー・ストアのパスワードと同じでないと、Oracle Event Processingサーバーが起動しません。

5. XMLエディタで、Oracle Event Processingサーバーのconfig.xmlファイルを開きます。

デフォルトでは、構成ウィザードはconfig.xmlファイルを/Oracle/Middleware/my_oep/user_projects/domains/ <domainname>/<servername>/configディレクトリに作成します。

6. ssl要素を構成します。

次の例は、デフォルトのssl要素を示します。

<ssl>
<name>sslConfig</name>
<key-store>KEYSTORE_PATH</key-store>
<key-store-pass>
<password>PASSWORD</password>
</key-store-pass>
<key-store-alias>KEYSTORE_ALIAS</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>

KEYSTORE_PATH: キー・ストア・ファイルへのファイル・パスです。ファイル名は、keytoolコマンドへの-keystore引数から取得されます。

PASSWORD: クリアテキスト・キー・ストア・パスワードです。

KEYSTORE_ALIAS: キー・ストアの別名です。キー・ストアの別名は、keytoolコマンドへの-alias引数から取得されます。

7. config.xmlファイルを保存して閉じます。

8. encryptMSAConfigユーティリティを使用して、config.xmlファイルのkey-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。

「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

9.5.3 マルチサーバー・ドメインでのビジュアライザ用SSLの構成

マルチサーバー・ドメイン内で、Oracle Event Processing Visualizerのデータ・サービス・アプリケーションをホストしているサーバーと別のサーバーとの間で一方向のSSLを構成できます。次の手順で、データ・サービス・アプリケーションをホストしているサーバーはmyServer1、2つ目のサーバーはmyServer2です。両方のサーバーが/Oracle/Middleware/my_oep/user_projects/domains/myServer1ディレクトリにあります。必要であれば、ドメイン内の他のサーバーについてもこの手順を繰り返してください。

マルチサーバー・ドメイン内のサーバー間で送信されるメッセージを保護する方法については、次を参照してください。

- Oracle Coherence: 「サーバー間で送信されるメッセージの保護」

- ネイティブ・クラスタリング: 「マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護」

マルチサーバー・ドメインでのOracle Event Processing Visualizerの起動の詳細は、『Oracle Event Processingビジュアライザの使用』を参照してください。

マルチサーバー・ドメインでビジュアライザが使用するSSLの構成

1. ドメイン内の2つのサーバーでSSLが構成されていることを確認します。

構成ウィザードを使用してサーバーを作成した場合、SSLはデフォルトで構成されています。

デフォルトの構成を変更する方法の詳細は、「手動でのSSLの構成」を参照してください。

2. myServer2を起動します。

「サーバーの起動と停止」を参照してください。

3. 次のように、myServer1ディレクトリのsslサブディレクトリに移動します。

cd /Oracle/Middleware/my_oep/user_projects/domains/myDomain/myServer1/ssl

4. 次のコマンドを指定して、myServer2の証明書を含むmyServer1の信頼キー・ストアを生成します(読みやすくするために分割してありますが、実際にはコマンドは1行にする必要があります)。

prompt> java -classpath Oracle\Middleware\my_oep\oep\
\common\lib\evspath.jar;Oracle\Middleware\my_oep\oep\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert host:secureport
-alias=alias truststorepath

host: myServer2が動作しているコンピュータ。

secureport: myServer2用に構成されたSSLネットワークI/Oポート。デフォルト値は9003です。詳細は、「SSLの手動での構成」を参照してください。

alias: 信頼キー・ストアの証明書の別名。デフォルト値はホスト名です。

truststorepath: 生成される信頼キー・ストア・ファイルのフル・パス名で、デフォルトはevstrust.jksです

たとえば、(すべてを1行にして)次のようにします。

java -classpath C:\Oracle\Middleware\
my_oep\oep\common\lib\evspath.jar;C:\Oracle\Middleware\
my_oep\oep\utils\security\wlevsgrabcert.jar
com.bea.wlevs.security.util.GrabCert myServer2:9003
-alias=myServer2 evstrust.jks

詳細は、「GrabCertコマンドライン・ユーティリティ」を参照してください。

5. 要求されたら、次のようにOracle Event Processing管理者のパスワードを入力します。
Please enter the Password for the trust store :

6. 要求されたら、次のようにmyServer2から送信された証明書を選択します。

Created TrustStore evstrust.jks
Opening connection to myServer2:9003...
Starting SSL handshake...

No certificates in evstrust.jks are trusted by myServer2:9003

Server sent 1 certificate(s):

1 Subject CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
Issuer  CN=localhost, OU=Event Server, O=BEA, L=San Jose, ST=California, C=US
sha1    00 07 c0 f4 10 48 9a f9 07 82 4f b6 9c 7f 7c d0 37 57 90 7d
md5     a4 d4 ff d2 43 69 95 ca c3 43 e6 f6 b8 08 df b7

Enter certificate to add to trusted keystore evstrust.jks or 'q' to quit: [1]

7. 次の例で太字で示すとおりに、信頼キー・ストアの情報をssl要素に追加し、use-secure-connections要素を追加して、myServer1のconfig.xmlファイルを更新します。

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>{Salted-3DES}s4YUEvH4Wl2DAjb45iJnrw==</password>
</key-store-pass>
<key-store-alias>evsidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<ssl-protocol>TLS</ssl-protocol>
<trust-store>./ssl/evstrust.jks</trust-store>
<trust-store-pass>
<password>wlevs</password>
</trust-store-pass>
<trust-store-alias>evstrust</trust-store-alias>
<trust-store-type>JKS</trust-store-type>
<trust-manager-algorithm>SunX509</trust-manager-algorithm>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>
<use-secure-connections>
<value>true</value>
</use-secure-connections>

config.xmlファイルは、メイン・サーバー・ディレクトリのconfigディレクトリにあります。この例では、その場所は/Oracle/Middleware/my_oep/user_projects/domains/myDomain/myServer1/config/です。

8. encryptMSAConfigユーティリティを使用して、config.xmlファイルのtrust-store-pass要素のpassword子要素に含まれるクリアテキスト・パスワードを暗号化します。

「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

9. myServer1を起動します。

9.5.4 SAML2サービス・プロバイダとアイデンティティ・プロバイダの間のSSLの構成

SSLを使用して、Oracle Event ProcessingサーバーをSAML2 SPとして構成し、必要なSAML2アイデンティティIDPオプションを使用してSPを構成することによって、SSO環境でサービス・プロバイダ(SP)とアイデンティティ・プロバイダ(IDP)の間の通信を保護できます。

次の例は、ssl要素と構成例を示します。手順では、例を編集してSAML2 SPとIPの間のSSLを構成します。

<ssl>
<name>samlsslConfig</name>
<key-store>security_files/DemoIdentity.jks</key-store>
<key-store-pass>
<password>DemoIdentityKeyStorePassPhrase</password>
</key-store-pass>
<key-store-type>JKS</key-store-type>
<trust-store>security_files/DemoTrust.jks</trust-store>
<ssl-protocol>TLS</ssl-protocol>
<key-store-alias>demoidentity</key-store-alias>
<key-manager-algorithm>SunX509</key-manager-algorithm>
<enforce-fips>false</enforce-fips>
<need-client-auth>false</need-client-auth>
</ssl>

SAML2 SPとIPの間のSSLの構成

1. 必須のSAML2 IDPオプションを構成します。

「SAML2アイデンティティ・プロバイダ・オプションの構成」を参照してください。

2. Oracle Event Processingサーバーのconfig.xml内でtransport-layer-client-cert-alias要素をsaml2-identity-provider要素に追加します。

<transport-layer-client-cert-alias>sp1</transport-layer-client-cert-alias>

3. Oracle Event Processingサーバーのconfig.xml内でssl-config-bean-name要素をsaml2-identity-provider要素に追加します。

<ssl-config-bean-name>samlsslConfig</ssl-config-bean-name>

ssl-config-bean-name: ssl要素の名前です。

4. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。

「サーバーの起動と停止」を参照してください。

9.6 FIPS

National Institute of Standards and Technology (NIST)は、連邦政府のコンピュータ・システムの標準を作成します。NISTはこれらの標準を、政府全体で使用できるようにFederal Information Processing Standards (FIPS)として発行します。Oracle Event Processingは、com.rsa.jsafe.provider.JsafeJCEセキュリティ・プロバイダを使用してFIPSをサポートします。このプロバイダを使用して、FIPSの認定を受けた擬似乱数ジェネレータをSSLで使用するようにOracle Event Processingを構成します。

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

- ネットワーク・トラフィックを保護するためのSSL

- http://www.itl.nist.gov/fipspubs/

FIPSの認定を受けた擬似乱数ジェネレータを使用するように、Oracle Event Processingサーバーを構成できます。

Oracle Event ProcessingサーバーのFIPSの構成

1. Java SEのセキュリティを構成します。

「Oracle Event ProcessingサーバーのJava SEセキュリティ」を参照してください。

2. SSLを構成します。

「ネットワーク・トラフィックを保護するためのSSL」を参照してください。

3. com.bea.core.jsafejcefips_version.jarをコピーします。

コピー元: /Oracle/Middleware/my_oep/oep/utils/security

コピー先: JRE_HOME/jre/lib/ext

JRE_HOME : JDKインストールを含むディレクトリです。

4. Oracle Event Processingサーバーが現在実行中である場合は、停止します。

「サーバーの起動と停止」を参照してください。

5. 次の例に示すとおり、JRE_HOME/jre/lib/security/java.securityファイルを編集して、com.bea.core.jsafejcefips_2.0.0.0.jarをJCEプロバイダとして追加します。

security.provider.N=com.rsa.jsafe.provider.JsafeJCE

N: Javaがセキュリティ・プロバイダにアクセスする順序を指定する一意の整数です。JsafeJCEプロバイダをデフォルトのプロバイダにするには、Nを1に設定します。この場合、次に示すとおり、各プロバイダが一意の値を持つように、java.securityファイル内の他のプロバイダのNの値を変更します。

security.provider.1=com.rsa.jsafe.provider.JsafeJCE
security.provider.2=sun.security.provider.Sun

6. config.xmlサーバー・ファイルのssl要素を編集して、次の子要素を追加します。

- enforce-fips: このオプションをtrueに設定します。

- secure-random-algorithm: このオプションをFIPS186PRNGに設定します。

- secure-random-provider: このオプションをJsafeJCEに設定します。

<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
<key-store-pass>
<password>s4YUEvH4Wl2DAjb45iJnrw==</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>true</enforce-fips>
<need-client-auth>false</need-client-auth>
<secure-random-algorithm>FIPS186PRNG</secure-random-algorithm>
<secure-random-provider>JsafeJCE</secure-random-provider>
</ssl>

7. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。

「サーバーの起動と停止」を参照してください。

9.7 SAML2を使用したSSO

Security Assertion Markup Language (SAML)は、セキュリティ・ドメイン間で認証および認可データを交換するためのOASIS XML標準です。Oracle Event ProcessingサーバーではSAML2がサポートされています。SAML構成で、Oracle Event Processingサーバーと、Oracle WebLogic ServerやOracle Access ManagerなどのSAML準拠システムの間で、Webアプリケーションのシングル・サインオン(SSO)環境を定義できます。

SSOにより、ユーザーが一度アプリケーションにサインオンすると、他の様々なアプリケーション・コンポーネントに(それらが独自の認証方式を使用している場合でも)アクセスできるようになります。シングル・サインオンを使用すると、ユーザーはすべてのアプリケーションに1つのIDでセキュアにログインできます。

図9-1に示すとおり、SAML2 SSO環境には2つのロールがあります。

- アイデンティティ・プロバイダ(IDP): 認証を実行するプロセスです。Oracle Event Processingサーバーのconfig.xmlファイルでIDPのSAML2オプションを構成します。

- サービス・プロバイダ(SP): 認証をIDPに委任するプロセスです。Oracle Event Processingのsecurity.xmlファイルでSPのSAML2オプションを構成します。

Oracle Event Processingのコンテキストにおいて、Oracle Event Processingサーバーはサービス・プロバイダです。アイデンティティ・プロバイダは、Oracle WebLogic ServerやOracle Access Managerなどの任意のSAML2準拠システムです。

図9-1 SAML2を使用するSSO

Oracle Event Processing VisualizerはSAML2を使用するSSOをサポートしますが、Oracle Event Processing HTTPパブリッシュ/サブスクライブ・サーバー(HTTP pub-subサーバー)はSAML2を使用するSSOをサポートしないことに注意してください。

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

- Oracle WebLogic Server セキュリティの理解

- WebLogicセキュリティ・サービスによるアプリケーションの開発

- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security

次の手順では、Oracle Event ProcessingサーバーでSAML2を使用したSSOを構成する方法について説明します。

- SAML2サービス・プロバイダ・オプションの構成

- SAML2アイデンティティ・プロバイダ・オプションの構成

- SAML2 Webアプリケーション・オプションの構成

9.7.1 SAML2サービス・プロバイダ・オプションの構成

この構成では、Oracle Event Processingサーバーがクライアント・リクエストを受信し、その認証をSAML2 IDPに委任します。cssconfigコマンドライン・ツールを使用して、security.xmlファイルでSAML2 SPオプションを構成します。

SAML2サービス・プロバイダ・オプションの構成

1. Oracle\Middleware\my_oep\oep\binディレクトリをPATH環境変数に追加します。

set PATH=d:\Oracle\Middleware\my_oep\oep\bin;%PATH% (Windows)
PATH=/Oracle/Middleware/my_oep/oep/bin:$PATH (UNIX)

2. 更新するサーバーのconfigディレクトリに変更します。

デフォルトでは、ドメイン・ディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>です。

3. 元に戻す必要が生じた場合のために、既存のsecurity.xmlファイルのバックアップ・コピーを取っておきます。

4. テキスト・エディタで、saml2.propertiesという名前のファイルを作成し、その中に次の例の内容をすべてコピーします。

プロパティ・ファイルをカスタマイズできます。

samlkey.mbean=com.bea.common.management.configuration.SAMLKeyServiceMBean
samlkey.Type=JKS
samlkey.Filename=security_files\\DemoIdentity.jks
samlkey.Passphrase=keystore_passphrase
samlkey.DefaultAlias=demoidentity
samlkey.DefaultPassphrase=keystore_passphrase
saml2.mbean=com.bea.common.management.configuration.SingleSignOnServicesMBean
saml2.PublishedSiteURL=http://localhost:9002/saml2
saml2.EntityID=http://localhost:9002/saml2
saml2.ServiceProviderEnabled=true
saml2.ServiceProviderPreferredBinding=HTTP/POST
saml2.SignAuthnRequests=true
saml2.WantAssertionsSigned=true
saml2.SSOSigningKeyAlias=sp1
saml2.SSOSigningKeyPassPhrase=password
saml2.TransportLayerSecurityKeyAlias=sp1
saml2.TransportLayerSecurityKeyPassPhrase=password
saml2.BasicAuthUsername=spBasicAuth
saml2.BasicAuthPassword=password
saml2.WantArtifactRequestsSigned=true
saml2.WantTransportLayerSecurityClientAuthentication=false
atn.10.mbean=weblogic.security.providers.saml.SAMLAuthenticatorMBean
atn.10.Name=saml2-atn-provider
ia.4.mbean=com.bea.security.saml2.providers.SAML2IdentityAsserterMBean
ia.4.Name=saml2-Identity-Asserter

5. 次のcssconfigコマンドを実行して新しいセキュリティ構成ファイル(security.xml)を作成します。

cssconfig -p saml2.properties -i security-key.dat -c security.xml

saml2.properties: 作成したプロパティ・ファイルで、security.xmlは新しいセキュリティ構成ファイルの名前、security-key.dat: 構成ウィザードによって生成された既存のファイルで、アイデンティティ・キーを含んでいます。

追加情報は、「cssconfigコマンドライン・ユーティリティ」を参照してください。

6. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。

「サーバーの起動と停止」を参照してください。

9.7.2 SAML2アイデンティティ・プロバイダ・オプションの構成

この構成では、SAML2 IDPオプションでOracle Event Processingサーバーを構成し、そのサーバーが次にそのオプションを使用して認証をSAML2準拠IDPに委任します。Oracle Event Processingサーバーのconfig.xmlファイルでSAML2 IDPオプションを構成します。

この手順では、Oracle WebLogic ServerをIDPの例として使用します。使用しているIDPに固有の構成詳細についてはIDPのドキュメントを参照し、この手順は参考として使用してください。

SAML2アイデンティティ・プロバイダ・オプションの構成

1. IDPからIDPメタデータ・ファイルを取得します。

Oracle WebLogic ServerがIDPである場合、次のようにIDPメタデータ・ファイルを生成できます。

a. ブラウザを開き、Oracle WebLogic Serverコンソールにログインします。

http://localhost:1010/console

b. ドメインの下で、「環境」→「サーバー」→「SERVER_NAME」→「フェデレーション」→「サービス」→「SAML 2.0全般」を選択します。
ここでSERVER_NAMEは使用しているOracle WebLogic Serverの名前です。

c. 「メタ・データの公開」をクリックしてファイル名を指定します。
この例では、myidp.xmlという名前です。

2. 更新するサーバーのconfigディレクトリに変更します。
デフォルトでは、ディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configです。

3. myidp.xmlファイルをOracle Event Processingサーバーのconfigディレクトリにコピーします。

4. 元に戻す必要が生じた場合のために、既存のconfig.xmlファイルのバックアップ・コピーを取っておきます。

5. テキスト・エディタで、次の例に示すとおり、config.xmlファイルを編集してsaml2-identity-provider要素を追加します。
Oracle Event Processingサーバーごとに1つのIDPのみを構成できます。

<saml2-identity-provider>
<meta-data-file-name>myidp.xml</meta-data-file-name>
<partner-name>partnerIdP1</partner-name>
<redirect-uris>
<uri>/unleashed_saml/</uri>
<uri>/unheardof_saml/</uri>
</redirect-uris>
</saml2-identity-provider>

meta-data-file-name: partner-name: このIDPインスタンスの名前。redirect-uris: SAML2認証URI。

6. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。
「サーバーの起動と停止」を参照してください。

9.7.3 SAML2 Webアプリケーション・オプションの構成

SAML2 SPおよびIDPのオプションを構成した後、SPにアクセスするWebアプリケーションのweb.xmlファイルを構成する必要があります。

SAML2 Webアプリケーション・オプションの構成

1. SPにアクセスする必要があるWebアプリケーションのweb.xmlファイルを含むディレクトリに変更します。

2. テキスト・エディタで、web.xmlファイルを編集してfilter要素を追加します。

<filter>
<filter-name>SAML2Filter</filter-name>
<filter-class>com.bea.core.saml2.SAML2Filter</filter-class>
</filter>

3. filter-mapping要素を追加します。

<filter-mapping>
<filter-name>SAML2Filter</filter-name>
<url-pattern>/welcome.jsp</url-pattern>
</filter-mapping>

filter-mappingの子要素url-patternで定義されている保護リソースは、config.xmlファイルで構成したredirectUriと一致する必要があります。

4. Webアプリケーションを再パッケージ化してデプロイします。

9.8 HTTPS専用接続

HTTPS接続のみを許可するようにサーバーをロック・ダウンできます。

サーバーのHTTPS専用接続の構成

1. サーバーのSSLが構成されていることを確認します。

詳細は、「ネットワーク・トラフィックを保護するためのSSL」を参照してください。

2. config.xmlサーバー・ファイルからHTTPポート構成を削除します。

デフォルトでは、このファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/config/にあります

次の例は、HTTPとHTTPSの両方のポートが構成された標準構成のconfig.xmlエントリを示します。HTTPポートは9002、HTTPSポートは9003です。クライアントは両方のポートを介してJettyサーバーにアクセスできます。

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>
<netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</netio>
<jetty>
<name>JettyServer</name>
<network-io-name>NetIO</network-io-name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
...
</jetty>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
...
</ssl>

次の例は、HTTPアクセスが削除された同一のconfig.xmlファイルを示します。クライアントは、HTTPSポートのみを使用してJettyサーバーにアクセスできます。

<netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</netio>
<jetty>
<name>JettyServer</name>
<secure-network-io-name>sslNetIo</secure-network-io-name>
...
</jetty>
<ssl>
<name>sslConfig</name>
<key-store>./ssl/evsidentity.jks</key-store>
...
</ssl>

3. マルチサーバー・ドメインの場合には、メンバー・サーバー間でSSLが構成されていることを確認します。

詳細は、「マルチサーバー・ドメインでのビジュアライザ用SSLの構成」を参照してください。

9.9 サーバー・サービスのセキュリティ

基本的なセキュリティ・タスク(Java SEセキュリティ、セキュリティ・サービス・プロバイダ、SSLの構成など)が完了したら、Oracle Event Processingサーバーが提供する様々なサービスに固有のセキュリティ詳細を構成できます。

この項では次の内容について説明します。

- Jettyセキュリティの構成

- JMXのセキュリティの構成

- JDBCセキュリティの構成

- HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

9.9.1 Jettyセキュリティの構成

Oracle Event Processingでは、HTTPサーブレットおよび静的リソースをデプロイするJava WebサーバーとしてJettyがサポートされています。http://mvnrepository.com/artifact/org.mortbay.jettyを参照してください。Jettyの詳細は、「Jetty」を参照してください。

次のセキュリティ・タスクはJettyの構成に影響を与えます。

- Oracle Event ProcessingサーバーのJava SEセキュリティ

- ネットワーク・トラフィックを保護するためのSSL

9.9.2 JMXセキュリティの構成

JMXを使用してOracle Event Processingサーバーにアクセスするクライアントは、Oracle Event Processingのロールベースの認証によって処理されます。ロールの詳細は、「ユーザー、グループおよびロール」を参照してください。

JMXの詳細は、「JMX」を参照してください。

9.9.3 JDBCセキュリティの構成

構成ウィザードを使用してデータ・ソースを新しいパスワードで更新する場合、構成ウィザードによってパスワードの暗号化が実行されます。data-source要素を追加または変更することでconfig.xmlファイルを手動で更新する場合には、パスワードをプレーン・テキストで入力し、暗号化ユーティリティencryptMSAConfigを使用してそのパスワードを暗号化します。

次の例は、config.xmlファイルのdata-source要素を示し、ここでは、properties要素内で新しいプレーン・テキスト・パスワードのsecretがpasswordという名前で指定されています。

<data-source>
<name>epcisDS</name>
<driver-params>
<url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
<driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>juliet</value>
</element>
<element>
<name>password</name>
<value>secret</value>
</element>
</properties>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

次の例は、暗号化後のconfig.xmlファイルのdata-source要素を示します。プレーン・テキストのパスワードが暗号化されている点に注意してください。

<data-source>
<name>epcisDS</name>
<driver-params>
<url>jdbc:sqlserver://localhost:1433;databaseName=myDB;SelectMethod=cursor</url>
<driver-name>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-name>
<properties>
<element>
<name>user</name>
<value>juliet</value>
</element>
<element>
<name>password</name>
<value>{Salted-3DES}hVgC5iZ3nZA=</value>
</element>
</properties>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

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

- コマンドライン・ユーティリティのユーザー資格証明

- encryptMSAConfigコマンドライン・ユーティリティ

JDBCの詳細は、「JDBC」を参照してください

9.9.4 HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

少なくとも1つのHTTPパブリッシュ/サブスクライブ・サーバー・チャネルを構成した後、Oracle Event Processing Visualizerを使用して、ロールベースの認証を適用して個々のHTTPパブリッシュ/サブスクライブ・サーバー・チャネルへのアクセスを制御できます。

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

- ユーザー、グループおよびロール

- HTTPパブリッシュ/サブスクライブ・サーバー

9.10 ビジュアライザのクロスドメイン・セキュリティ

Oracle Event Processing Visualizerは、イベント処理ネットワークの作成および構成に使用できるAdobe Flashベースのユーザー・インタフェースを提供します。

ビジュアライザの最も柔軟性の高いデフォルトのパフォーマンスを提供するために、ソフトウェアはあらゆるドメインからビジュアライザ・データにアクセスできるように構成された信頼レベルでインストールされます。この信頼レベルがデプロイメントにとって適切でない場合、アクセスを制限するために、アプリケーションのFlashクロスドメイン・ポリシー・ファイルを編集できます。

Flashクロスドメイン・ポリシーにより許可されるドメインを確認し、それらのドメインの意図とセキュリティの姿勢の両方を、アプリケーションが完全に信頼するのが適切かどうかを判断します。クロスドメイン・ポリシーの編集の詳細な説明は、AdobeのWebサイトを参照してください。Adobeのクロスドメイン・ポリシー・ファイルの使用の詳細は、AdobeのセキュリティWebサイトを参照してください。

クロスドメイン・セキュリティの更新

1. Oracle Event Processing Visualizer JARファイルを探します。
デフォルトでは、ファイルはOracle/Middleware/my_oep/oep/modules/ com.bea.wlevs.visualizer.jmxhttpadapter_version.jarにあります。

2. JARファイルを展開してcrossdomain.warファイルを探します。

3. crossdomain.warファイルを展開してcrossdomain.xmlファイルを探します。

4. crossdomain.xmlファイルを編集してクロスドメイン・セキュリティの要件を反映させます。

5. crossdomain.warファイルおよびOracle Event Processing Visualizer JARファイルを再パッケージ化します。

9.11 セキュリティ監査プログラム

Oracle Event Processingには、セキュリティ関連のアクティビティをロギングするセキュリティ監査プログラムが提供されています。

デフォルトでは、セキュリティ監査プログラムのロギング先は次のとおりです

Oracle/Middleware/my_oep/user_projects/domains/<domainname>/ <servername>/legacy-rootdir/servers/legacy-server-name/logs

デフォルトで、Oracle Event Processingセキュリティ監査プログラムはセキュリティ上のエラーまたは障害をロギングして、セキュリティ監査プログラムのログ・ファイルを管理可能なサイズに保持します。Oracle Event Processingセキュリティ監査プログラムが情報をロギングするレベルを構成できます。

セキュリティ監査プログラムのロギングを構成するには:

1. 構成するサーバーのconfigディレクトリに変更します。

2. テキスト・エディタで、security.xmlファイルを開いてsec:auditor要素を探します。

<sec:auditor xsi:type="wls:default-auditorType">
<sec:name>my-auditor</sec:name>
<wls:severity>CUSTOM</wls:severity>
<wls:rotation-minutes>720</wls:rotation-minutes>
<wls:error-audit-severity-enabled>true</wls:error-audit-severity-enabled>
<wls:failure-audit-severity-enabled>true</wls:failure-audit-severity-enabled>
</sec:auditor>

3. 必要に応じてsec:auditor要素を変更します。

wls:rotation-minutes: 何分待ってから新しいDefaultAuditRecorder.logファイルを作成するか。指定した時間で、監査ファイルが閉じて新しいファイルが作成されます。Oracle Event Processingによって、DefaultAuditRecorder.YYYYMMDDHHMM.logという名前のバックアップ・ファイルが同じディレクトリに作成されます。

wls:severity: 次のリストからの、サーバーに適した重大度レベル。セキュリティ監査プログラムは、指定された重大度のセキュリティ・イベントと、それより高い重大度ランク値を持つイベントもすべて監査します。たとえば、重大度レベルをERRORに設定した場合、Oracle Event Processingのセキュリティ監査プログラムは、重大度レベルERROR、SUCCESSおよびFAILUREのセキュリティ・イベントを監査します。

INFORMATION: 1WARNING: 2ERROR: 3SUCCESS: 4FAILURE: 5

あるいは、wls:severityのレベルをCUSTOMに設定して、次の子要素の1つ以上を使用して特定の重大度レベルを監査対象として有効化(true)または無効化(false)することもできます。

- wls:information-audit-severity-enabled: severity値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルINFORMATIONのイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。

- wls:warning-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルWARNINGのイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。

- wls:error-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルERRORのイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。

- wls:success-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルSUCCESSのイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。

- wls:failure-audit-severity-enabled: 重大度値がCUSTOMに設定された状態でこの子要素をtrueに設定すると、重大度レベルFAILUREのイベントの監査レコードがOracle Event Processingセキュリティ監査プログラムによって生成されます。

4. security.xmlファイルを保存して閉じます。

5. 変更を有効にするために、Oracle Event Processingサーバーを再起動します。

「サーバーの起動と停止」を参照してください。

9.12 セキュリティの無効化

Oracle Event Processingサーバーのセキュリティを完全に無効化できます。開発環境ではこの構成が適切である可能性もありますが、本番環境でセキュリティを無効化することはお薦めしません。

セキュリティを一時的に無効化するには、コマンドラインからstartwlevs.cmdまたはstartwlevs.shスクリプトを-disablesecurity引数付きで実行します。次に例を示します。

startwlevs.cmd -disablesecurity

注意:

サンプル・ドメインの一部では、startwlevs.cmdおよびstartwlevs.shのスクリプトにはすでに-disablesecurity引数が含まれています。そのようなスクリプトをコマンドライン上で-disablesecurityを使用して実行すると、「無効な引数」エラーによって失敗します。

9.13 セキュリティ・ユーティリティ

Oracle Event Processingには、セキュリティ管理を単純化するためのコマンドライン・ユーティリティが各種用意されています。コマンドライン・ユーティリティに加え、Oracle Event Processing Visualizerを使用して多くのセキュリティ・タスクを実行できます。

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

- セキュリティ・ユーティリティ・コマンドライン・リファレンス

- コマンドライン・ユーティリティのユーザー資格証明

9.14 コマンドライン・ユーティリティのユーザー資格証明

Oracle Event Processingでは様々なタスクを実行できるように、コマンドライン・ユーティリティが用意されています。

- wlevs.Admin: Oracle Event Processingを管理し、特にOracle CQプロセッサのルールを動的に構成したり、アプリケーションのイベント待機時間やスループットを監視するためのコマンドライン・インタフェース。詳細は、「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。

- Deployer: Oracle Event Processingアプリケーションをデプロイするためのコマンドラインベースの操作を管理者および開発者に対して提供する、Javaベースのデプロイメント・ユーティリティ。詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。

- cssconfig: パスワード・ポリシーを使用するセキュリティ構成ファイル(security.xml)を生成するためのコマンドライン・ユーティリティ。詳細は、「cssconfigコマンドライン・ユーティリティ」を参照してください。

- encryptMSAConfig: XMLファイル内のpassword要素に指定されたクリアテキスト・パスワードを暗号化するための暗号化コマンドライン・ユーティリティ。詳細は、「encryptMSAConfigコマンドライン・ユーティリティ」を参照してください。

各ユーティリティで、次の3つの方法を使用してユーザー資格証明(ユーザー名とパスワード)を指定できます。

- コマンドライン上で-userや-passwordなどのオプションを使用します。

- 対話形式を使用して、常にコマンド・ライン・ユーティリティで資格証明のプロンプトが表示されるようにします。

- ユーザー資格証明が格納されているファイル・ストアを指定します。ファイル・ストア自体もパスワードで保護します。

本番環境では、1番目のオプション(コマンドライン上でユーザーの資格証明を指定する方法)は決して使用せず、2番目および3番目のオプションのみを使用します。

対話モード(コマンドライン・ユーティリティが資格証明の入力を求める方法)を使用する場合には、ローカル・コンピュータに適したterminalioネイティブ・ライブラリがCLASSPATHに含まれていることを必ず確認し、ユーザーの資格証明の入力時にその情報が画面上にエコーされないようにしてください。Oracle Event Processingにはこの目的のために一連の標準ネイティブ・ライブラリが含まれていますが、ユーザーが必要とするライブラリが含まれていない可能性があります。

9.15 Oracle Event Processingの例およびドメインにおけるセキュリティ

構成ウィザードを使用して新しいドメインを作成する際には、管理者のユーザーおよびパスワードを指定する他、ドメイン・アイデンティティ・キー・ストアのパスワードも指定します。このユーザーは自動的にwlevsAdministratorsグループに追加されます。 デフォルトでは、セキュリティ構成はすべて、ファイルベースのプロバイダを使用して格納されます。

Oracle Event Processingの例はすべて、ユーザー名oepadminおよびパスワードwelcome1を持つ管理者を使用するように構成されます。新しいドメインを作成する場合には、この管理者の名前とパスワードを指定します。

HelloWorld例ではデフォルトで、セキュリティは無効化されます。これは、任意のユーザーがパスワードを入力しなくてもサーバーを起動したり、アプリケーションをデプロイしたり、管理ツール(wlevs.Admin)のすべてのコマンドを実行したりできることを意味します。

FX例およびAlgoTrading例ではセキュリティが有効化されます。どちらの例でも、パスワードがwelcome1のユーザーoepadminが、完全な管理者権限を持つOracle Event Processing管理者として構成されます。これらの例に対するサーバーを起動するスクリプトは、適切な引数を使用してこのユーザー名およびパスワードをjavaコマンドに渡します。デプロイヤまたはwlevs.Adminユーティリティを使用する場合も、適切な引数を使用してこのユーザー名/パスワードのペアを渡す必要があります。

詳細は、「コマンドライン・ユーティリティのユーザー資格証明」を参照してください。

10 Jetty

Oracle Event Processingでは、HTTPサーブレットおよび静的リソースをデプロイするJava WebサーバーとしてJettyがサポートされています。Jetty機能をOracle Event Processingとともに使用するように構成できます。構成できる機能は、ネットワークI/O、ワーク・マネージャ、およびJettyサーバー・インスタンスの構成です。

Oracle Event ProcessingのJettyサポートは、バージョン1.2のOSGi HTTPサービスに基づいています。OSGi HTTPサービスAPIによって、実行時および静的リソースを持つオブジェクトを動的に登録および登録解除することが可能になります。この仕様には、JavaサーブレットAPI 2.1以上が必要です。http://java.sun.com/products/servlet/docs.htmlを参照してください。

この章の内容は次のとおりです。

- Jettyの機能

- スレッド・プール

- ワーク・マネージャの構成

- アプリケーションの開発とデプロイメント

- Jettyサーバー・インスタンスの構成

10.1 Jettyの機能

Oracle Event Processingでは、これらのJettyの機能をサポートします。

サーブレット: Oracle Event Processingでは、同期および非同期のJavaサーブレットをサポートします。非同期サーブレットはリクエストを受信し、スレッドを取得して作業を実行します。また、最終的には、アクションの完了を待機している間に(別のスレッドを再取得するよりも前に)スレッドを解放し、レスポンスを送信します。「アプリケーションの開発とデプロイメント」を参照してください。

ネットワークI/O統合: Oracle Event Processingでは、ネットワークI/O (NetIO)を使用してJettyサービスのポートとリスニング・アドレスを構成します。Jettyは多重化されたネットワークI/Oに対応した組込み機能を備えています。ただし、同一ポート上での複数のプロトコルはサポートされません。

スレッド・プール統合: Oracle Event Processing Jettyサービスでは、拡張可能スレッド・プーリングにOracle Event Processingワーク・マネージャを使用します。「Jetty構成の例」を参照してください。Jettyは独自のスレッド・プーリング機能を提供しますが、処理コストおよび構成の複雑さを最小限に抑えるために、Oracle Event Processingの自動チューニング・スレッド・プールを使用することをお薦めします。

Jettyワーク・マネージャ: Oracle Event Processingでは、アプリケーションがどのような優先順位で作業を実行するかを構成できます。ルールを定義して実行時パフォーマンスを監視して、アプリケーション・パフォーマンスを最適化し、サービスレベルのアグリーメントを保持します。ワーク・マネージャを定義して、アプリケーションに対してルールや制約を定義します。「Jetty構成オブジェクト」を参照してください。

10.2 スレッド・プール

Oracle Event Processingでは、1つのスレッド・プールを使用してすべてのタイプの作業を実行します。作業は、ユーザーが定義するルールと実行時のメトリックに基づいて優先順位付けされ、メトリックとしては、リクエストを実行するのにかかった時間、リクエストをプールに出し入れする割合などがあります。

共通スレッド・プールのサイズは、スループットが最大になるように変更されます。キューは、スループットを一定期間監視し、履歴を基にスレッド数を調整するかどうかを判断します。たとえば、スループットの統計値の履歴に基づき、スレッド数を増やすことでスループットが向上すると判断されると、Oracle Event Processingではスレッド数が自動的に増やされます。同様に、統計値に基づいてスレッドを減らしてもスループットが悪化しないと判断されると、Oracle Event Processingではスレッド数が自動的に減らされます。

10.3 ワーク・マネージャの構成

Oracle Event Processingでは、定義済のパラメータと実行時のパフォーマンスおよびスループットを考慮に入れた実行モデルに基づいて、作業の優先順位が決定されてスレッドが割り当てられます。ユーザーは、一連のスケジューリング・ガイドラインを構成し、それらを1つまたは複数のアプリケーションに関連付けたり、特定のアプリケーション・コンポーネントに関連付けることができます。

たとえば、スケジューリング・ガイドラインのセットを1つのアプリケーションに関連付け、別のガイドラインのセットを別のアプリケーションに関連付けることができます。実行時には、Oracle Event Processingではこのガイドラインに基づいて、保留中の作業やキューに入っているリクエストが実行スレッドに割り当てられます。

アプリケーション内の作業を管理するには、次のうち1つまたは複数のワーク・マネージャ・コンポーネントを定義します。

- fairshare: リクエストを処理するために必要な平均スレッド使用時間。
たとえば、Oracle Event Processingで2つのモジュールが実行され、ModuleAのワーク・マネージャではfairshareが80に指定されていて、ModuleBのワーク・マネージャではfairshareが20に指定されています。各モジュールで切れ目なくリクエストを処理している状態(つまり、リクエスト数がスレッド数を超えている状態)が続く間は、Oracle Event Processingでは、スレッド使用時間の80%がModuleAに、20%がModuleBにそれぞれ割り当てられます。

注意:

フェア・シェア要求クラスは、割合ではなく相対値として指定します。したがって、上の例でリクエスト・クラスを400と100に設定しても相対値としては同じです。

- max-threads-constraint: 制約対象の作業セットからのリクエストを実行する同時スレッドの数を制限します。デフォルトは無制限です。たとえば、最大スレッド数が10に定義された制約を3つのエントリ・ポイントで共有するとします。このスケジューリング・ロジックでは、統合された3つのエントリ・ポイントからのリクエストを10個以下のスレッドで実行します。
max-threads-constraintは、リクエストが依存するリソース(たとえば接続プール)の可用性の観点から定義できます。

max-threads-constraintは、リクエスト・クラスによるスレッドのフェア・シェアの実現やレスポンス時間の目標値の達成を妨げることがあります。いったん制約条件が満たされると、同時実行数が制限値を下回るまで、Oracle Event Processingではこのタイプのリクエストはスケジューリングされません。制限値を下回ると、Oracle Event Processingでは、フェア・シェアまたはレスポンス時間の目標値に基づいて作業がスケジューリングされます。

- min-threads-constraint: 制約対象のリクエストに割り当てられるスレッドの数を保証することでデッドロックを回避します。デフォルトはゼロです。min-threads-constraintの値を1に設定すると、ピアから同期的に呼び出されるレプリケーション更新リクエストなどの場合に便利です。
min-threads-constraintによってフェア・シェアが向上しない場合もあります。このタイプの制約は、主にOracle Event Processingインスタンスがデッドロック状態に近づいたときに効果を発揮します。このような場合は、最近サービス・クラス内のリクエストがフェア・シェアを超えていたときでも、Oracle Event Processingではこの制約によってリクエストがスケジューリングされます。

10.4 アプリケーションの開発とデプロイメント

Oracle Event Processingでは、Jettyへのデプロイメントのためのサーブレット開発をサポートします。

開発者は標準Java EE Webアプリケーションを作成し、サーブレットが実行されるサーバーのconfig.xmlファイルでjetty-web-app構成オブジェクトを使用してそのアプリケーションを構成します。

Oracle Event Processingでは、Java Servletバージョン2.4仕様に規定されているように、warファイルまたは展開されたwarファイルのどちらでもパッケージのサーブレットのデプロイメントをサポートしています。事前に構成されたWebアプリケーションをサーバーの構成に組み込むことによって、展開済ディレクトリまたはwarファイルからアプリケーションをデプロイできます。

標準のweb.xmlファイルに指定されたセキュリティ制約はCommon Security Servicesのセキュリティ・プロバイダにマップされます。サーブレットAPIでは、宣言型のロール・ベース・セキュリティを指定します。つまり、特定のURLパターンをセキュリティ・ロールにマップできます。

10.5 Jettyサーバー・インスタンスの構成

この項では、Jetty構成の例を示し、その後にJetty構成オブジェクトの説明を示します。

構成するサーバーのconfig.xmlファイルでJettyサーバー・インスタンスを構成します。Jettyに影響するセキュリティ構成タスクの詳細は、「Jettyセキュリティの構成」を参照してください。

10.5.1 Jetty構成の例

次のconfig.xmlファイルからのスニペットは、Jetty構成の例を示します。Jetty関連の構成情報のみが示されています。

<config>
<netio>
<name>JettyNetIO</name>
<port>9002</port>
</netio>
<work-manager>
<name>WM</name>
<max-threads-constraint>64</max-threads-constraint>
<min-threads-constraint>3</min-threads-constraint>
</work-manager>
<jetty>
<name>TestJetty</name>
<work-manager-name>WM</work-manager-name>
<network-io-name>JettyNetIO</network-io-name>
<debug-enabled>false</debug-enabled>
<scratch-directory>JettyWork</scratch-directory>
</jetty>
<jetty-web-app>
<name>test</name>
<context-path>/test</context-path>
<path>testWebApp.war</path>
<jetty-name>TestJetty</jetty-nam>
</jetty-web-app>
</config>

10.5.2 Jetty構成オブジェクト

この項では、次の構成オブジェクトを使用して、Jetty HTTPサーバーのインスタンスを構成する方法を説明します。使用しているOracle Event Processingサーバーを記述するconfig.xmlファイル内にJetty HTTPサーバーを構成します。

- jetty

- netio

- work-manager

- jetty-web-app。

jetty

次の表に示すパラメータを使用して、config.xmlファイルにjetty構成オブジェクトを定義します。

表10-1 jetty要素構成パラメータ

パラメータ

データ型

説明

network-io-name

String

使用されたNet IOサービスの名前。Net IOサービスは、サーバーがリスニングするポートを定義します。

詳細は、「Jetty構成オブジェクト」を参照してください。

work-manager-name

String

スレッドのプールに使用されるワーク・マネージャの名前。指定しない場合はデフォルトのワーク・マネージャが使用されます。

「Jetty構成オブジェクト」を参照してください。

scratch-directory

String

Webアプリケーション、JSPおよびその他のタイプのWebアーティファクトに必要な一時ファイルを保管するディレクトリの名前。

debug-enabled

boolean

JettyコードでOSGi Log Serviceを使用してデバッグ機能を有効にします。

name

String

jettyサーバー・インスタンスの名前。

netio

次の表に示すパラメータを使用して、config.xmlファイルにnetio構成オブジェクトを定義します。

表10-2 netio要素構成パラメータ

パラメータ

データ型

説明

name

String

構成オブジェクトの名前。

port

int

リスニングするポート番号。

listen-address

String

netioサービスのインスタンスが着信接続をリスニングするアドレス。

- このパラメータは、a.b.c.d形式の数値IPアドレスまたはホスト名に設定できます。

- 設定しない場合は、すべてのネットワーク・インタフェースがリスニングされます。

このパラメータの値は、サービスが起動されるまで検証できません。

work-manager

次の表に示すパラメータを使用して、config.xmlファイルにwork-manager構成オブジェクトを定義します。

表10-3 work-manager要素構成パラメータ

パラメータ

データ型

説明

min-threads-constraint

Integer

このワーク・マネージャが使用する最小スレッド数。

fairshare

Integer

このワーク・マネージャが使用するfairshare値。

max-threads-constraint

Integer

このワーク・マネージャが使用する最大スレッド数制約。

name

String

このワーク・マネージャの名前。

jetty-web-app

次の構成オブジェクトを使用して、Jettyが使用するWebアプリケーションを定義します。

表10-4 jetty-web-app要素構成パラメータ

パラメータ

データ型

説明

name

String

このワーク・マネージャの名前。

context-path

String

このWebアプリケーションのデプロイ先となるWebサーバーのネームスペースのコンテキスト・パス。

設定しない場合、デフォルトで「/」になります。

scratch-directory

String

JettyがこのWebアプリケーションの一時ファイルを保管する場所。

「Jettyサーバー・インスタンスの構成」のscratch-directoryパラメータをオーバーライドします。

path

String

サーバー上のWebアプリケーションの場所を指すファイル名。ディレクトリまたはwarファイルを指定できます。

jetty-name

String

このWebアプリケーションのデプロイ先のJettyサービス名。既存の「Jettyサーバー・インスタンスの構成」の名前と一致している必要があります。

name

String

この構成オブジェクトの名前。

11 JMX

Oracle Event Processingでは、Java Management Extensions (JMX)仕様に完全に準拠した標準ベースのインタフェースが提供されます。ソフトウェア開発者は、これらのインタフェースを使用して、Oracle Event Processing管理bean (MBean)を監視し、Oracle Event Processingドメインの構成を変更し、Oracle Event Processingアプリケーションを監視できます。

この章の内容は次のとおりです。

- MBean使用法

- Oracle Event Processing JMXサーバーへのアクセス

- MBeanのタイプ

- JMXの構成

- JMXによる管理。

11.1 MBean使用法

ソフトウェア開発者は、MBeanインタフェースを実装して、顧客のインストールで管理者によって使用されるOracle Event Processing管理コンソールを設計および開発します。 MBeanによって、開発者はEPNコンポーネントを動的に構成し、サーバー、ドメイン、およびアプリケーション構成とライフ・サイクル管理を実行できます。EPN構成タスクとして、Oracle CQLまたはルールの追加と削除、チャネル最大サイズの変更、通知へのサブスクライブ、様々な操作の実行といったタスクがあります。

現在、ローカルまたはリモート・サーバーでアプリケーション・ライブラリをデプロイおよびアンデプロイするためのMBeanサポートはありません。詳細は、「デプロイヤ・コマンドライン・リファレンス」を参照してください。

次のいずれかのツールを使用してMBeanを操作できます。

- Oracle Event Processing Visualizer。

- wlevs.Adminコマンドライン・ユーティリティ。「wlevs.Adminコマンドライン・リファレンスについて」を参照してください。

- デプロイヤ・コマンドライン・デプロイメント・ユーティリティ。「デプロイヤ・コマンドライン・リファレンス」を参照してください。

- jconsole (JDKによって提供されるJMXコンソール)。

- 標準JMX APIのあるJavaコード。http://www.oracle.com/technetwork/java/javase/tech/index-jsp-142926.htmlを参照してください。

11.2 Oracle Event Processing JMXサーバーへのアクセス

Oracle Event Processing MBeanにアクセスするには、まずOracle Event Processing JMXサーバーに接続する必要があります。

Oracle Event Processingでは、JRMPプロトコルがサポートされていません。かわりに、JMXクライアントでは、Oracle Event Processing JMXサーバーにローカルおよびリモートからアクセスするために、よりセキュアなMSAプロトコルを使用する必要があります。

localhostまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続するとき、Oracle Event Processingサーバーへの接続元にするホストのクライアント・クラス・パスに、次のOracle Event ProcessingサーバーJARファイルをコピーする必要があります。

- Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.jmx_13.0.0.0.jar

- Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.rmi_13.0.0.0.jar

- Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.jndi.context_13.0.0.0.jar

- Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.logging_3.0.0.0.jar

- Oracle\Middleware\my_oep\oep\wlserver\modules\com.bea.core.bootbundle_13.0.0.0.jar

次のコマンドライン・オプションおよびクラスパス(読みやすくするために区切っています)を使用して、JMXクライアント(例jconsole)を起動する必要があります。

java -Djmx.remote.protocol.provider.pkgs=com.bea.core.jmx.remote.provider
-Dmx4j.remote.resolver.pkgs=com.bea.core.jmx.remote.resolver
-Djava.naming.factory.initial=com.bea.core.jndi.context.ContextFactory
-classpath %JAVA_HOME%\lib\jconsole.jar;MODULE_HOME\modules\com.bea.core.jmx_13.0.0.0.jar;
MODULE_HOME\modules\com.bea.core.rmi_7.0.0.0.jar;
MODULE_HOME\modules\com.bea.core.jndi.context_7.0.0.0.jar;
MODULE_HOME\modules\com.bea.core.logging_1.5.0.0.jar;
MODULE_HOME\modules\com.bea.core.bootbundle_8.0.0.0.jar
sun.tools.jconsole.JConsole

MODULE_HOMEはOracle Event ProcessingサーバーJARファイルをコピーしたディレクトリです。

Oracle Event Processing JMXサーバーに接続する場合、常にMSAコネクタを使用するように、必ずJMX URL service:jmx:msarmi://HOST-NAME:port/jndi/jmxconnectorを使用する必要があります(HOST-NAMEはlocalhostまたはリモート・ホスト名で、portはOracle Event ProcessingサーバーのJNDIポートです)。

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

- APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続

- セキュリティが無効なJConsoleを使用したローカルまたはリモートJMXサーバーへの接続

11.3 MBeanのタイプ

Oracle Event Processingでは、構成および実行時MBeanが公開されています。

構成MBeanには、EPNコンポーネント、デプロイ済アプリケーション、サーバーおよびドメインに関する構成情報が含まれます。構成MBeanは固定の管理インタフェースを持ち、サーバーのconfig.xmlファイルおよびコンポーネントの構成ファイルに含まれている情報を表します。CQLProcessorMBeanおよびEventChannelMBeanは、構成MBeanの例です。

デプロイ済アプリケーション(アダプタ、チャネル、またはプロセッサ)のすべてのコンポーネントには、基になるコンポーネントの構成を管理する構成MBeanが指定されています。コンポーネント・タイプごとに、管理可能な独自のアーティファクトがあります。たとえば、チャネルの最大スレッド数やプロセッサに関連付けられたOracle CQLルールを動的に構成できます。

ランタイムMBeanには、ランタイムMBeanを使用するEPNの各コンポーネントの監視情報が含まれます。監視情報にはスループット(イベントのコンポーネント通過数)と待機時間(イベントのコンポーネント通過時間)が含まれます。

特定のMBeanの詳細は、Oracle Event Processing Java APIリファレンスを参照してください。

11.3.1 構成MBean

Oracle Event Processingアプリケーションをデプロイすると、管理容易性が有効になっているEPNの各コンポーネント、またはEPNアセンブリ・ファイルに登録されている各コンポーネントについて、構成MBeanがサーバーによって作成されます。アダプタの構成を拡張した場合、アダプタ用のカスタム構成MBeanがデプロイされます。

JMXを使用すると、コンポーネントの構成MBeanを使用してコンポーネントを動的に構成できます。たとえば、EventChannelMBean.setMaxSize()メソッドを使用してチャネル・コンポーネントのサイズを設定できます。

11.3.2 構成MBeanのネーミング

Oracle Event Processing構成MBeanは階層構造に編成されています。各MBeanのオブジェクト名は階層内でのそのMBeanの位置を表しています。

一般的なオブジェクトのネーミング・パターンは次のとおりです。

com.bea.wlevs:Name=name,Type=type,[TypeOfParentMBean=NameOfParentMBean]

説明:

- com.bea.wlevs:はJMXドメイン名です。

- Name=name,Type=type,[TypeOfParentMBean=NameOfParentMBean]は、一連のJMXキー・プロパティです。

キー・プロパティの順序は重要ではありませんが、オブジェクト名はcom.bea:wlevs:で開始する必要があります。

たとえば、ドメイン内のアプリケーションmyapplicationにmyprocessorと呼ばれるプロセッサがある場合、そのプロセッサに対応するMBeanのオブジェクト名は次のようになります。

com.bea.wlevs:Name=myprocessor,Type=CQLProcessor,Application=myapplication

表11-1は、Oracle Event ProcessingがMBeanオブジェクト名にエンコードするキー・プロパティについて説明します。

表11-1 Oracle Event Processing MBeanオブジェクト名のキー・プロパティ

キー・プロパティ

指定内容

Name=name

MBeanが表すリソースを作成したときに指定した文字列。通常はコンポーネントの名前です。

EPNアセンブリ・ファイル内に特定のコンポーネントの名前を指定するには、コンポーネント登録のid属性を使用します。

たとえばプロセッサの場合、EPNアセンブリ・ファイル内のエントリは次のようになります。

<wlevs:processor id="myprocessor" advertise="true" />

この場合、キー・プロパティはName=myprocessorになります。

Type=type

MBeanのタイプの短縮名。短縮名は、MBean接尾辞の付かない、未修飾のタイプ名です。

たとえば、MBeanがCQLProcessorMBeanのインスタンスである場合は、CQLProcessorを使用します。この場合、キー・プロパティはType=CQLProcessorになります。

TypeOfParentMBean=NameOfParentMBean

親MBeanのタイプと名前を指定します。

コンポーネントの場合は、常にApplication=application_nameとなります。application_nameは、コンポーネントが属するアプリケーションの名前です。

特定のOracle Event Processingアプリケーションの名前は、アプリケーション・バンドルに含まれるMANIFEST.MFファイルのBundle-SymbolicNameヘッダーで指定します。たとえば、アプリケーションに次のようなMANIFEST.MFのスニペットが指定されている場合(関連する部分のみを示します):

Manifest-Version: 1.0
Archiver-Version:
Build-Jdk: 1.5.0_06
....
Bundle-SymbolicName: myapplication

この場合、キー・プロパティはApplication=myapplicationになります。

表11-2は、HelloWorldサンプルEPNアセンブリ・ファイルでのコンポーネント宣言に対応した構成MBeanオブジェクト名の例を示しています。個々の例で、アプリケーション名はhelloworldであり、ドメイン名はmyDomainです。

表11-2 コンポーネント宣言の例および対応するMBeanオブジェクト名

EPNアセンブリ・ファイルでのコンポーネント宣言

対応する構成MBeanオブジェクト名

<wlevs:processor id="helloworldProcessor" />

com.bea.wlevs:Name=helloworldProcessor,Type=CQLProcessor,Application=helloworld,Domain=myDomain

CQLProcessorは、プロセッサ・コンポーネントの標準構成MBeanです。管理可能なプロパティはrulesです。

<wlevs:channel id="helloworldInstream">
<wlevs:listener ref="helloworldProcessor"/>
<wlevs:source ref="helloworldAdapter"/>
</wlevs:channel>

com.bea.wlevs:Name=helloworldInstream,Type=EventChannel,Application=helloworld,Domain=myDomain

Channelは、チャネル・コンポーネントの標準構成MBeanです。管理可能なプロパティはMaxSizeとMaxThreadsです。

11.3.3 ランタイムMBean

ランタイムMBeanで、EPNの各コンポーネントについての監視情報を収集できます。Oracle Event Processingサーバーは各コンポーネントで監視できる次のメトリックを定義します。

- スループット: コンポーネントで処理されるイベント数。このメトリックのパラメータは、スループット時間間隔、集約時間間隔、間隔を表す時間の単位です。

- 平均待機時間: イベントがコンポーネントを通過するのにかかる平均時間、または待機時間。パラメータ: 集計時間間隔、その間隔の時間単位。

- 最大待機時間: イベントがコンポーネントを通過するのにかかる最大時間。パラメータ: 集計時間間隔、その間隔の時間単位。

- 平均待機時間のしきい値: コンポーネントの開始点と終了点の間のイベントの平均待機時間が指定されたしきい値を超えたかどうかを指定します。パラメータ:集約時間間隔、しきい値、間隔を表す時間の単位。

11.3.4 ランタイムMBeanのネーミング

ランタイムMBeanの命名には、構成MBeanと同じパターンが使用されDirectionというプロパティが1つ余分にあります。このプロパティには有効な値が2つあります。どの時点で統計を収集するかを指定するOUTBOUNDとINBOUNDです。OUTBOUNDは、指定したコンポーネントをイベントが離れたときにスループットと待機時間を収集することを示します。同様に、INBOUNDは、イベントがコンポーネントに入ったときに監視情報を収集することを示します。

たとえば、イベントがコンポーネントに入ったときにイベントを監視するアプリケーションmyapplicationにmyprocessorと呼ばれるプロセッサがある場合、そのプロセッサに対応するランタイムMBeanのオブジェクト名は次のようになります。

com.bea.wlevs:Name=myprocessor,Type=CQLProcessor,Application=myapplication,Direction=INBOUND

構成MBeanのネーミングの詳細は、「構成MBeanのネーミング」を参照してください。

11.3.5 Event Processing MBeanの階層

すべてのMBeanは、javax.management.ObjectName型のオブジェクト名でMBeanサーバーに登録されなければなりません。Oracle Event Processingでは、子MBeanのオブジェクト名が親MBeanオブジェクト名の一部を含むという規則に準拠しています。

DomainMBeanおよびDomainRuntimeMBeanという主要な2つのMBeanルートがあります。前者にはドメイン全体の構成MBeanが含まれ、後者には、通常は単一のサーバー・インスタンスに限定されるランタイム情報(統計など)とローカル・サービス(監視など)が含まれます。

ApplicationMBeanはDomainMBeanの子であり、ServerMBeanの子ではありません。アプリケーションはドメイン内で一意であり、複数のサーバーにまたがって実行できるためです。

図11-1は、オブジェクト・モデルを構成する主なクラスと関係を示しています。

図11-1 Event Processing MBeanオブジェクト・モデル

ほとんどのMBeanは通知を送信し、AttributeChangeNotificationsを生成します。JMXクライアントは、アプリケーション状態の変更、ドメインでのアプリケーションの挿入と削除、チャネル・サイズとスレッドの変更、ルールの挿入と削除などに関する属性変更通知を受け取るように登録できます。

11.4 JMXの構成

JMXおよびOracle Event Processing Mbeanを使用してOracle Event Processingアプリケーション、サーバー、ドメインを管理する前に、まずJMXサービスをOracle Event Processingサーバーで構成する必要があります。

11.4.1 JMX構成の例

次のconfig.xmlファイルからのスニペットは、JMX構成を示します。

<config>
<netio>
<name>JettyNetio</name>
<port>12345</port>
</netio>
<work-manager>
<name>WM</name>
<fairshare>5</fairshare>
<min-threads-constraint>1</min-threads-constraint>
<max-threads-constraint>4</max-threads-constraint>
</work-manager>
<jetty>
<name>TestJetty</name>
<work-manager-name>WM</work-manager-name>
<network-io-name>JettyNetio</network-io-name>
</jetty>
<rmi>
<name>RMI</name>
<http-service-name>TestJetty</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>
<jndi-service-name>JNDI</jndi-service-name>
<rmi-service-name>RMI</rmi-service-name>
</jmx>
</config>

11.4.2 JMX構成オブジェクト

Oracle Event Processingサーバーを示すconfig.xmlファイルにある次の要素を使用して、Oracle Event Processing JMXサービスを構成します。

- jmx

- rmi

- jndi-context

- exported-jndi-context

JMXに影響するセキュリティ構成タスクの詳細は、「JMXセキュリティの構成」を参照してください。

jmx

表11-3は、構成が必要とされるconfig.xmlファイルのjmx要素のリストを示しています。

表11-3 jmx要素の構成パラメータ

パラメータ

データ型

説明

rmi-service-name

String

jmxサーバーが呼出しの受信のために登録するRMIサービス名。

jndi-service-name

String

jmxサーバーがオブジェクトをバインドするJNDIサービス名。

rmi

Oracle Event Processing RMIサービスでは、次のものが提供されます。

- クライアントからのリモート・メソッド呼出しのためにサーバーのPOJOインタフェースを登録する機能。

- リモート・メソッド呼出し時にクライアントからサーバーへのコンテキスト伝播が行われるように登録し、インターセプトして、サーバー内のこの伝播されたコンテキストを操作する機能。

表11-4は、リモート・クライアントへのサーバー側オブジェクトのエクスポートに使用するconfig.xmlファイルのrmi要素の子要素のリストを示しています。

表11-4 rmi要素の構成パラメータ

パラメータ

データ型

説明

heartbeat-period

int

ハートビートの試行失敗回数。この回数を超えると、登録されているすべてのリスナーへの切断通知がトリガーされます。

http-service-name

String

リモート・オブジェクトの登録に使用するHTTPサービス名(Jettyなど、「Jetty」を参照してください)。

heartbeat-interval

int

ハートビートの間隔(ミリ秒単位)。

失敗したハートビートの試行回数がHeartbeatPeriodパラメータに指定した値に達すると、登録されているすべてのDisconnectListenerインスタンスが通知を受け取ります。

name

String

この構成オブジェクトの名前。

jndi-context

JNDIファクトリ・マネージャは、OSGi環境でJNDIをサポートする役割を果たします。これにより、JNDIプロバイダがOSGiバンドルとして提供され、OSGiバンドルの内部で実行されるコードからJNDI環境への完全なアクセスが可能になります。

ファクトリ・マネージャは、次の2つのコンポーネントで構成されています。

- OSGiバンドルはOSGi固有のファクトリ管理コードを提供し、適切なOSGiクラス・ローダーを使用してJNDIオブジェクトをルックアップします。

- JNDIのグルー・コードはOracle Event Processing内部で動作し、ファクトリ・マネージャ・バンドルをサポートできるようにJNDI環境を初期化します。

表11-5は、構成が必要とされるconfig.xmlファイル内のjndi-context要素の子要素のリストを示しています。

図11-5 jndi-context要素の構成パラメータ

パラメータ

データ型

説明

default-provider

boolean

trueの場合、デフォルトのOracle Event Processing JNDIプロバイダが使用されます。

デフォルト値はtrueです。

name

String

この構成オブジェクトの名前。

exported-jndi-context

構成済jndi-contextが必要です。

RMIを使用しているクライアントにリモートJNDIサービスをエクスポートするには、この構成オブジェクトを使用します。JNDIコンテキストをRMIサービスに登録することにより、InitialContextオブジェクトで、プロバイダURLのパラメータを渡すクライアントへのリモート・アクセスが提供されます。

表11-6は、構成が必要とされるconfig.xmlファイル内のexported-jndi-context要素の子要素のリストを示しています。

表11-6 exported-jndi-context要素の構成パラメータ

パラメータ

データ型

説明

rmi-service-name

String

ネットワークでこのJNDIコンテキストを処理するために使用されるRMIサービスの名前。既存の<rmi>構成オブジェクトと一致する必要があります。「rmi」を参照してください。

name

String

この構成オブジェクトの名前。

この要素の値は、同じconfig.xmlファイル内にある<jndi-context>の<name>子要素の値とは異なっている必要があります。

11.5 JMXによる管理

この項では、JMXを使用したOracle Event Processingコンポーネントの管理の例を説明します。

次に例を示します。

- APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続

- APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続

- JMX APIを使用したOracle Event Processingコンポーネントの構成

- JMX APIを使用したコンポーネントのスループットと待機時間の監視

- セキュリティが有効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続

- セキュリティが無効なJConsoleを使用したローカルまたはリモートJMXサーバーへの接続

注意:

Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

11.5.1 APIを使用した、非Oracle Event ProcessingクライアントからJMXサーバーへの接続

この項では、非Oracle Event ProcessingクライアントからOracle Event Processing JMXサーバーに接続する際のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。

Oracle Event Processing JMXサーバーに別のOracle Event Processingサーバーから接続する際の情報は、APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続を参照してください。

APIを使用した、非Oracle Event ProcessingクライアントからJMXサーバーへの接続:

1. 使用するドメインにJMXサービスを構成したことを確認します。

詳細は、「JMXの構成」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。

次のJMXのプログラミングのヒントを考慮します。

次に示すように、JMXプログラムでは、まずOracle Event Processingサーバーで実行中のJMXサーバーへの接続を確立します。

public static void initConnection(String hostname, int port, String username, char[] password)
throws IOException,MalformedURLException {

Map<String,Object> env = makeSecureEnv();
env.put("jmx.remote.protocol.provider.pkgs","com.bea.core.jmx.remote.provider");
env.put("mx4j.remote.resolver.pkgs","com.bea.core.jmx.remote.resolver");
env.put("java.naming.factory.initial","com.bea.core.jndi.context.ContextFactory");

JMXServiceURL serviceUrl = new JMXServiceURL(
"MSARMI","localhost",9002,"/jndi/jmxconnector"
);

System.out.println("Service: " + serviceURL.toString());

JMXConnector connector = JMXConnectorFactory.connect(serviceUrl,env);

MBeanServerConnection connection = connector.getMBeanServerConnection();
}

// The JMXConnectorFactory.connect() method's second parameter is a Map object that sets up a
// secure environment using the makeSecureEnv() method, which looks like the following:

private static Map<String,Object> makeSecureEnv() {
Map<String,Object> env = new HashMap<String,Object>();
String username = "wlevs" ;
char[] password = { 'w','l','e','v','s' };
env.put(JMXConnector.CREDENTIALS, new Serializable[]{username,password});
env.put("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
System.setProperty("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
return env;
}

11.5.2 APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続

この項では、Oracle Event Processing JMXサーバーに、別のOracle Event Processingサーバーから接続する際のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。これはあらゆるプログラマチックJMX管理への最初のステップです。

Oracle Event Processing JMXサーバーに非Oracle Event Processingクライアントから接続する際の情報は、APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続を参照してください。

APIを使用した、Oracle Event ProcessingクライアントからJMXサーバーへの接続:

1. 使用するドメインにJMXサービスを構成したことを確認します。

詳細は、「JMXの構成」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。

次のJMXのプログラミングのヒントを考慮します。

次に示すように、JMXプログラムでは、まずOracle Event Processingサーバーで実行中のJMXサーバーへの接続を確立します。

public static void initConnection(String hostname, int port, String username, char[] password)
throws IOException,MalformedURLException {

Map<String,Object> env = makeSecureEnv();

// This is an OSGi necessity
env.put(
JMXConnectorFactory.DEFAULT_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class.getClassLoader()
);
env.put(
JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER,
com.bea.core.jmx.remote.provider.msarmi.ServerProvider.class.getClassLoader()
);

JMXServiceURL serviceUrl = new JMXServiceURL(
"MSARMI","localhost",9002,"/jndi/jmxconnector"
);

System.out.println("Service: " + serviceURL.toString());

env.put(
JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"com.bea.core.jmx.remote.provider"
);

System.setProperty("mx4j.remote.resolver.pkgs", "com.bea.core.jmx.remote.resolver");

JMXConnector connector = JMXConnectorFactory.connect(url, env);
connector.connect();

MBeanServerConnection connection = connector.getMBeanServerConnection();
...
}

// The JMXConnectorFactory.connect() method's second parameter is a Map object that sets up a
// secure environment using the makeSecureEnv() method, which looks like the following:

private static Map<String,Object> makeSecureEnv() {
Map<String,Object> env = new HashMap<String,Object>();
String username = "wlevs" ;
char[] password = { 'w','l','e','v','s' };
env.put(JMXConnector.CREDENTIALS, new Serializable[]{username,password});
env.put("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
System.setProperty("jmx.remote.authenticator", "com.bea.core.jmx.server.CEAuthenticator");
return env;
}

11.5.3 JMX APIを使用したOracle Event Processingコンポーネントの構成

この項では、Oracle Event Processing MBeanにアクセスする際の、JMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。

JMX APIを使用したOracle Event Processingコンポーネントの構成:

1. Oracle Event Processing JMXサーバーへの接続を取得します。

詳細は、「APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続」を参照してください。

2. http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement Javaコードを記入し、適切なMBeanでコンポーネントを構成します。

次のJMXのプログラミングのヒントを考慮します。

次の例は、接続を使用して、MBeanを問い合せることで、ドメインおよびデプロイされたアプリケーションの情報取得を開始する方法を示します。

最初に、タイプがDomainであるすべてのMBeanを取得する方法が示されています。そのようなMBeanは1つのみです。次に、DomainMBeanを使用して、ドメインにデプロイされているすべてのアプリケーションのリストを取得する方法が示されています(ApplicationMBeanを使用)。

Set domainObjectNames = connection.queryMBeans(
ObjectName.getInstance(
ManagementConstants.DOMAIN_NAME + ":" +
ManagementConstants.TYPE_PROPERTY + "=" +
DomainMBean.MBEAN_TYPE + ",*"
),
null
);
ObjectName domainName =  ((ObjectInstance) domainObjectNames.iterator().next()).getObjectName();
System.out.println("Domain Name: " + domainName.getKeyProperty(ManagementConstants.NAME_PROPERTY));
ObjectName [] applicationNames =
(ObjectName[]) connection.getAttribute(domainName, "ApplicationMBeans");
ObjectName selectedApplicationObjectName = null ;
for (ObjectName applicationName : applicationNames) {
String name =
applicationName.getKeyProperty(ManagementConstants.NAME_PROPERTY);
String status =
(String) connection.getAttribute(applicationName, "State");
System.out.println("Application: " + name + " Status: " + status);
selectedApplicationObjectName = applicationName ;

11.5.4 JMX APIを使用したコンポーネントのスループットと待機時間の監視

この項では、Oracle Event Processing MBeanにアクセスしてOracle Event Processingコンポーネントのスループットと待機時間を動的に監視する場合のJMX API (http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement)を使用したJavaコードの記述方法を説明します。

JMX APIを使用したOracle Event Processingコンポーネントの動的な構成:

1. Oracle Event Processing JMXサーバーへの接続を取得します。
詳細は、「APIを使用した、Oracle以外のEvent ProcessingクライアントからJMXサーバーへの接続」を参照してください。

2. 次に示すように監視するコンポーネントにはMonitorRuntimeMBeanのインスタンスを取得します。

ObjectName processorInbound = ObjectName.getInstance(
"com.bea.wlevs:Name=myprocessor," +
"Type=CQLProcessor," +
"Application=myapplication," +
"Direction=INBOUND"
);

着信イベント(INBOUND)または発信イベント(OUTBOUND)のどちらを監視するのかを必ず指定します。

3. 次に示すように統計のタイプに応じてMonitorRuntimeMBeanを使用して、ProbeRuntimeMBeanのインスタンスを取得します。

ObjectName monitorName =
ObjectName.getInstance(
"com.bea.wlevs:ServerRuntime=localhost," +
"Name=MonitorRuntime," +
"Type=MonitorRuntime");

MonitorRuntimeMBean monitorMBean = (MonitorRuntimeMBean)MBeanServerInvocationHandler.newProxyInstance(
connection,
monitorName,
MonitorRuntimeMBean.class,
false);

ObjectName probeName = monitorMBean.monitorAvgThroughput(
processorInbound,
1000,
1000
);

ProbeRuntimeMBean probeOn = (ProveRuntimeMBean)MBeanServerInvocationHandler.newProxyInstance(
connection,
probeName,
ProbeRuntimeMBean.class,
false
);

MonitorRuntimeMBeanには、収集可能な統計のタイプごとに使用できるメソッドがあります。たとえば、平均待機時間を監視する場合はmonitorAvgLatency()を実行し、平均待機時間を監視する場合はmonitorAvgThroughput()を実行します。これらのメソッドはすべてProbeRuntimeMBeanを返します。

4. ProbeRuntimeMbeanのインスタンスを使用して、実際の実行時メトリックを取得するには次のいずれかの方法があります。

a. ProbeRuntimeMBeanのgetMetric()メソッドを使用して情報を取得します。

b. javax.management.NotificationBroadcaster.addNotificationListener()を使用して、メトリックに変更があるたびに送信される情報を取得します。

5. 監視情報の収集が完了したら、次に示すようにMBeanサーバーからMBeanを登録解除します。

probON.terminate();

これらのMBeanインタフェースの詳細、およびこれらのMBeanインタフェースを使用してスループットと待機時間を監視する方法については、Oracle Event ProcessingのJava APIリファレンスのcom.bea.wlevs.monitor.managementパッケージを参照してください。

11.5.5 セキュリティが有効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続

wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続し、JDK jconsoleでOracle Event Processing MBeanのブラウズと管理ができます。

この方法は、Oracle Event Processingサーバーのセキュリティが有効の場合、Jconsoleをどのように使用するかを説明します。これはデフォルトの構成であり、本番サーバーで使用することはお薦めします。かわりに、セキュリティが無効なJMXサーバーに接続できます(「セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続」を参照してください)。

詳細は、「Oracle Event Processing JMXサーバーへのアクセス」を参照してください。

注意:

Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

セキュリティが有効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続:

1. ローカルまたはリモートOracle Event Processingサーバーが実行されていることを確認します。

2. /Oracle/Middleware/my_oep/oep/binディレクトリにあるwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用して、jconsoleを起動します。

a. ローカルOracle Event Processingサーバーに接続するには、次を入力します。

prompt> wlevsjconsole.cmd

b. リモートOracle Event Processingサーバーに接続するには、次を入力します。

prompt> wlevsjconsole.cmd HOST-NAME:PORT

HOST-NAMEはリモート・ホストの名前、PORTはNet IOポートで、リモート・ホストの/Oracle/Middleware/my_oep/user_projects/domains/myDomain/defaultserver/config/config.xmlファイル中に構成されています。

jconsoleブラウザはJMXサーバーへログインをしようとしますが、図11-2で示すように最初に失敗します。

図11-2 Jconsole初回ログイン試行

3. 「取消」をクリックします。
図11-3で示すように、Jconsole:「新しい接続」ダイアログが表示されます。

図11-3 Jconsoleの新しい接続ダイアログ

4. 表11-7で説明するように「新しい接続」ダイアログを構成します。

表11-7 Jconsole新しい接続属性

属性

説明

リモート・プロセス

次のURLを入力します。

service:jmx:msarmi://HOST-NAME:PORT/jndi/jmxconnector

HOST-NAMEはローカルまたはリモート・ホストの名前、PORTはNet IOポートで、リモート・ホストの/Oracle/Middleware/my_oep/user_projects/domains/myDomain/defaultserver/config/config.xmlファイル中に構成されています(デフォルト: 9002)。

ユーザー名

Oracle Event Processing管理ユーザー名: oepadminを入力します。

パスワード

Oracle Event Processing管理パスワード: welcome1を入力します。

5. 「接続」をクリックします。
jconsoleブラウザが開くと、**INTERNAL XREF ERROR**で示すようにOracle Event Processing MBeanにアクセスできます。

図11-4 Jconsoleブラウザ

11.5.6 セキュリティが無効なJConsoleを使用したローカルまたはリモートJMXサーバーへの接続

wlevsjconsoleスクリプトを使用して、ローカル・ホストまたはリモート・ホストで実行されているOracle Event Processing JMXサーバーに接続し、JDK jconsoleでOracle Event Processing MBeanのブラウズと管理ができます。

この方法は、Oracle Event Processingサーバーのセキュリティが無効の場合、Jconsoleをどのように使用するかを説明します。これは共通の開発構成でり、本番サーバーで使用することはお薦めしません。かわりに、セキュリティが有効なJMXサーバーに接続できます(「セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続」を参照してください)。

詳細は、「Oracle Event Processing JMXサーバーへのアクセス」を参照してください。

注意:

Jconsoleを使用する際、Oracle Event Processing wlevsjconsole.cmdまたはwlevsjconsole.shスクリプトで開始します。jconsoleを直接開始できません。

セキュリティが無効なJconsoleを使用したローカルまたはリモートJMXサーバーへの接続:

1. セキュリティが無効の状態でローカルまたはリモートOracle Event Processingサーバーが実行されていることを確認します。
詳細は、「セキュリティの無効化」を参照してください。

2. /Oracle/Middleware/my_oep/oep/binディレクトリにあるwlevsjconsole.cmdまたはwlevsjconsole.shスクリプトを使用して、jconsoleを起動します。

a. ローカルOracle Event Processingサーバーに接続するには、次を入力します。

prompt> wlevsjconsole.cmd

b. リモートOracle Event Processingサーバーに接続するには、次を入力します。

prompt> wlevsjconsole.cmd HOST-NAME:PORT

HOST-NAMEはリモート・ホストの名前、PORTはNet IOポートで、リモート・ホストの/Oracle/Middleware/my_oep/user_projects/domains/myDomain/defaultserver/config/ config.xmlファイル中に構成されています。

スクリプトが自動的にJMXサーバーに接続し、jconsoleブラウザが開くと、図11-5で示すようにOracle Event Processing Mbeanにアクセスできます。

図11-5 Jconsoleブラウザ

12 JDBC

Oracle Event Processingアプリケーションからのリレーショナル・データベース・アクセスのためにJava Database Connectivity (JDBC)を構成できます。

Oracle Event ProcessingではJDBC 4.0がサポートされています。JDBCをダウンロードするには、http://java.sun.com/products/jdbc/download.htmlに移動します。

この章の内容は次のとおりです。

- データベース・アクセス

- Oracle Event Processingデータ・ソース

- Oracle JDBCドライバを使用したデータベースへのアクセスの構成

- Microsoft SQL Server JDBCドライバを使用したデータベース・アクセスの構成

- 異なるデータベース・ドライバまたはドライバ・バージョンへのアクセスの構成

12.1 データベース・アクセス

JDBC APIでは、アプリケーションがJDBC APIをサポートするデータベース・サーバーや他のタイプの表形式リソースに接続し相互作用するための、ベンダーに依存しない標準的な方法が提供されます。

データベース・ドライバは、JDBC javax.sql.DataSourceインタフェースを実装して、データベース接続ファクトリを定義できます。アプリケーションはDataSourceオブジェクトを使用して、データベース接続(java.sql.Connection)を取得します。アプリケーションはSQLコマンドを送信し、結果を受信することで、接続を取得し、データ・リソースと相互作用します。

Oracle Event Processingでは、JDBCドライバDataSourceオブジェクトをカプセル化し、あらかじめ決められた接続のプールを管理するDataSource分離が提供されます。また、Oracle WebLogic Server WLConnectionインタフェースでは、Oracleデータ・ソースへのアクセスおよび操作を可能にする方法も提供されます。詳細は、「Oracle Event Processingデータ・ソース」を参照してください。

Oracle Event Processingでは、Oracle 12c Thinドライバが提供されます。オプションで、独自のJDBCドライバを使用できます。「bootclasspathでのデータベース・ドライバへのアクセス」を参照してください。

12.1.1 Oracle JDBCドライバ

Oracle Event Processingには、Java SE 7で使用するためのOracle 12c Thinドライバが含まれています。JDBC Thinドライバは、pure JavaのType IVドライバで、アプリケーションおよびアプレットで使用できます。プラットフォームに依存せず、クライアント側に追加のOracleソフトウェアは必要ありません。JDBC Thinドライバは、Oracle DatabaseにアクセスするためにSQL*Netを使用してサーバーと通信します。

Oracle 12c Thinドライバは次のJARファイルにあります。

/Oracle/Middleware/wlserver/modules/com.bea.oracle.ojdbc6_1.0.0.0_11-2-0-3-0.jar

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

- サポートされるデータベース

- Oracle JDBCドライバを使用したデータベースへのアクセスの構成

- http://www.oracle.com/technetwork/database/application-development/index-099369.html

12.1.2 サポートされるデータベース

Oracle Event Processingサーバーでは、使用するJDBCドライバのタイプによって、異なるデータベースがサポートされます。

Oracle JDBCドライバ

Oracle JDBCドライバを使用すると、Oracle Database 12cリリースにアクセスできます。「Oracle JDBCドライバ」を参照してください。

DataDirectのSQL Server Type 4 JDBCドライバ

MicrosoftのSQL Server Type 4 JDBCドライバを使用すると、次のSQL Serverデータベースにアクセスできます。

- Microsoft SQL Server 2012

- Microsoft SQL Server 2005

- Microsoft SQL Server 2000

- Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)

- Microsoft SQL Server 2000 Enterprise Edition (64ビット)

- Microsoft SQL Server 7.0。

12.2 Oracle Event Processingデータ・ソース

Oracle Event Processing DataSourceは、JDBC 4.0仕様をサポートするJDBCデータ・ソース接続プールの実装を提供します。

アプリケーションでは、標準APIのDataSource.getConnectionとConnection.closeを使用して、データ・ソースにあるConnectionオブジェクトの予約と解放を行います。

図12-1は、データソース、接続プールおよびConnectionインスタンス間の関係を示します。

図12-1 Oracle Event Processingデータ・ソース

次のいずれかの方法でリレーショナル・データベースにアクセスする場合は、Oracle Event Processingサーバーのデフォルトのデータ・ソースを使用するか、サーバーのconfig.xmlファイルで独自のOracle Event Processing DataSourceを構成する必要があります。Oracle Event Processingスキーマ・リファレンスを参照してください。

- Oracle CQLプロセッサのルールの場合

- イベントの記録と再生

- キャッシュ・ローダーまたはストアの場合

DriverManagerなどのJDBCドライバのAPIをアプリケーション・コードで直接使用する場合、サーバーのconfig.xmlファイルにDataSourceを構成する必要はありません。

12.2.1 デフォルトのデータソースの構成

デフォルトでは、Oracle Event Processingサーバーがローカルのトランザクション・マネージャを作成します。「JMX構成オブジェクト」の説明のように、トランザクション・マネージャは構成されたRMIオブジェクトに依存します。Oracle Event Processingサーバーはシステムに複数のトランザクション・マネージャ・インスタンスが存在しないことを保証します。

Oracle Event Processingサーバーを起動したときにデータベースが使用できない場合、デフォルトでは、Oracle Event Processingサーバー・データ・ソースは接続が作成されるまで10秒ごとに再試行します。再試行により、データベースが使用できないときのOracle Event Processingサーバーの起動が可能になります。connection-pool-params要素のconnection-creation-retry-frequency-seconds子要素の値を指定することで、再試行間隔を変更できます。値ゼロは、接続の再試行を無効にします。

12.2.2 カスタムのデータソースの構成

Oracle Event Processingサーバーのconfig.xmlファイルでは、実行時に作成されるデータ・ソースごとに、外部JDBCモジュール記述子を参照する構成要素が必要です。

構成ウィザードでOracle Event Processingドメインを作成する場合は、必要に応じて、サポートされる2つのDataDirectのJDBCドライバのいずれかを使用するJDBCデータ・ソースを構成できます。この場合、ウィザードによってconfig.xmlファイルが更新されます。データ・ソースを構成するときは、接続先データベース、接続ユーザー名とパスワードなどの基本情報を指定します。

次の例に示すとおり、data-source要素を追加してconfig.xmlファイルを手動で更新することもできます。

<data-source>
<name>rdbms</name>
<data-source-params>
<global-transactions-protocol>None</global-transactions-protocol>
</data-source-params>
<connection-pool-params>
<test-table-name>SQL SELECT 1 FROM DUAL</test-table-name>
<initial-capacity>5</initial-capacity>
<max-capacity>10</max-capacity>
<connection-creation-retry-frequency-seconds>
60
</connection-creation-retry-frequency-seconds>
</connection-pool-params>
<driver-params>
<url>jdbc:oracle:thin:@localhost:5521:rdb</url>
<driver-name>oracle.jdbc.OracleDriver</driver-name>
<properties>
<element><name>user</name><value>scott</value></element>
<element><name>password</name><value>tiger</value></element>
</properties>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</driver-params>
</data-source>
<transaction-manager>
<name>TM</name>
<rmi-service-name>RMI</rmi-service-name>
</transaction-manager>

データ・ソースは、ローカル・トランザクション・マネージャの可用性に依存します。デフォルトのOracle Event Processingサーバー・トランザクション・マネージャに依存するか、例に示すとおり、config.xmlのtransaction-manager要素を使用して構成できます。「JMX構成オブジェクト」の説明のように、トランザクション・マネージャは構成されたRMIオブジェクトに依存します。

Oracle Event Processingサーバーを起動したときにデータベースが使用できない場合、デフォルトでは、Oracle Event Processingサーバー・データ・ソースは接続が作成されるまで10秒ごとに再試行します。再試行により、データベースが使用できないときのOracle Event Processingサーバーの起動が可能になります。例では、connection-pool-params要素のconnection-creation-retry-frequency-seconds子要素の値を指定して、config.xmlファイルで再試行間隔が変更されています。例の値は60秒です。

12.2.3 ネイティブJDBC接続の取得

Oracle WebLogic ServerのAPIリファレンスは、Oracleデータ・ソースの取得および操作方法を含むWLConnectionインタフェースを提供します。たとえば、次のJavaコードは、プールされた接続オブジェクトからネイティブOracleデータベース接続を取得します。

private DataSource ods;
private Connection wlConnection;
private OracleConnection connection;

wlConnection = ods.getConnection();
connection = (OracleConnection) ((WLConnection) wlConnection)
.getVendorConnection();

注意:

作業が完了したらプールされた接続を閉じ、プールされた接続を閉じた後はネイティブ接続オブジェクトを使用しないでください。

12.3 Oracle JDBCドライバを使用したデータベースへのアクセスの構成

この項では、Oracle JDBCドライバを使用したデータベースへのアクセスを構成する手順を説明します。

Oracle JDBCドライバはOracle Event Processingにインストール済で使用可能です。

Oracle JDBCドライバを使用したデータベースへのアクセスの構成:

1. サーバーのconfig.xmlファイルでデータ・ソースを構成します。

a. Oracle Event Processingサーバーのconfig.xmlファイルを構成ウィザードを使用して更新する場合、スタンドアロンサーバー・ドメインの作成を参照してください。

b. Oracle Event Processingサーバーのconfig.xmlファイルを手動で更新する場合、カスタムのデータ・ソースの構成を参照してください。
Oracle JDBCドライバのurl要素の形式は次のとおりです。「カスタムのデータソースの構成」も参照してください。

<url>jdbc:oracle:thin:@HOST:PORT:SID</url>

2. Oracle Event Processingが実行中の場合は、新しいデータ・ソース情報を読み込むために再起動します。
詳細は、「サーバーの起動と停止」を参照してください。

12.4 Microsoft SQL Server JDBCドライバを使用したデータベース・アクセスの構成

Microsoft SQL server JDBCドライバでデータ・ソースにアクセスするには、wlsqlserv.jarおよびfmwgenerictoken.jarファイルを-Xbootclasspathに追加します。

-Xbootclasspath/a:/Oracle/Middleware/my_oep/oracle_common/modules/datadirect/wlsqlserver.jar:/Oracle/Middleware/my_oep/oracle_common/modules/datadirect/fmwgenerictoken.jar

-Xbootclasspath/a:/Oracle/Middleware/oracle_common/modules/datadirect/wlsqlserver.jar:/Oracle/Middleware/oracle_common/modules/datadirect/fmwgenerictoken.jar

次のSQLサーバー・データ・ソース構成をconfig.xmlファイルに追加します。

<data-source>
<name>ds-sqlserver-datadirect-driver</name>
<data-source-params>
<jndi-names />
<global-transactions-protocol>OnePhaseCommit
</global-transactions-protocol>
</data-source-params>
<connection-pool-params>
<credential-mapping-enabled></credential-mapping-enabled>
<test-table-name>SQL SELECT 1</test-table-name>
<initial-capacity>5</initial-capacity>
<max-capacity>20</max-capacity>
<capacity-increment>1</capacity-increment>
</connection-pool-params>
<driver-params>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
<driver-name>weblogic.jdbc.sqlserver.SQLServerDriver</driver-name>
<url>
jdbc:weblogic:sqlserver://hostname:port;databaseName=fmwcerts;SelectMethod=cursor
</url>
<properties>
<element>
<value>sa</value>
<name>user</name>
</element>
<element>
<value>{AES}XcrEKM8RegvOT3jZ4d46WQ==</value>
<name>password</name>
</element>
</properties>
</driver-params>
</data-source>

12.5 異なるデータベース・ドライバまたはドライバ・バージョンへのアクセスの構成

場合によっては、Oracle Event Processingにバンドルされているバージョン以外のOracle DatabaseドライバまたはDataDirectドライバのバージョン、またはOracle DatabaseドライバまたはDataDirectドライバ以外のデータベース・ドライバを使用する必要があることがあります。

12.5.1 bundler.shを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス

この手順は、bundlerユーティリティを使用してドライバに対するOSGiバンドルを作成してOracle Event Processingサーバー上にデプロイする方法です。

1. bundler.shスクリプトを実行して、ドライバを含むOSGiバンドルを作成します。

bundler.shスクリプトは、/Oracle/Middleware/my_oep/oep/binディレクトリにあります。次の例はbundler.shコマンドライン・オプションのリストを示しており、表12-1でそれらを説明しています。

注意:

bundler.sh (bundler.cmdではない)に対するWindowsサポートはありません。

bundler.sh
-source <jar>
-name <name>
-version <version>
[-factory <class>+]
[-service <interface>+]
[-stagedir <path>]
[-targetdir <path>]

表12-1 bundler.shコマンド・ライン・オプション

引数

説明

-source

バンドルするソースJARファイルのパス。

-name

バンドルのシンボリック名。ターゲットJARファイル名のルートは名前の値から導出されています。

-version

バンドル・バージョン番号。すべてのエクスポートされたパッケージは、この値のバージョン属性で修飾されます。ターゲットJARファイル名には、バージョン番号が含まれています。

-factory

OSGiサービスとしてインスタンス化および登録される1つ以上のファクトリ・クラスのスペース区切りリストを指定するオプションの引数。各サービスは、OSGiサービス・レジストリに名前(-name)とバージョン(-version)プロパティとともに登録されます。

-service

各ファクトリ・オブジェクト・サービス登録のオブジェクト・クラスとして使用する1つ以上のJavaインタフェースのスペース区切りリストを指定するオプションの引数。インタフェース名を指定していない場合、または指定したインタフェース数がファクトリ・クラス数と一致していない場合、各ファクトリ・オブジェクトはファクトリ・クラス名で登録されます。

-stagedir

ターゲットJARファイル作成時の一時ファイルの書込み先を指定するオプションの引数。

デフォルト: ./bundler.tmp

-targetdir

生成されたバンドルJARファイルの場所を指定するオプションの引数。

デフォルト: 現在の作業ディレクトリ(.)

次の例は、bundler.shを使用してOracle JDBCドライバのOSGiバンドルを作成する方法を示します。

bundler.sh \
-source /scratch/drivers/com.bea.oracle.ojdbc6_1.0.0.0_11-2-0-3-0.jar \
-name oracle12c \
-version 12.1.3 \
-factory oracle.jdbc.xa.client.OracleXADataSource oracle.jdbc.OracleDriver \
-service javax.sql.XADataSource java.sql.Driver \
-targetdir /scratch/stage

ソースJARは、C:\driversディレクトリにあるOracleドライバです。生成されたバンドルJARの名前は、-nameと-version引数の連結で、C:\stageディレクトリに作成されます。バンドルJARには、次の例に示すファイルが含まれます。

1465 Thu Jun 29 17:54:04 EDT 2006 META-INF/MANIFEST.MF
1540457 Thu May 11 00:37:46 EDT 2006 ccom.bea.oracle.ojdbc6_1.0.0.0_
11-2-0-3-0.jar
1700 Thu Jun 29 17:54:04 EDT 2006 com/bea/core/tools/bundler/Activator.class

コマンドライン・オプションは、バンドルがアクティブ化されたときにOSGiサービスとしてインスタンス化および登録する2つのファクトリ・クラスがあることを指定し、次の表に示すとおり、それぞれが別々のオブジェクト・クラスの下にあります。

表12-2 ファクトリ・クラスおよびサービス・インタフェース

ファクトリ・クラス

サービス・インタフェース

oracle.jdbc.xa.client.OracleXADataSource

javax.sql.XADataSource

oracle.jdbc.OracleDriver

java.sql.Driver

各サービス登録は、nameプロパティをoracle12cに、versionプロパティを値12cに設定して行われます。次の例は、サービスの登録を示すOracle Event Processingサーバー・ログ・メッセージを示します。

...
INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=12c, name=oracle12c, objectClass=[ javax.sql.XADataSource ], service.id=23 }
INFO: [Jun 29, 2006 5:54:18 PM] Service REGISTERED: { version=12c, name=oracle12c, objectClass=[ java.sql.Driver ], service.id=24 }
INFO: [Jun 29, 2006 5:54:18 PM] Bundle oracle12c STARTED
...

2. Oracle Event Processingサーバー・ライブラリ拡張ディレクトリに、バンドルJARをコピーします。

Oracle Event Processingアプリケーションはドライバを含むアプリケーション・ライブラリであるため、それをOracle Event Processingサーバー・ライブラリ拡張ディレクトリにコピーします。デフォルトでは、ライブラリ拡張ディレクトリは、/Oracle/Middleware/user_projects/domains/<domainname>/ <servername>/modules/ext/にあります。

3. Oracle Event Processingサーバーのconfig.xmlファイルで、次の例が示すとおり、使用するドライバ・バージョンに対するカスタムdata-source要素を作成し、driver-params子要素を追加します。

詳細は、「サーバー構成ファイル」を参照してください。

<driver-params>
<url>jdbc:oracle:thin:@lcw2k18:1531:lcw101</url>
<driver-name>oracle.jdbc.xa.client.OracleXADataSource</driver-name
<properties>
<element>
<name>user</name>
<value>scott</value>
</element>
<element>
<name>password</name>
<value>{3DES}EoIfSBMhnW8=</value>
</element>
<element>
<name>com.bea.core.datasource.serviceName</name>
<value>oracle12c</value>
</element>
<element>
<name>com.bea.core.datasource.serviceVersion</name>
<value>12.1.3</value>
</element>
<element>
<name>com.bea.core.datasource.serviceObjectClass</name>
<value>javax.sql.XADataSource</value>
</element>
</properties>
<use-xa-data-source-interface>true</use-xa-data-source-interface>
</driver-params>

表12-1では、関連プロパティを説明します。

表12-3 driver-paramsプロパティ

プロパティ

説明

com.bea.core.datasource.serviceName

serviceName登録プロパティの値を指定します。

ActivatorクラスのNAMEプロパティに一致する必要があります。

com.bea.core.datasource.serviceVersion

serviceVersion登録プロパティの値を指定します。

ActivatorクラスのVERSIONプロパティに一致する必要があります。

com.bea.core.datasource.serviceObjectClass

OSGIサービス登録のインタフェース名を指定します。

4. Oracle Event Processingサーバーを停止し、起動します。

詳細は、「サーバーの起動と停止」を参照してください。

12.5.2 bootclasspathでのデータベース・ドライバへのアクセス

必要に応じて、独自のJDBCドライバにアクセスするためにbootclasspathを使用できます。

かわりに、「bundler.shを使用して構築されるアプリケーション・ライブラリを使用したデータベース・ドライバへのアクセス」で説明されているように、アプリケーション・ライブラリを使用することをお薦めします。

1. 構成するドメインのサーバー・ディレクトリに移動します。
デフォルトでは、サーバー・ディレクトリは/Oracle/Middleware/my_oep/user_projects/domains/<domainname/<servername>/にあります。

2. テキスト・エディタで、使用しているプラットフォーム向けの起動スクリプトを開きます。

3. wlevs.jarファイルを実行するJavaコマンドに-Xbootclasspath/aオプションを追加し、使用するJDBCドライバのフル・パス名を-Xbootclasspath/aオプションに設定します。
たとえば、Windows Oracle Thinドライバを使用するには、すべてを1行にして次のように起動スクリプトでjavaコマンドを更新します。

%JAVA_HOME%\bin\java -Dwlevs.home=%USER_INSTALL_DIR% -Dbea.home=%BEA_HOME%
-Xbootclasspath/a:\Oracle\Middleware\my_oep\oep\bin\com.bea.oracle.ojdbc14_10.2.0.jar
-jar "%USER_INSTALL_DIR%\bin\wlevs_3.0.jar" -disablesecurity %1 %2 %3 %4 %5 %6

4. サーバーのconfig.xmlファイルでデータ・ソースを構成します。

a. Oracle Event Processingサーバーのconfig.xmlファイルを構成ウィザードを使用して更新する場合、スタンドアロンサーバー・ドメインの作成を参照してください。

b. Oracle Event Processingサーバーのconfig.xmlファイルを手動で更新する場合、カスタムのデータ・ソースの構成を参照してください。

5. Oracle Event Processingが実行中の場合は、新規のjavaオプションとデータ・ソース情報を読み込むために再起動します。
詳細は、「サーバーの起動と停止」を参照してください。

13 HTTPパブリッシュ/サブスクライブ・サーバー

HTTPパブリッシュ/サブスクライブ(HTTP pub-sub)サーバーは、Webクライアントがチャネルにサブスクライブし、HTTPを介して非同期メッセージでチャネルにメッセージをパブリッシュできるようにします。HTTP pub-subサーバーを構成して、チャネルへのサブスクライブ、特定タイプのトランスポートの使用、タイムアウトの設定、特定のワーク・マネージャに対するクライアントへのメッセージ配信の指示などを行うことができます。

この章の内容は次のとおりです。

- デフォルトのHTTP Pub-Subサーバー

- HTTPパブリッシュ/サブスクライブ・アダプタ

- サーバー・アーキテクチャ

- 新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成

- 既存のHTTPパブリッシュ/サブスクライブ・サーバーの構成

13.1 デフォルトのHTTP Pub-Subサーバー

すべてのOracle Event Processingサーバーには、デフォルトのHTTP pub-subサーバーがあります。Oracle Event Processing Visualizer、記録および再生のアプリケーション例では、デフォルトのHTTP pub-subサーバーを内部で使用しています。インストールでデフォルトのHTTP pub-subサーバーを使用するか、またはソフトウェア開発者がカスタムHTTP pub-subサーバーを作成することができます。

Oracle Event Processingでは、HTTP pub-subサーバー・インスタンスは、サーバー・インスタンスのconfig.xmlファイルで構成されます。システム管理者はconfig.xmlを使用して、HTTP pub-subサーバーの名前を構成し、トランスポートおよびその他のパラメータを指定します。管理者は次に、Oracle Event Processing Visualizerを使用して新しいチャネルを追加し、チャネルのセキュリティを構成します。

config.xmlファイルの<http-pubsub>要素には、HTTP pub-subサーバー構成が含まれます。デフォルトでは、HTTP pub-subサーバーの構成は次のとおりです。

<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>

- <path>/pubsub</path>: HTTP pub-subサーバーへのURLです。ブラウザで、http://host:port/pubsubと入力することにより、HTTP pub-subサーバーを見つけることができます(ここでhostはOracle Event Processingを実行しているコンピュータ、portはOracle Event Processingがリスニングするポート番号をそれぞれ指します)。たとえば、http://myhost.com:9102/pubsub。

- <supported-transport>: トランスポート・モード。デフォルトはlong-pollingトランスポートです。

- <publish-without-connect-allowed>true</publish-without-connect-allowed>: HTTP pub-subサーバーに明示的に接続せずに、クライアントでチャネルへのメッセージをパブリッシュできます。

- Oracle Event Processing Visualizerによって内部的に使用される次の3つのチャネルが含まれます。これらのチャネルは削除しないでください。

- /evsmonitor

- /evsalert

- /evsdomainchange

13.2 HTTPパブリッシュ/サブスクライブ・アダプタ

Oracle Event Processingには、アプリケーションにHTTP pub-subサーバーの機能を提供する2つの組込みアダプタが用意されています。ソフトウェア開発者はこれらのアダプタをアプリケーションに追加して、メッセージをパブリッシュしたり、メッセージ受信のためにサーバーにサブスクライブします。

アプリケーションで、ソフトウェア開発者は、HTTP pub-subアダプタを次のように使用します。

- HTTPパブリッシャ・アダプタを使用して、JavaScript Object Notation (JSON)イベント・データをEPNからWebベースのユーザー・インタフェースに送信します。

- HTTPサブスクライバ・アダプタを使用して、EPNに入るJavaScript Object Notation (JSON)イベント・データを受け入れます。JSONイベント・データは、ユーザー・アクションによってイベントを生成するHTTPサーバーから送信されます。

クライアントから受信したメッセージの監視、収集、解釈などの追加手順をHTTP pub-subサーバーで実行する必要がある場合、ソフトウェア開発者はサーバー側のHTTP pub-subサーバーAPIを使用して、こうした機能をプログラミングする必要があります。次のパッケージを参照してください。

- com.bea.wlevs.adapters.httppubsub.api

- com.bea.wlevs.adapters.httppubsub.support

13.3 サーバー・アーキテクチャ

HTTPパブリッシュ/サブスクライブ・サーバーは、クライアントによるチャネル(JMSでのトピックに相当)のサブスクライブとメッセージ(利用可能な場合)の受信を可能にします。それに対して、従来のWebアプリケーションではすべての通信がクライアントによって開始される必要があります。

サーバーは、明示的なリクエストを受信した場合、更新されたデータをクライアントにプッシュすることのみ可能です。ただし、動的リアルタイム・アプリケーションでは、クライアントが明示的にリクエストしたかどうかにかかわらず、サーバーによるデータの送信が必要です。

HTTP pub-subサーバーはcometdプロジェクトで提案されているBayeuxプロトコルに基づいています。Bayeuxプロトコルには、クライアントとサーバーがHTTPを介して非同期メッセージで通信するための規約が定義されています。これによって、クライアントは、イベントのソースまたは指定されている宛先であるチャネルに登録およびサブスクライブできます。次に、登録されたクライアントまたはHTTP pub-subサーバー自体がこれらのチャネルへメッセージをパブリッシュし、サブスクライブしているすべてのクライアントがそのメッセージを受信します。

HTTP pub-subサーバーはBayeuxプロトコルを理解するすべてのクライアントと通信できます。HTTP pub-subサーバーの役割には、クライアントの識別、信頼のネゴシエーション、Bayeuxメッセージの交換、そして、サブスクライブしたクライアントへのイベント・メッセージのプッシュがあります。Web 2.0 Ajaxクライアント(Dojoなど)またはリッチ・インターネット・アプリケーション(Adobe Flexなど)がHTTP pub-subサーバーと通信できるには、Bayeuxプロトコルをサポートするライブラリがクライアント側で必要となります。Dojo JavaScriptライブラリでは4つの異なるトランスポート手段が提供されており、そのうちの2つはHTTP pub-subサーバーでサポートされているlong-pollingおよびcallback-pollingです。

サーブレットとHTTP pub-subサーバーの間には、1対1の関係があります。各サーブレットには、1つの一意のHTTP pub-subサーバーへのアクセスがあります。各HTTP pub-subサーバーは独自のチャネル・リストを持ちます。サーブレットはコンテキスト・オブジェクトを使用して、関連付けられているHTTP pub-subサーバーへのハンドルを取得します。

図13-1は、Oracle Event Processing HTTP pub-subサーバーの基本的なアーキテクチャを示します。

図13-1 Oracle Event ProcessingのHTTPパブリッシュ/サブスクライブ・サーバー

13.4 新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成

この手順では、新しいHTTP pub-subサーバーを作成する方法について説明します。

構成されたHTTP pub-subサーバーのconfig.xmlの例全体は、「デフォルトのHTTP Pub-Subサーバー」を参照してください。

新しいHTTPパブリッシュ/サブスクライブ・サーバーの作成

1. Oracle Event Processingサーバーが実行中である場合は、停止します。
「サーバーの起動と停止」を参照してください。

2. XMLエディタで、Oracle Event Processingサーバーのconfig.xmlファイルを開きます。
デフォルトでは、このファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configにあります。

3. 太字で示されているように、config.xmlのルートconfig要素のhttp-pubsub子要素を追加し、name、path、およびpub-sub-bean子要素を指定します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:config xmlns:ns2="http://www.bea.com/ns/wlevs/config/server">
<domain>
<name>myDomain</name>
</domain>
....
<http-pubsub>
<name>myPubSubServer</name>
<path>/myPath</path>
<pub-sub-bean>
...
</pub-sub-bean>
</http-pubsub>
...
</ns2:config>

a. name要素をHTTP pub-subサーバーの内部名に設定します。

b. path要素はHTTP pub-subサーバーへの接続に使用されるURLに表示する文字列に設定します。

c. 次の手順では、pub-sub-bean要素について説明します。

4. pub-sub-bean要素のserver-configおよびchannels子要素を追加します。

</http-pubsub>
<name>myPubSubServer</name>
<path>/myPath</path>
<pub-sub-bean>
<server-config>
...
</server-config>
<channels>
...
</channels>
</pub-sub-bean>
</http-pubsub>

5. 必要に応じて、pub-sub-bean要素のserver-config子要素をHTTP pub-subサーバーの構成で更新します。
次に、最も一般的な構成オプションを示します。

- supported-transport要素を追加して、トランスポートを指定します。
この要素の形式は次のとおりです。

<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
...
</server-config>

Oracle Event Processingでは、次のトランスポートをサポートします。

- long-polling: このトランスポートを使用して、クライアントはOracle Event Processingサーバーからの情報をリクエストします。使用可能な情報がない場合は、Oracle Event Processingサーバーは応答しません。Oracle Event Processingサーバーが応答すると、クライアントは通常、別のリクエストをただちに送信します。

- callback-polling: このトランスポートは、クロス・ドメイン構成を使用するHTTPパブリッシュ/サブスクライブ・アプリケーションに使用します。この構成では、ブラウザが1つのWebサーバー(JavaScriptコードを含む)からページをダウンロードし、HTTPパブリッシュ/サブスクライブ・クライアントとして別のサーバーに接続します。これは、Bayeuxプロトコルに必要です。

- publish-without-connect-allowed要素を追加して、クライアントがHTTP pub-subサーバーに明示的に接続せずに、メッセージをパブリッシュできるかどうかを指定します。有効な値はtrueまたはfalseです。

<server-config>
...
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>

- work-manager要素を追加し、クライアントにメッセージを送信するワーク・マネージャ名を指定します。この要素の値は、割り当てるwork-managerの<name>子要素の値に対応します。

<server-config>
...
<work-manager>myWorkManager</work-manager>
</server-config>

- client-timeout-secs要素を追加して、クライアントから接続/再接続のメッセージが返されていない場合にHTTP pub-subサーバーが接続を切断するまでの秒数を指定します。

<server-config>
...
<client-timeout-secs>600</client-timeout-secs>
</server-config>

6. 少なくとも1つのチャネル・パターンでchannels子要素を更新します。
チャネル・パターンは、常にスラッシュ(/)で開始します。クライアントは、メッセージのパブリッシュ、またはメッセージの受信のためにこれらのチャネルにサブスクライブします。次に示すようにチャネル・パターンを追加します。

<channels>
<element>
<channel-pattern>/mychannel</channel-pattern>
</element>
</channels>

7. config.xmlファイルを保存します。

8. Oracle Event Processingサーバーを起動します。
「サーバーの起動と停止」を参照してください。

9. Oracle Event Processing Visualizerを使用して、チャネルを構成または追加します。

10. Oracle Event Processing Visualizerを使用して、チャネルのセキュリティを構成します。関連項目: HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成。

13.5 既存のHTTPパブリッシュ/サブスクライブ・サーバーの構成

この手順では、既存のHTTP pub-subサーバーを構成する方法について説明します。

構成されたHTTP pub-subサーバーのconfig.xmlの例全体は、「デフォルトのHTTP Pub-Subサーバー」を参照してください。

既存のHTTPパブリッシュ/サブスクライブ・サーバーの構成

1. Oracle Event Processingサーバーが実行中である場合は、停止します。

「サーバーの起動と停止」を参照してください。

2. XMLエディタで、Oracle Event Processingサーバーのconfig.xmlファイルを開きます。

デフォルトでは、このファイルはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>/configにあります。

3. 構成するHTTP pub-subサーバーに対応するhttp-pubsub要素を検索します。

たとえば、デフォルトのHTTP pub-subサーバーを構成するために、次のエントリを探します。

<http-pubsub>
<name>pubsub</name>
<path>/pubsub</path>
<pub-sub-bean>
<server-config>
...
</http-pubsub>

4. 必要に応じて、pub-sub-bean要素(http-pubsubの子要素)のserver-config子要素をHTTP pub-subサーバーの構成で更新します。

次に、最も一般的な構成オプションを示します。

- supported-transport要素を追加して、トランスポートを指定します。
この要素の形式は次のとおりです。

<server-config>
<supported-transport>
<types>
<element>long-polling</element>
</types>
</supported-transport>
...
</server-config>

Oracle Event Processingでは、次のトランスポートをサポートします。

- long-polling: このトランスポートを使用して、クライアントはOracle Event Processingサーバーからの情報をリクエストします。使用可能な情報がない場合は、Oracle Event Processingサーバーは応答しません。Oracle Event Processingサーバーが応答すると、クライアントは通常、別のリクエストをただちに送信します。

- callback-polling: このトランスポートは、クロス・ドメイン構成を使用するHTTPパブリッシュ/サブスクライブ・アプリケーションに使用し、この構成では、ブラウザが1つのWebサーバー(JavaScriptコードを含む)からページをダウンロードし、HTTPパブリッシュ/サブスクライブ・クライアントとして別のサーバーに接続します。Bayeuxプロトコルにはこれが必要です。Bayeuxプロトコルの詳細は、http://svn.cometd.org/trunk/bayeux/bayeux.htmlを参照してください。

- publish-without-connect-allowed要素を追加して、クライアントがHTTP pub-subサーバーに明示的に接続せずに、メッセージをパブリッシュできるかどうかを指定します。有効な値はtrueまたはfalseです。

<server-config>
...
<publish-without-connect-allowed>true</publish-without-connect-allowed>
</server-config>

- work-manager要素を追加し、クライアントにメッセージを送信するワーク・マネージャ名を指定します。この要素の値は、割り当てるwork-managerのname子要素の値に対応します。

<server-config>
...
<work-manager>myWorkManager</work-manager>
</server-config>

- client-timeout-secs要素を追加して、クライアントから接続/再接続のメッセージが返されていない場合にHTTP pub-subサーバーが接続を切断するまでの秒数を指定します。

<server-config>
...
<client-timeout-secs>600</client-timeout-secs>
</server-config>

5. config.xmlファイルを保存します。

6. Oracle Event Processingサーバーを起動します。

「サーバーの起動と停止」を参照してください。

7. Oracle Event Processing Visualizerを使用して、チャネルを構成または追加します。

8. Oracle Event Processing Visualizerを使用して、チャネルのセキュリティを構成します。次を参照してください。

- HTTPパブリッシュ/サブスクライブ・サーバー・チャネルのセキュリティの構成

14 ロギングとデバッグ

システム管理者と開発者は、ロギング出力を構成し、ログ・メッセージをフィルタ処理してエラーをトラブルシューティングしたり、特定のイベントの通知を受信したりします。

Oracle Stream Analyticsでは、Commons Apacheログ・フレームワーク、OSGiフレームワーク・ロガーおよびLog4jロガーのロギング・システムがサポートされます。Oracle Stream Analyticsでは、様々なデバッグ・オプションも提供され、これらのオプションを有効または無効にすることにより、使用するOracle Stream Analyticsアプリケーションを診断できます。

この章の内容は次のとおりです。

- ロギングの構成シナリオ

- Commons Apacheログ・フレームワーク

- OSGiフレームワーク・ロガー

- Log4jロガー

- ロギング・サービスの構成

- Log4jロギングの構成

- Apache CommonsロギングAPIの使用

- デバッグ・オプションの構成。

Oracle Stream Analyticsセキュリティ監査ロギングの詳細は、「セキュリティ監査プログラム」を参照してください。

14.1 ロギングの構成シナリオ

様々なロギングの構成シナリオがあります。次に、共通のものの一部を紹介します。

- DEBUGメッセージおよびINFOメッセージがログ・ファイルに記録されないようにします。

- HTTPサブシステムからのINFOレベルのメッセージを、標準出力ではなくログ・ファイルにパブリッシュできるようにします。

- WARNINGレベル以上のメッセージをハンドラがパブリッシュするように指定します。

- サーバー全体のデフォルトのロギング・レベルを指定し、特定のモジュールにデフォルトのロギング・レベルをオーバーライドさせます。たとえば、サーバーのデフォルトのロギング・レベルをWARNINGにする一方、モジュールのロギング・レベルをDEBUGにすることができます。

- デプロイしたアプリケーションのロギング・レベルを構成します。ログ・メッセージをサーバー全体の1個のログ・ファイルに出力する必要があり、サーバー・モジュールからもそのログ・ファイルにメッセージを記録する場合は、Commons Apacheログ・フレームワークをアプリケーションで使用する必要があります。

14.2 Commons Apacheログ・フレームワーク

この項では、Commons Apacheログ・フレームワークについて説明します。

Oracle Event Processingでは、commons-loggingインタフェースが提供されます。このインタフェースでは、commons.logging.LogFactoryおよびLogインタフェースの実装が提供されます。そのインタフェースには、ロギング・モジュールのLoggingServiceに委任されるorg.apache.commons.logging.Logの実装を作成するファクトリとして動作するorg.apache.commons.logging.LogFactoryクラスの拡張が含まれています。デフォルトの実装名はweblogic.logging.commons.LogFactoryImplです。http://jakarta.apache.org/commons/logging/apidocs/index.htmlを参照してください。

14.2.1 ログ・ファクトリの設定

次のリストは、システム・プロパティを使用したログ・ファクトリの設定に関する情報を示します。

- 最高の優先度はシステム・プロパティorg.apache.commons.logging.LogFactoryに対して設定されています。

- 次のコマンドを使用して、コマンド・ラインからロギングを設定できます。

-Dorg.apache.commons.logging.LogFactory=weblogic.logging.commons.LogFactoryImpl

- 次のように、プログラムによってロギングを実装できます。

import org.apache.commons.logging.LogFactory;
System.setProperty(
LogFactory.FACTORY_PROPERTY,
"weblogic.logging.commons.LogFactoryImpl"
);

- weblogic.logging.commons.LogFactoryImplは、ログ・ファクトリが明示的に設定されない場合、デフォルトのログ・ファクトリです。

- 別のロギング実装を使用するには、標準のcommons loggingファクトリ実装を使用する必要があります。org.apache.commons.logging.impl.LogFactoryImplの実装はcommons logging jarで使用できます。次に例を示します。

-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

または、次のようにプログラミングしても同じです。

System.setProperty(
LogFactory.FACTORY_PROPERTY,
"org.apache.commons.logging.impl.LogFactoryImpl"
);

14.2.2 ログの重大度レベルの使用

各ログ・メッセージには、関連する重大度があります。重大度は、ログ・メッセージの重要性と緊急度を大まかに示します。TRACEからEMERGENCYまでの重大度があらかじめ定義されており、これらの重大度は、ログ・リクエストがロガーにディスパッチされるとログ・レベルに変換されます。ログ・レベル・オブジェクトは、次の値(影響の少ない低レベル(左端)から影響の大きい高レベル(右端)の順で並んでいる)のいずれかを指定できます。

TRACE、DEBUG、INFO、NOTICE、WARNING、ERROR、CRITICAL、ALERT、EMERGENCY

ロガー、ハンドラ、およびユーザー・アプリケーションに対してログの重大度レベルを設定できます。ロガーに対してセキュリティ・レベル設定した場合、いずれのハンドラも、ロガーによって拒否されたイベントを受信しません。たとえば、ロガーに対してログ・レベルをNOTICEに設定した場合、ハンドラは、INFOレベルのイベントを受信しません。ハンドラに対してログ・レベルを設定した場合、制約はそのハンドラにのみ適用され、他のハンドラには及びません。たとえば、ファイル・ハンドラに対してDEBUGをオフにしても、DEBUGメッセージがログ・ファイルに書き込まれないわけではありません。ただし、DEBUGメッセージは標準出力に書き込まれます。

ユーザー(Oracle Event Processingモジュールの所有者またはユーザー・アプリケーションの所有者)は、個別モジュールに対してApache commonsロギングで使用されるロギング・カテゴリ・タイプを表す名前を自由に定義できます。ただし、カテゴリ名がパッケージ名として定義されている場合は、ネーミング・ルールに基づいて、ロギング・レベル階層がデフォルトで想定されます。たとえば、2つのモジュールのロギング・カテゴリ名がcom.oracle.fooとcom.oracle.foo.barである場合は、com.oracle.fooがcom.oracle.foo.barのルート・ノードになります。このように、子ノードが親をオーバーライドしないかぎり、親ノード(com.oracle.foo)に適用されるロギング・レベルが自動的にcom.oracle.foo.barに適用されます。

つまり、明示的に重大度が構成された最も近い親から重大度が継承されないかぎり、ノードに対して指定されているロギングの重大度が有効です。ルート・ノードは常に明示的に構成されるため、その他の設定がされていない場合は、すべてのノードがルートから重大度を継承します。

表14-1にログ・メッセージの重大度レベルを示します。

表14-1 ログ・メッセージ重大度

重大度

意味

TRACE

診断アクション・ライブラリからのメッセージの場合に使用します。サーバーおよびアプリケーション・クラスの診断インストゥルメンテーションを有効にすると、TRACEメッセージはメソッドのリクエスト・パスに従います。

DEBUG

デバッグ・メッセージが生成されました。

INFO

通常の処理を報告するために使用する、低レベルの情報メッセージ。

NOTICE

重要度が高い情報メッセージ。

WARNING

不審なオペレーションまたは構成が発生しましたが、通常のオペレーションには影響しません。

ERROR

ユーザー・エラーが発生したことを示します。システムまたはアプリケーションでは、割込みやサービスの限定的な低下を起こすことなくエラーに対処できます。

CRITICAL

システム・エラーまたはサービス・エラーが発生したことを示します。システムをリカバリできますが、サービスの一時的な損失や永久的な低下が発生する場合があります。

ALERT

特定のサービスが使用不能の状態にある一方で、システムのほかの部分は依然として機能しています。自動リカバリを実行できません。この問題を解決するには、管理者がすぐに措置を講じる必要があります。

EMERGENCY

サーバーが使用不能な状態にあります。この重大度は、重大なシステム障害または問題があることを示します。

システムでは、重大度の低いメッセージが数多く生成され、重大度の高いメッセージは少なくなります。たとえば、通常の環境では、INFOメッセージが多く生成され、EMERGENCYメッセージは生成されません。

14.2.3 ログ・ファイル

デフォルトでは、Oracle Event Processingサーバーは/Oracle/Middleware/my_oep/user_projects/domains/DOMAIN_DIR/servernameディレクトリ内のserver.logおよびconsoleoutput.logファイルにログ・メッセージを書き込み、ここで、DOMAIN_DIRはドメイン・ディレクトリ(my_domainなど)、servernameはサーバー・インスタンス・ディレクトリ(myServer1など)です。

ログ・ファイル属性の構成は、「log-file」を参照してください。

14.2.4 ログ・メッセージ・フォーマット

Oracle Event Processingサーバーは、書き込むログ・ファイルのタイプによって異なるフォーマットでログ・メッセージを書き込みます。

14.2.4.1 ログ・ファイルへの出力の形式

システムはメッセージを指定されたログ・ファイルに書き込み、メッセージは、####接頭辞、タイムスタンプ、重大度、サブシステム、サーバー名、接続、スレッドIDまたはユーザーIDまたはトランザクションID、メッセージID、メッセージとスタック・トレース(ある場合)で構成されます。各属性は山カッコで囲まれます。

次に示すのは、サーバー・ログ・ファイルのメッセージ例です(読みやすくするために分割してありますが、実際にはメッセージは1行にある可能性があります)。

####<May 25, 2015 10:23:32 AM EST> <Notice> <Deployment> <> <myServer>
<RMI TCP Connection(4)-141.144.123.236> <> <> <> <1235575412801> <BEA-2045000>
<The application bundle "Hello" was deployed successfully to file
[C:\Oracle\Middleware\my_oep\user_projects\domains\oep_domain\defaultserver\applications\Hello\Hello.jar]
with version 1235575412708>

14.2.4.2 コンソールへの出力、標準出力および標準エラーの形式

システムはメッセージをコンソール、標準出力または標準エラーに書き込みます。メッセージは、ロケール形式のタイムスタンプ、重大度、サブシステム、メッセージIDおよびメッセージで構成されます。

次に示すのは、前のセクションからのメッセージが標準出力に出力される仕組みの例です(読みやすくするために分割してありますが、実際にはメッセージは1行にある可能性があります)。

<May 25, 2015 10:23:32 AM EST> <Notice> <Deployment> <BEA-2045000>
<The application bundle "Hello" was deployed successfully to file
[C:\Oracle\Middleware\my_oep\user_projects\domains\oep_domain\defaultserver\applications\Hello\Hello.jar]
with version 1235575412708>

14.3 OSGiフレームワーク・ロガー

Oracle Event Processingには、OSGiフレームワークよりも前に起動する低レベルのフレームワーク・ロガーがあります。このロガーはOSGiフレームワーク内部のロギング・イベントを報告するために使用され、ロギング・サブシステムが構成されるまでロギング・サブシステムのカスタム・デフォルトとして機能します。

たとえば、ユーザーに表示されるログ・メッセージのレベルまたは重大度はconfig.xmlでの設定より低く、コンソールのLauncherコマンド・ラインまたはログ・ファイルでの設定と同じまたはそれより高い可能性があります。ロギング・サブシステムが起動するまで、ログ・メッセージはフレームワーク・ロガーから送信され、フレームワークのロギング・レベルを使用してメッセージがフィルタ処理されます。

14.4 Log4jロガー

Log4jは、アプリケーション内にログ文を入れるために開発されたオープン・ソースのツールです。Log4jには、ロガー、アペンダおよびレイアウトの3つのメイン・コンポーネントがあり、それらはすべてこの項で説明します。

Log4jロギング機能は、Apache FoundationのJakartaプロジェクトによって開発されています。参照:

- Log4jプロジェクトは、http://logging.apache.org/log4j/を参照してください。

- Log4j APIは、http://logging.apache.org/log4j/1.2/apidocs/index.htmlを参照してください。

- Log4jの簡単な説明は、http://logging.apache.org/log4j/1.2/manual.htmlを参照してください。

14.4.1 ロガー

Log4jには、Loggerクラスを定義します。1つのアプリケーションで、各々が一意の名前を持つ複数のロガーを作成できます。Log4jの一般的な使い方では、アプリケーションで、ログ・メッセージを出力する各アプリケーション・クラスのLoggerインスタンスが作成されます。ロガーはネームスペース階層内に存在し、階層の上位のロガーから動作を継承します。

14.4.2 アペンダ

Log4jには、ロギング出力の宛先を表すアペンダ(ハンドラ)を定義します。複数のアペンダを定義できます。たとえば、1つのアプリケーションで、ログ・メッセージを標準出力に送信するアペンダと、ファイルに書き込むアペンダを定義できます。個々のロガーを構成して、0または1つ以上のアペンダに書き込むように構成することもできます。一例としては、すべてのロギング・メッセージ(全レベル)をログ・ファイルに送信する一方で、標準出力にはERRORレベル・メッセージのみを送信する使い方があります。

14.4.3 レイアウト

Log4jには、ログ・メッセージのフォーマットを制御するレイアウトを定義します。各レイアウトにより、特定のメッセージ・フォーマットが指定されます。特定のレイアウトが各アペンダと関連付けられます。これにより、たとえばファイル出力とは違うログ・メッセージ・フォーマットを標準出力に対して指定できます。

14.5 ロギング・サービスの構成

Oracle Stream Analytics Visualizerを使用するかOracle Stream Analyticsサーバーのconfig.xmlファイルを編集することにより、Oracle Stream Analyticsロギング・サービス属性を構成します。

config.xmlファイルは/Oracle/Middleware/my_oep/user_projects/domains/DOMAIN_DIR/servername/configディレクトリにあり、ここでDOMAIN_DIRはドメイン・ディレクトリ(my_domainなど)、servernameはサーバー・インスタンス・ディレクトリ(myServer1など)です。

次の例は、ロギング要素を含む一般的なOracle Stream Analyticsサーバーの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">
...
<name>myLogService</name>
<log-file-config>myFileConfig</log-file-config>
<stdout-config>myStdoutConfig</stdout-config>
<logger-severity>Notice</logger-severity>
<logger-severity-properties>
<entry>
<key>LifeCycle</key>
<value>Notice</value>
</entry>
<entry>
<key>Management</key>
<value>Notice</value>
</entry>
<entry>
<key>CQLProcessor</key>
<value>Notice</value>
</entry>
<entry>
<key>CqlProcessor</key>
<value>Notice</value>
</entry>
<entry>
<key>Stream</key>
<value>Notice</value>
</entry>
<entry>
<key>Ede</key>
<value>Notice</value>
</entry>
<entry>
<key>Cache</key>
<value>Notice</value>
</entry>
<entry>
<key>Adapters</key>
<value>Notice</value>
</entry>
<entry>
<key>Spring</key>
<value>Notice</value>
</entry>
<entry>
<key>Channel</key>
<value>Notice</value>
</entry>
<entry>
<key>Recplay</key>
<value>Notice</value>
</entry>
<entry>
<key>Monitor</key>
<value>Notice</value>
</entry>
<entry>
<key>Server</key>
<value>Notice</value>
</entry>
<entry>
<key>EventTrace</key>
<value>Notice</value>
</entry>
<entry>
<key>Deployment</key>
<value>Notice</value>
</entry>
</logger-severity-properties>
</logging-service>
<log-file>
<name>myFileConfig</name>
<rotation-type>none</rotation-type>
</log-file>
<log-stdout>
<name>myStdoutConfig</name>
<stdout-severity>Debug</stdout-severity>
</log-stdout>

</n1:config>

次の項では、Oracle Stream Analyticsロギングの構成について説明します。

- logging-service

- log-file

- log-stdout

- 個別モジュールの重大度の構成

14.5.1 logging-service

この項では、logging-service要素について説明します。

表14-2 logging-serviceの構成パラメータ

パラメータ

データ型

説明

name

String

この構成オブジェクトの名前。

log-file-config

String

ログ・ファイルとそのローテーション・ポリシーの構成。

「log-file」を参照してください。

stdout-config

String

stdout出力の構成に使用されるstdout構成オブジェクトの名前。「log-stdout」を参照してください。

logger-severity

String

ハンドラに伝播されるメッセージのしきい値の重要度を定義します。

デフォルト値は、Infoです。

DebugおよびTraceメッセージを参照するには、logger-severityをDebugまたはTraceに構成します。

有効な値は次のとおりです:Emergency、Alert、Critical、Error、Warning、Notice、Info、DebugおよびTrace

logger-severity-properties

1つ以上の<entry>子要素。

<entry>要素で囲まれた名前と値の組合せのリストです。個別モジュール(パッケージ名、アプリケーション名、クラス名またはCQLProcessorなどのコンポーネント)とモジュールのロギングの重大度を表します。これらの重大度はOracle Event Processingサーバーのデフォルトの重大度をオーバーライドします。

「個別モジュールの重大度の構成」を参照してください。

14.5.2 log-file

この項では、log-file要素について説明します。

表14-3 log-fileの構成パラメータ

パラメータ

データ型

説明

name

String

この構成オブジェクトの名前。

base-log-file-name

String

ログ・ファイル名。デフォルト値はserver.logです。

log-file-severity

String

ログ・ファイルに書き込む最も重大度の低いメッセージを指定します。デフォルト値はTraceです。

有効な値は次のとおりです。

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace。

log-file-rotation-dir

String

ローテーションされた古いファイルを格納するディレクトリを指定します。

設定しない場合、古いファイルはベース・ログ・ファイルとして同一ディレクトリ内に保存されます。

rotation-type

String

ローテーションをサイズに基づいて実行するか、時間に基づいて実行するか、または実行しないかを指定します。

有効な値は次のとおりです。

- bySize

- byTime

- none

rotation-time

String

時間はk:mm形式で表示します。kは24時間表記で指定した時間で、mmは分です。

デフォルトは00:00です。

rotation-time-span-factor

Long

時間ベースのログ・ローテーションの頻度となるミリ秒数を決定するために、時間間隔に適用される係数。デフォルトは3600000です。

rotated-file-count

Integer

number-of-files-limitedがtrueの場合に、保持するローテーションされた古いファイルの数を指定します。デフォルト値は7です。

rotation-size

Integer

ログ・ファイルがローテーションされるサイズのしきい値(KB単位)。デフォルトは500です。

rotation-time-span

Integer

時間ベースのすべてのログ・ローテーションについて、間隔を指定します。デフォルト値は24です。

rotate-log-on-startup-enabled

Boolean

trueの場合、ログ・ファイルは起動時にローテーションされます。デフォルト値はtrueです。

number-of-files-limited

Boolean

trueの場合、ローテーションされた古いファイルが削除されます。デフォルトはfalseです。

14.5.3 log-stdout

この項では、log-stdout要素について説明します。

表14-4 log-stdoutの構成パラメータ

パラメータ

データ型

説明

name

String

この構成オブジェクトの名前。

stdout-severity

String

stdoutに送信されるメッセージのしきい値の重大度。デフォルト値はNoticeです。

有効な値は次のとおりです。

- Emergency

- Alert

- Critical

- Error

- Warning

- Notice

- Info

- Debug

- Trace。

stack-trace-depth

Integer

stdoutに表示するスタック・トレース・フレームの数。

デフォルト値-1は、すべてのフレームが表示されることを意味します。

stack-trace-enabled

Boolean

trueの場合、ログに記録されたメッセージにスタック・トレースが含まれているときは、スタック・トレースがコンソールにダンプされます。デフォルト値はtrueです。

14.5.4 個別モジュールの重大度の構成

Oracle Event Processingの個別モジュールはロギングの重大度を指定できます。この重大度はOracle Event Processingサーバーのデフォルトのロギング重大度をオーバーライドします。

これは、Oracle Event Processingサーバーconfig.xmlファイルのlogger-severity-properties要素にentry子要素を指定して実行します。任意の数のモジュールに対して複数のentry子要素を指定できます。

個別モジュールの重大度の構成

1. Oracle Event Processingサーバーconfig.xmlファイルを編集します。

2. 次の例に示すとおり、entry子要素をlogger-severity-properties要素に追加します。

<logging-service>
<name>myLogService</name>
<logger-severity>Warning</logger-severity>
<logger-severity-properties>
...
<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>
...
</logger-severity-properties>
...
</logging-service>

3. key要素を次のいずれかに設定します。

- コンポーネント名: 表14-5に示すコンポーネント名定数。

表14-5 ロギング・コンポーネント名定数

コンポーネント名の定数

説明

Adapters

Oracle Event Processingサーバー上で実行中のアダプタ・インスタンスからのログ・メッセージに適用されます。

Cache

Oracle Event Processingサーバー上で実行中のキャッシュ・システムおよびキャッシュ・インスタンスからのログ・メッセージに適用されます。

Cartridges

Oracle Event Processingカートリッジ・インフラストラクチャに関連するログ・メッセージに適用されます。

Channel

Oracle Event Processingサーバー上で実行中のチャネルからのログ・メッセージに適用されます。

CQLProcessor

Oracle Event Processingサーバー上で実行中のOracle CQLプロセッサからのログ・メッセージに適用されます。

CQLServer

各CQLProcessorの中核にあるCQLEngineからのログ・メッセージに適用されます。

CQLServerTrace

各CQLProcessorの中核にあるCQLEngineからのログ・メッセージに適用されます。

Coherence

クラスタリングに関連するメッセージを含む、Oracle Coherenceからのログ・メッセージに適用されます。

ここに入力する値は、次の方法でOracle Coherenceの重大度レベルにマップされます。

- Error: 1

- Warning: 2

- Notice: 3

- Info: 4

- Debug: 5

- Trace: 9

構成内のlogging-config設定をオーバーライドして、Oracle Coherenceからのロギングをカスタマイズできます。たとえば、Oracle Coherence (log4j)に使用されるデフォルト・ログの宛先をオーバーライドして、別の宛先を使用できます。構成のオーバーライドの詳細は、「Oracle Coherenceクラスタの構成」を参照してください。

Deployment

デプロイメント・インフラストラクチャに関連するログ・メッセージに適用されます。

Ede

Oracle Event Processingサーバー・イベント・ディスパッチ・インフラストラクチャであるイベントドリブン環境からのログ・メッセージに適用されます。

EventTrace

「情報」または「デバッグ」に設定された場合、すべてのアプリケーションのEPN内を通過するイベントのトレースを可能にします。このログ・キーの重大度は、Oracle Event Processing Visualizerを使用して動的に変更できます。

重大度が「情報」の場合は、次のようなログ・メッセージが表示されます。

<May 26, 2009 5:53:49 PM PDT> <Info> <EventTrace>
<BEA-000000> <Application [helloworld],
Stage [helloworldOutputChannel] received insert event>

重大度が「デバッグ」の場合は次のように、イベントの詳細がログ・メッセージに含まれます。

<May 26, 2009 6:02:34 PM PDT> <Debug> <EventTrace>
<BEA-000000> <Application [helloworld],
Stage [helloworldOutputChannel] received insert
event [HelloWorldEvent: HelloWorld - the current
time is: 6:02:34 PM]>

FaultHandler

Oracle CQLでのフォルト処理に関連するログ・メッセージに適用されます。

HadoopCartridge

Hadoopカートリッジに関連するログ・メッセージに適用されます。

JavaCartridge

Oracle CQLでのJavaの使用に関連するログ・メッセージに適用されます。

Lifecycle

Oracle Event Processingサーバーとアプリケーション・ライフ・サイクル操作からのログ・メッセージに適用されます。

Management

Oracle Event Processingサーバーの一般的なJMX関連管理のAPI操作からのログ・メッセージに適用されます。

Monitor

Oracle Event Processingサーバーの監視サービスからのログ・メッセージに適用されます。

NoSQLCartridge

Oracle NoSQLカートリッジに関連するログ・メッセージに適用されます。

Recplay

Oracle Event Processingサーバーのイベント記録および再生操作からのログ・メッセージに適用されます。

Server

サーバー・インフラストラクチャ・コンポーネントに関連するログ・メッセージに適用されます。

SpatialCartridge

空間カートリッジに関連するログ・メッセージに適用されます。

Spring

Springコンテナ操作からのログ・メッセージに適用されます。

Stream

Oracle Event Processingサーバー上で実行中のストリーム・インスタンスからのログ・メッセージに適用されます。

次に例を示します。

<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>

- アプリケーション名: Oracle Event Processingサーバーまたはユーザー定義アプリケーションのモジュール名。次に例を示します。

<entry>
<key>sample.HelloWorld</key>
<value>Debug</value>
</entry>

4. value要素に重大度レベルを設定します。

「ログの重大度レベルの使用」を参照してください。

次に例を示します。

<entry>
<key>CQLProcessor</key>
<value>Debug</value>
</entry>

この重大度レベルはkey要素に指定したモジュールに適用され、logger-severity要素に設定されたデフォルトのOracle Event Processingサーバー・ロギング重大度レベルをオーバーライドします。

5. その他のモジュールに対して、ステップ2からのステップを繰り返します。

6. config.xmlファイルを保存して閉じます。

14.6 Log4jロギングの構成

Oracle Event Processingはオープン・ソースlog4jロギング・システムをサポートします。

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

- log4jプロパティの構成

- アプリケーション・マニフェストの構成

- Log4jの有効化

- Log4jロギングのデバッグ

14.6.1 Log4jプロパティの構成

デフォルトの構成ファイルはlog4j.propertiesです。この指定は、log4j.configurationシステム・プロパティを使用してオーバーライドできます。https://www.qos.ch/shop/products/log4j/log4j-Manual.jspを参照してください。

log4j.propertiesファイルの例を次に示します。

log4j.rootLogger=debug, R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=D:/log4j/logs/mywebapp.log
log4j.appender.R.MaxFileSize=10MB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger=DEBUG, R

14.6.2 アプリケーション・マニフェストの構成

次の必要なLog4jパッケージをインポートするためにアプリケーションのMANIFEST.MFファイルを更新します。

Import-Package:
org.apache.log4j;version="1.2.13",
org.apache.log4j.config;version="1.2.13",
...

14.6.3 Log4jロギングの有効化

Log4j Loggerへのロギングを指定するには、コマンド・ラインで次のシステム・プロパティを設定します。

-Dorg.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl
-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
-Dlog4j.configuration=<URL>/log4j.properties

-Dlog4j.debug=trueは、非常に重要なもう1つのコマンド・ライン・プロパティです。このプロパティは、log4j出力に失敗した場合または暗号エラー・メッセージが返された場合に使用します。

14.6.4 Log4jロギングのデバッグ

log4j出力に失敗した場合または暗号エラー・メッセージが返された場合に、-Dlog4j.debug=trueのコマンド・ライン・プロパティをコマンド・ラインで使用します。

詳細は、「Log4jロギングの有効化」を参照してください。

14.7 Apache CommonsロギングAPIの使用

Oracle Event Processingのserver.logおよびconsoleoutput.logファイルにアプリケーション固有のメッセージを記録するために、Oracle Event Processingアプリケーション内のApache CommonsロギングAPIを使用できます。

commonsロギングAPIを使用するには:

1. システム・プロパティorg.apache.commons.logging.LogFactoryをweblogic.logging.commons.LogFactoryImplに設定します。

このLogFactoryは、org.apache.commons.logging.Logインタフェースを実装するweblogic.logging.commons.LogFactoryImplのインスタンスを作成します。

2. LogFactoryから、名前を基準にCommons Logオブジェクトへの参照を取得します。

この名前は、ログ・ファイル内でサブシステム名として表示されます。

3. Logオブジェクトを使用して、ロギング・サービスにログ・リクエストを発行します。

Commons Logインタフェース・メソッドは、オブジェクトを受け付けます。ほとんどの場合、これはメッセージ・テキストを含む文字列です。

Commons LogObjectは、コンストラクタでメッセージID、サブシステム名、および文字列メッセージ引数を取ります。http://jakarta.apache.org/commons/logging/api/index.htmlの「org.apache.commons.logging」を参照してください。

4. weblogic.logging.commons.LogImplログ・メソッドは、メッセージをサーバー・ログに送ります。

import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;

public class MyCommonsTest {
public void testCommonsLogging() {
System.setProperty(LogFactory.FACTORY_PROPERTY,
"weblogic.logging.commons.LogFactoryImpl");
Log clog = LogFactory.getFactory().getInstance("MyCommonsLogger");
// Log String objects
clog.debug("Hey this is common debug");
clog.fatal("Hey this is common fatal", new Exception());
clog.error("Hey this is common error", new Exception());
clog.trace("Dont leave your footprints on the sands of time");
}
}

14.8 デバッグ・オプションの構成

デバッグ・オプションを有効または無効にして、Oracle Event Processingアプリケーションの問題を診断できます。

表14-6は、Oracle Event Processingが提供するデバッグ・オプションを示しています。

表14-6 デバッグ・フラグ

デバッグ・フラグ

説明

com.bea.core.debug.DebugBootBundle

ブート・デバッグ

com.bea.core.debug.DebugBootBundle.stdout

ブート・デバッグのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugCM

構成マネージャ

com.bea.core.debug.DebugCM.stdout

構成マネージャのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugConfigurationRuntime

ランタイムMBeanからのランタイム情報

com.bea.core.debug.DebugCSS

CSS

com.bea.core.debug.DebugCSS.stdout

CSSのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugCSSServices

CSSサービス

com.bea.core.debug.DebugCSSServices.stdout

CSSサービスのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugJDBCConn

JDBC接続

com.bea.core.debug.DebugJDBCInternal

JDBC内部

com.bea.core.debug.DebugJDBCRMI

JDBC RMI

com.bea.core.debug.DebugJDBCSQL

JDBC SQL

com.bea.core.debug.DebugJTA2PC

JTA 2PC

com.bea.core.debug.DebugJTA2PCDetail

JTA 2PCDetail

com.bea.core.debug.DebugJTA2PCStackTrace

JTA 2PCStackTrace

com.bea.core.debug.DebugJTAGateway

JTAゲートウェイ

com.bea.core.debug.DebugJTAGatewayStackTrace

JTA GatewayStackTrace

com.bea.core.debug.DebugJTAHealth

JTAヘルス

com.bea.core.debug.DebugJTAJDBC

JTA JDBC

com.bea.core.debug.DebugJTALifecycle

JTAライフサイクル

com.bea.core.debug.DebugJTALLR

JTA LLR

com.bea.core.debug.DebugJTAMigration

JTA移行

com.bea.core.debug.DebugJTANaming

JTAネーミング

com.bea.core.debug.DebugJTANamingStackTrace

JTA NamingStackTrace

com.bea.core.debug.DebugJTANonXA

JTA NonXA

com.bea.core.debug.DebugJTAPropagate

JTAの伝播

com.bea.core.debug.DebugJTARecovery

JTAのリカバリ

com.bea.core.debug.DebugJTAResourceHealth

JTA ResourceHealth

com.bea.core.debug.DebugJTATLOG

JTA TLOG

com.bea.core.debug.DebugJTAXA

JTA XA

com.bea.core.debug.DebugJTAXAStackTrace

JTA XAStackTrace

com.bea.core.debug.DebugNetIO

NetIO

com.bea.core.debug.DebugOX

OSGiからJMX (OX)へ

com.bea.core.debug.DebugOX.stdout

OSGiからJMX (OX)へ - デバッグが標準出力に送られます。

com.bea.core.debug.DebugSCP

簡易構成プロバイダ

com.bea.core.debug.DebugSCP.stdout

Simple Configuration Providerのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugSDS

単純な宣言サービス

com.bea.core.debug.DebugSDS.stdout

SDSデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugServiceHelper

サービス・ヘルパー

com.bea.core.debug.DebugServiceHelper.stdout

サービス・ヘルパーのデバッグ文字列がstdoutに送られます

com.bea.core.debug.DebugStoreAdmin

ストア管理

com.bea.core.debug.DebugStoreIOLogical

ストアIOLogical

com.bea.core.debug.DebugStoreIOLogicalBoot

ストアIOLogicalBoot

com.bea.core.debug.DebugStoreIOPhysical

ストアIOPhysical

com.bea.core.debug.DebugStoreIOPhysicalVerbose

ストアIOPhysicalVerbose

com.bea.core.debug.DebugStoreXA

ストアXA

com.bea.core.debug.DebugStoreXAVerbose

ストアXAVerbose

com.bea.core.debug.servicehelper.dumpstack

サービス・ヘルパーがタイムアウトしたときにスタック・トレースをダンプします。

次の項では、これらのOracle Event Processingデバッグ・オプションの使用方法を説明します。

- 構成ファイルを使用したデバッグ・オプションの構成

Log4jロギングを使用している場合は、「Log4jロギングのデバッグ」も参照してください。

14.8.1 構成ファイルを使用したデバッグ・オプションの構成

この項では、構成ファイルを使用してデバッグ・オプションを構成する手順を説明します。

構成ファイルからデバッグを構成するには、次の手順を実行します。

この手順では、Oracle Event Processingサーバーconfig.xmlファイルのSimple Declarative Services (SDS)デバッグ(表14-6からのcom.bea.core.debug.DebugSDS)をオンにします。

構成ファイルを使用したデバッグ・オプションの構成

1. 表14-6でDebugSDSフラグを検索します。

com.bea.core.debug.DebugSDS

2. フラグ名からcom.bea.core.debug.パッケージ名を省略してXMLタグを作成します。

<DebugSDS></DebugSDS>

3. 手順5に示すとおり、Oracle Event Processingサーバーのconfig.xmlファイルを編集して、debug要素とともにdebug-properties子要素を追加します。

4. 手順5に示すとおり、DebugSDS要素をdebug-properties要素に追加します。

5. 次の例に示すとおり、DebugSDS要素をtrueに設定して、このデバッグ・フラグを有効にします。

<config>
<debug>
<debug-properties>
<DebugSDS>true</DebugSDS>
</debug-properties>
</debug>
</config>

6. 手順6に示すとおり、logging-service要素のlogger-severityをDebugに設定します。

7. 次の例に示すとおり、log-stdout要素のstdout-severityをDebugに設定します。

<config>
<debug>
<debug-properties>
<DebugSDS>true</DebugSDS>
</debug-properties>
</debug>

<logging-service>
<logger-severity>Debug</logger-severity>
<stdout-config>logStdout</stdout-config>
<log-file-config>logFile</log-file-config>
</logging-service>

<log-file>
<name>logFile</name>
<log-file-severity>Debug</log-file-severity>
<number-of-files-limited>true</number-of-files-limited>
<rotated-file-count>4</rotated-file-count>
<rotate-log-on-startup-enabled>true</rotate-log-on-startup-enabled>
</log-file>

<log-stdout>
<name>logStdout</name>
<stdout-severity>Debug</stdout-severity>
</log-stdout>
</config>

コマンド・リファレンス

この項には、コマンド・リファレンスのセクションへのリンクを示します。

「コマンド・リファレンス」は、次の付録で構成されています。

- wlevs.Adminコマンドライン・リファレンスについて

- デプロイヤ・コマンドライン・リファレンス

- セキュリティ・ユーティリティ・コマンドライン・リファレンス

A wlevs.Adminコマンドライン・リファレンスについて

wlevs.Adminを使用して、Oracle Event Processingの管理、Oracle Continuous Query Language (Oracle CQL)プロセッサのルールの動的構成、およびイベントの待機時間とスループットの監視を実行できます。

この付録の内容は次のとおりです。

- wlevs.Adminユーティリティの概要

- wlevs.Adminユーティリティ環境の構成

- wlevs.Adminユーティリティのリモート実行

- SSLモードでのwlevs.Adminユーティリティの実行

- wlevs.Adminユーティリティを呼び出すための構文

- 接続引数

- ユーザー資格証明の引数

- 共通引数

- HELPコマンド

- SHUTDOWNコマンド

- Oracle CQLルールを管理するためのコマンド

- MBeanを管理するためのコマンド

- イベントの記録および再生を制御するためのコマンド

- スループットおよび待機時間をモニタリングするためのコマンド

- 構成履歴を管理するためのコマンド

A.1 wlevs.Adminユーティリティの概要

wlevs.Adminユーティリティはコマンドライン・インタフェースであり、Oracle Event Processingを管理し、Oracle CQLプロセッサのルールを動的に構成して、アプリケーションのイベント待機時間およびスループットを監視します。このユーティリティは、JMXを使用してサーバーとデプロイされたアプリケーションの構成およびランタイムMBeanに対して問い合せます。

Oracle Event Processing構成フレームワークにより、アプリケーションとサーバー構成に対する複数のユーザーによる同時変更が可能になります。フレームワークは、この同時実行性を管理するためにロック処理は使用しませんが、オプティミスティック・バージョン・ベース同時実行性を使用します。これは、2人のユーザーが常に更新対象の同一オブジェクトの構成を表示できますが、1人のユーザーのみがそれらに対する変更を確定できることを意味します。同じ構成オブジェクトを更新しようとすると、他のユーザーにはエラーが表示され、更新された構成を表示するためにはセッションをリフレッシュする必要があります。

それぞれのwlevs.Adminユーティリティ・コマンドは独自のトランザクションで実行します。各コマンドの実行後に暗黙的に確定されるということになります。複数の構成変更を1回のトランザクションで一括処理する場合は、wlevs.Adminユーティリティを使用せず、JMXを使用して直接変更を実行します。

A.2 wlevs.Adminユーティリティ環境の構成

wlevs.Adminユーティリティを使用する前に、環境を適切に構成する必要があります。

wlevs.Adminユーティリティ環境の構成

1. 管理対象ドメインのJMX接続を構成します。「JMX」を参照してください。

2. 次のいずれかの方法でCLASSPATHを設定します。

- ユーティリティの実行時に-jar引数を使用して、CLASSPATHを暗黙的に設定します。
-jar引数を/Oracle/Middleware/my_oep/oep/bin/wlevsadmin.jarファイルに設定します。

-jar引数を使用するとき、コマンドラインでwlevs.Adminユーティリティ名は指定しないでください。次に例を示します。

java -jar d:/Oracle/Middleware/my_oep/oep/bin/wlevsadmin.jar
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
UPLOAD -application helloworld -processor helloworldProcessor
-sourceURL file:///d:/test/newrules2.xml

- 次のファイルをCLASSPATH環境変数に追加して、明示的にCLASSPATHを更新します。

/Oracle/Middleware/my_oep/oep/bin/wlevsadmin.jar
/Oracle/Middleware/my_oep/oep/bin/wlevs.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.deployment.server_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.ede_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.management_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.jndi.context_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.jmx_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.rmi_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.i18n_3.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.diagnostics.core_4.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/javax.xml.stream_1.1.1.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.bootbundle_13.0.0.0.jar

A.3 リモートでwlevs.Adminユーティリティの実行

Oracle Event Processingをインストールして実行しているコンピュータとは別のコンピュータでwlevs.Adminユーティリティを実行できます。

wlevs.Adminユーティリティのリモート実行

1. Oracle Event Processingがインストールされているコンピュータからwlevs.Adminを実行するコンピュータに、次のJARファイルをコピーします。JARファイルのコピー先のディレクトリ名は、任意の名前とすることができます。

/Oracle/Middleware/my_oep/oep/bin/wlevsadmin.jar
/Oracle/Middleware/my_oep/oep/bin/wlevs.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.deployment.server_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.ede_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/oep/modules/com.bea.wlevs.management_12.1.2.0_0.jar
/Oracle/Middleware/my_oep/wlsever/modules/com.bea.core.jndi.context_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.jmx_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.rmi_8.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.i18n_3.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/com.bea.core.diagnostics.core_4.0.0.0.jar
/Oracle/Middleware/my_oep/wlserver/modules/javax.xml.stream_1.1.1.0.jar

2. 次のいずれかの方法でCLASSPATHを設定します。

- ユーティリティの実行時に-jar引数を使用して、CLASSPATHを暗黙的に設定します。引数をNEW_DIRECTORY/wlevsadmin.jarファイルに設定し、ここでNEW_DIRECTORYは、必要なJARファイルをコピーしたリモート・コンピュータ上のディレクトリを示します。-jar引数を使用するとき、コマンドラインでwlevs.Adminユーティリティ名は指定しないでください。

- リモート・コンピュータへコピーしたすべてのファイルをCLASSPATH環境変数に追加して、明示的にCLASSPATHを更新します。

3. 「SSLモードでのwlevs.Adminユーティリティの実行」で説明されているように、wlevs.AdminユーティリティをSSLモードで実行します。

A.4 SSLモードでのwlevs.Adminユーティリティの実行

wlevs.Adminコマンドライン・ユーティリティを使用するときにSSLを使用するには、最初に信頼キー・ストアを作成する必要があります。

詳細は、「ネットワーク・トラフィックを保護するためのSSL」を参照してください。

SSLモードでのwlevs.Adminユーティリティの実行

1. Oracle Event Processingサーバーが起動していない場合は、起動します。

「サーバーの起動と停止」を参照してください。

2. sslディレクトリに変更します。

デフォルトでは、sslディレクトリはOracle/Middleware/my_oep/user_projects/domains/<domainname>/<servername>にあります。

3. 次のコマンドを1行に指定して信頼キー・ストアを生成します。

java -classpath Oracle\Middleware\my_oep\oep\
common\lib\evspath.jar;Oracle\Middleware\my_oep\oep\utils\security\
wlevsgrabcert.jar com.bea.wlevs.security.util.GrabCert host:secureport
-alias=alias truststorepath

host: myServer2が動作しているコンピュータ。

secureport: myServer2用に構成されたSSLネットワークI/Oポート。デフォルト値は9003です。詳細は、「SSLの手動での構成」を参照してください。

alias: 信頼キー・ストアの証明書の別名。デフォルト値はホスト名です。

truststorepath: 生成される信頼キー・ストア・ファイルのフル・パス名。デフォルトはevstrust.jksです。

次に例を示します。

java -classpath C:\Oracle\Middleware\my_oep\oep\
common\lib\evspath.jar;C:\Oracle\Middleware\my_oep\utils\security\
wlevsgrabcert.jar com.bea.wlevs.security.util.GrabCert myServer2:9003 -alias=myServer2 evstrust.jks

4. 次のプロパティを使用して、次の例で示されるようにURLにセキュア・ポートを指定します。

-Djavax.net.ssl.trustStore: 前述の手順で作成した信頼キー・ストア・ファイルの名前。

-Djavax.net.ssl.trustStorePassword: 信頼キー・ストア・ファイルのパスワード。

java -Djavax.net.ssl.trustStore=clitrust.jks
-Djavax.net.ssl.trustStorePassword=secret
-jar wlevsadmin.jar
-url service:jmx:msarmis://localhost:9003/jndi/jmxconnector
-username wlevs -password wlevs
SHUTDOWN -scheduleAt 600

A.5 wlevs.Adminユーティリティを呼び出すための構文

このトピックでは、wlevs.Adminユーティリティを使用するための構文を説明します。

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
COMMAND-NAME command-arguments

コマンド名と引数では、大文字と小文字は区別されません。

次の項では、wlevs.Adminユーティリティに指定できる引数に関する構文の詳細情報を説明します。

- 接続引数

- ユーザー資格証明の引数

- 共通引数

次の項では、wlevs.Adminユーティリティのサポートされているコマンドに関する構文の詳細情報を説明します。

- HELPコマンド

- SHUTDOWNコマンド

- Oracle CQLルールを管理するためのコマンド

- MBeanを管理するためのコマンド

- イベントの記録および再生を制御するためのコマンド

- スループットおよび待機時間をモニタリングするためのコマンド

A.5.1 環境の例

次の各項にある多くの例で、環境の設定は次のとおりです。

- Oracle Event Processingサーバー・インスタンスは、ポート9002でJMXリクエストをリスニングします。

- Oracle Event Processingサーバー・インスタンスは、arielという名前のホスト・マシン上にインストールされ、このホスト名をリスニング・アドレスに使用します。

- wlevsというユーザー名には、システム管理者権限が与えられており、管理者パスワードにはwlevsが使用されます。

また、すべての例は複数行に表示されています。コマンドを実行するときは、すべての引数およびコマンドを1行に入力してください。

A.5.2 wlevs.Adminによって戻された終了コード

すべてのwlevs.Adminコマンドは、コマンドが成功したときは終了コード0を返し、コマンドが失敗したときは終了コード1を返します。

Windowsコマンド・プロンプトから終了コードを表示するには、wlevs.Adminコマンドの実行後にecho %ERRORLEVEL%と入力します。bashシェルで終了コードを表示するには、echo $?と入力します。

wlevs.Adminは、コマンドの処理中に例外が発生したときはSystem.exit(1)を呼び出し、これによってAntおよび他のJavaクライアントJVMが終了します。

A.6 接続引数

ほとんどのwlevs.Adminコマンドを起動するときには、このトピックの引数を指定してOracle Event Processingサーバー・インスタンスに接続する必要があります。

java wlevs.Admin
[ {-url URL} | -protocol protocol | {-listenAddress hostname -listenPort port} ]
[ User Credentials Arguments ]
[ Common Arguments ]
COMMAND-NAME command-arguments

表A-1 接続引数

引数

定義

-url service:jmx:msarmi://host:port/jndi/jmxconnector

管理する対象のOracle Event ProcessingインスタンスとのJMX接続を確立するURLを指定します。説明:

- hostは、Oracle Event Processingインスタンスが稼働中のコンピュータ名を示します

- portは、Oracle Event ProcessingサーバーのJNDIポートを示します

この引数を使用する場合、-listenAddressも-listenPortも指定しないでください。

host以外に、記述されているとおりに残りのURLを指定します。

たとえば、Oracle Event Processingがarielというホスト名のコンピュータで実行されており、JMXリスニング・ポートが9002である場合、URLは次のようになります。

-url service:jmx:msarmi://ariel:9002/jndi/jmxconnector

Oracle Event ProcessingのJMX、JNDI、およびRMIの構成に関する詳細は、「JMX」を参照してください。

-listenAddress hostname

Oracle Event Processingインスタンスが稼働中のコンピュータ名を指定します。この引数は、-listenPortとともに、管理対象のサーバーへのJMX接続を確立するURLを構築するために使用されます。

この引数は、-urlのかわりに、-listenPortとともに使用します。

たとえば、Oracle Event Processingがarielというホスト名のコンピュータ上で稼働している場合、この引数は次のようになります。

-listenAddress ariel

-listenPort port

JMX接続をリスニングするOracle Event Processingに構成されたポートを指定します。この引数は、-listenAddressとともに、管理対象のサーバーへのJMX接続を確立するURLを構築するために使用されます。

この引数は、-urlのかわりに、-listenAddressとともに使用します。

JMXポートは、管理対象のOracle Event Processingドメインのconfig.xmlファイルで構成されます。特に、このポートは次に示すように<netio>要素の<port>子要素です。

<netio>
<name>NetIO</name>
<port>9002</port>
</netio>

たとえば、このポートが9002なら、引数として次のように指定します。

-listenPort 9002

Oracle Event ProcessingのJMX、JNDI、およびRMIの構成に関する詳細は、「JMX」を参照してください。

A.7 ユーザー資格証明の引数

ほとんどのwlevs.Adminコマンドを起動するときには、このトピックの引数を指定し、コマンドを起動する権限を持つOracle Event Processingユーザーのユーザー資格証明を提供する必要があります。Oracle Event Processingドメインに対してセキュリティが有効になっていない場合には、ユーザー資格証明を入力する必要はありません。

java wlevs.Admin
[ Connection Arguments ]
[ -username username [-password password] ]
[ Common Arguments ]
COMMAND-NAME command-arguments

表A-2 ユーザー資格証明の引数

引数

定義

-username username

コマンドを発行するユーザーの名前。このユーザーには、コマンドのターゲットを表示または変更するための適切な許可が必要です。

-password password

このユーザー名に関連付けられたパスワード。

注意:

すべてのコマンドについて、wlevs.Adminユーティリティがサーバーに接続できないとき、またはOracle Event Processingサーバー・インスタンスでユーザー名とパスワードが拒否されたとき、終了コードは1になります。

A.8 共通引数

この項では共通引数を示します。

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ -verbose ]
COMMAND-NAME command-arguments

すべてのwlevs.Adminコマンドは、詳細出力を取得するために表A-3の引数をサポートしています。

表A-3 共通引数

引数

定義

-verbose

wlevs.Adminが追加の詳細情報を出力することを指定します。

A.9 HELPコマンド

HELPコマンドでは、すべてのOracle Event Processingコマンドについて、またはHELPコマンド・ラインに値としてコマンドを指定した場合は単一のコマンドについて、構文と使用方法に関する情報を表示します。

このコマンドは、Oracle Event Processingがインストールされている任意のコンピュータで発行できます。このコマンドを呼び出すためにサーバー・インスタンスを起動する必要はなく、また、サーバーに対してセキュリティが有効になっているときでも、ユーザー資格証明を入力する必要はありません。

構文

java wlevs.Admin HELP [COMMAND]

COMMAND引数は次のとおりになります。

- キーワードALLは、すべてのコマンドの使用情報を戻します。

- キーワードMBEAN、RULES、またはLIFECYCLEのいずれかで、3つの異なるグループのコマンドに関する使用情報を戻します。

- UPLOADなどのコマンドで、特定のコマンドに関する使用情報を戻します。

例

次の例では、UPLOADコマンドの使用法に関する情報をリクエストしています。

java wlevs.Admin HELP UPLOAD

コマンドは次の出力を返します。

Description:
Uploads rules to be configured in the processor.

Usage:
java wlevs.Admin
[-url | -listenAddress <host-name> -listenPort <port>]
-username <username> -password <password>
UPLOAD -application <application name> -processor <processor name> -sourceURL "source url"

Where:
-application = Name of the application.
-processor = Name of the processor.
-sourceURL = source URL containing the rules in an XML format.

java wlevs.Admin -url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs UPLOAD -application myapplication
-processor processor -sourceURL file:/d:/test/rules.xml

A.10 SHUTDOWNコマンド

SHUTDOWNコマンドは、指定されたOracle Event Processingサーバー・インスタンスを正常に停止することによって、サーバー・インスタンスのライフ・サイクルを管理します。正常な停止では、進行中の特定のアプリケーションの処理を完了する時間がOracle Event Processingに与えられます。

-url接続引数は、hostおよびjmxportの値に基づいて、停止する特定のOracle Event Processingサーバー・インスタンスを指定します。詳細は、「接続引数」を参照してください。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SHUTDOWN [-scheduleAt seconds]

表A-4 SHUTDOWN引数

引数

定義

-scheduleAt seconds

Oracle Event Processingインスタンスが停止するまでの秒数を指定します。

このパラメータを指定しない場合、サーバー・インスタンスはただちに停止します。

例

次の例は、指定したOracle Event Processingインスタンスを10分後に停止することを指示しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SHUTDOWN -scheduleAt 600

コマンドの発行後に、サーバー・インスタンスはログ・ファイルと標準出力にメッセージを出力します。メッセージには、サーバーの状態が変更されることと停止シーケンスが開始されることが示されます。

A.11 Oracle CQLルールを管理するためのコマンド

この項では、Oracle CQLルールを管理するコマンドを示します。

表A-5は、Oracle Event Processingアプリケーションの特定プロセッサのOracle CQLルールを管理するコマンドの概要です。

表A-5 アプリケーションのOracle CQLルールを管理するためのコマンドの概要

コマンド

説明

GETRULE

Oracle Event Processingアプリケーションのプロセッサの既存のOracle CQLルール、問合せ、またはビューのテキストを戻します。

ADDRULE

新規Oracle CQLルール、問合せ、またはビューをOracle Event Processingアプリケーションのプロセッサに追加します。

DELETERULE

既存のOracle CQLルール、問合せ、またはビューをOracle Event Processingアプリケーションのプロセッサから削除します。

REPLACERULE

既存Oracle CQLルール、問合せ、またはビューを新規Oracle CQLテキストに置換します。

STARTRULE

以前に停止したOracle CQLルールまたは問合せを開始します。

STOPRULE

以前に開始したOracle CQLルールまたは問合せを停止します。

UPLOAD

コンポーネント構成XMLファイルからルールをアップロードして、Oracle CQLルール、問合せ、またはビューのセットをOracle Event Processingアプリケーションのプロセッサに構成します。

DOWNLOAD

Oracle Event Processingアプリケーションのプロセッサに関連付けられたOracle CQLルール、問合せ、またはビューのセットをコンポーネント構成XMLファイルにダウンロードします。

A.11.1 GETRULE

Oracle Event Processingアプリケーションの指定されたOracle CQLプロセッサからOracle CQLルール、問合せ、またはビューの全文を戻します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GETRULE -application application -processor processor -rule rulename

表A-6 GETRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(「Oracle Event Processingビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

参照するOracle CQLルール、問合せ、またはビューの名前を指定します。

ルール、問合せ、またはビューの名前が不明な場合は、それに対して問い合せるための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のプロセッサのルール・リストも取得できます。

例

次の例は、myviewというOracle CQLビューの全文をhelloworldアプリケーションのOracle CQL helloworldProcessorから取得する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GETRULE -application helloworld -processor helloworldProcessor
-rule myview

A.11.2 ADDRULE

新規Oracle CQLルール、問合せ、またはビューをOracle Event Processingアプリケーションの指定されたプロセッサに追加します。同一名のルール、問合せ、またはビュー(rulename、queryname、またはviewnameパラメータで識別される)がすでに存在する場合、ADDRULEコマンドが既存のルール、問合せ、またはビューを新規のものに置換します。

注意:

Oracle CQL問合せは、その入力チャネルが入力イベントを提供すると、すぐにイベントの出力を開始します。チャネル上で問合せセレクタとアップストリームOracle CQLプロセッサを併用する場合、問合せをアップストリームOracle CQLプロセッサに追加する時刻と、ダウンストリーム・チャネル上で問合せセレクタを構成する時刻との間で、ダウンストリーム・チャネル上で要求していない問合せ結果を観察する場合があります。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
ADDRULE -application application -processor processor
-rule  [rulename]  rulestring  |
-query [queryname] querystring |
-view  [viewname]  viewstring [-schema comma-separated-names]
[-active true | false]

表A-7 ADDRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(「Oracle Event Processingビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule [rulename] rulestring

アプリケーションの指定プロセッサに追加するOracle CQLルールを指定します。Oracle CQLルールには次が含まれます。

- REGISTER|CREATE FUNCTION (集計および単一行関数)

- REGISTER|CREATE WINDOW

rulenameパラメータは不要です。これを指定しない場合、Oracle Event Processingが名前を生成します。

Oracle CQLのrulestringを二重引用符で囲んで入力します。

-query [queryname] querystring

アプリケーションの指定プロセッサに追加するOracle CQL問合せを指定します。

querynameパラメータは不要です。これを指定しない場合、Oracle Event Processingが名前を生成します。

Oracle CQLのquerystringを二重引用符で囲んで入力します。

-view [viewname] viewstring [-schema comma-separated-names]

アプリケーションの指定プロセッサに追加するOracle CQLビューを指定します。

viewnameパラメータは不要です。これを指定しない場合、Oracle Event Processingが名前を生成します。

Oracle CQLのviewstringを二重引用符で囲んで入力します。

comma-separated-namesパラメータは不要です。これを指定しない場合、Oracle Event ProcessingがviewstringのSELECT文に基づいてスキーマを生成します。

-active true | false

ルールが開始され、追加後にイベントを処理する準備ができているかどうかを指定します。

この引数の有効な値はtrue (追加後にルールを開始)またはfalse (追加後にルールを開始しない)で、デフォルト値はtrueです。falseに設定する場合、STARTRULEを使用してルールを開始します。

例

次の例では、Oracle CQL問合せSELECT * FROM Withdrawal [Rows 5]を、myqueryという名前で、helloworldアプリケーションのOracle CQLプロセッサhelloworldProcessorに追加する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
ADDRULE -application helloworld -processor helloworldProcessor
-query myquery "SELECT * FROM Withdrawal [Rows 5]"

A.11.3 DELETERULE

既存のOracle CQLルールをOracle Event Processingアプリケーションの指定プロセッサから削除します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETERULE -application application -processor processor -rule rulename

表A-8 DELETERULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(「Oracle Event Processingビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

削除するOracle CQLルール、問合せ、またはビューの名前を指定します。

ルール名が不明な場合は、それを問い合せるための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

例

次の例は、myviewというOracle CQLビューをhelloworldアプリケーションのOracle CQL helloworldProcessorから削除する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DELETERULE -application helloworld -processor helloworldProcessor -rule myview

A.11.4 REPLACERULE

既存のOracle CQLルール、問合せ、またはビューを別のルール、問合せ、またはビューに置換します。Oracle Event Processingは、最初に元のルール、問合せ、またはビューを破棄してから、新規のものをそれぞれの場所に挿入します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
REPLACERULE -application application -processor processor
-rule rulename rulestring

表A-9 REPLACERULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(Oracle Event Processing 「Oracle Event Processingのビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename rulestring

置換するOracle CQLルール、問合せ、またはビューの名前を指定します。Oracle Event Processingは、古いルール、問合せ、またはビューを削除してから、新規のものを同一の名前で、ただしルール・テキストは新規にして挿入します。ビューの場合、Oracle Event ProcessingはrulestringのSELECT文に基づいてスキーマを生成します。

Oracle CQLのrulestringを二重引用符で囲んで入力します。

例

次の例では、myqueryというOracle CQL問合せを、helloworldアプリケーションのOracle CQL helloworldProcessorのOracle CQLテキストSELECT * FROM Withdrawal [Rows 10]に置換する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
REPLACERULE -application helloworld -processor helloworldProcessor
-rule myquery "SELECT * FROM Withdrawal [Rows 10]"

A.11.5 STARTRULE

Oracle Event Processingアプリケーションの指定プロセッサで以前に停止された既存のOracle CQLルールまたは問合せを開始します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTRULE -application application -processor processor -rule rulename

表A-10 STARTRULE引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(Oracle Event Processing 「Oracle Event Processingのビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

開始するOracle CQLルールまたは問合せの名前を指定します。

注意: ビューの停止と開始はできません。ビューは常にアクティブです。

ルール名が不明な場合は、それを問い合せるための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

例

次の例は、myqueryというOracle CQL問合せをhelloworldアプリケーションのOracle CQL helloworldProcessorから開始する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTRULE -application helloworld -processor helloworldProcessor -rule myquery

A.11.6 STOPRULE

Oracle Event Processingアプリケーションの指定プロセッサで以前に開始された既存のOracle CQLルールまたは問合せを停止します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPRULE -application application -processor processor -rule rulename

表A-11 STOPRULE引数

引数

定義

-application application

管理対象のOracle CQLルールまたは問合せを持つOracle Event Processingアプリケーション名を指定します。

完全一致アプリケーション名が現在不明な場合、それを取得するためのwlevs.Adminの使用に関する詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

また、アプリケーションのMANIFEST.MFファイルを参照すると、完全一致アプリケーション名を取得できます。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルール、問合せ、およびビューが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-rule rulename

停止するOracle CQLルールまたは問合せの名前を指定します。

注意: ビューの停止と開始はできません。ビューは常にアクティブです。

ルール名が不明な場合は、それを問い合せるための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。また、DOWNLOADコマンドを使用して特定のOracle CQLプロセッサのルール、問合せ、またはビューのリストも取得できます。

例

次の例は、myqueryというOracle CQL問合せをhelloworldアプリケーションのOracle CQL helloworldProcessorから停止する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPRULE -application helloworld -processor helloworldProcessor -rule myquery

A.11.7 UPLOAD

指定プロセッサに構成されたOracle CQLルールを、アップロードされたコンポーネント構成ファイルのOracle CQLルールに置換します。

Oracle CQLルールのリストが含まれるコンポーネント構成ファイルは、コンポーネント構成ファイルのスキーマに準拠しています(Oracle Event Processingスキーマ・リファレンスを参照してください)。このファイルには、指定プロセッサに現在構成されているルールを置換する1つ以上のOracle CQLルールが含まれます。そのようなコンポーネント構成ファイルの例は、次のとおりです。

<?xml version="1.0" encoding="UTF-8" ?>
<config>
<processor>
<name>helloworldProcessor</name>
<rules>
<query id="helloworldRule1">
<![CDATA[  SELECT * FROM HelloWorldEvent [Rows 2] >
</query>
</rules>
</processor>
</config>

前述の例では、コンポーネント構成ファイルは、helloworldRule1という名前の単一の Oracle CQL問合せを構成し、そのOracle CQL問合せテキストはSELECT * FROM HelloWorldEvent [Rows 2]です。

注意:

wlevs.AdminユーティリティのUPLOADコマンドを使用するとき、他のOracle CQLコマンドを実行するときと同様に、-processor引数を使用して、Oracle CQLプロセッサ名をOracle CQLルールの追加先に指定します。これは、ネーミング競合を避けるために、ユーティリティがコンポーネント構成ファイル内の任意の<name>要素を無視することを意味します。

コンポーネント構成ファイルの作成の詳細と例は、『Oracle Event Processingアプリケーションの開発』を参照してください。

「DOWNLOAD」で説明されているように、DOWNLOADコマンドを使用して、プロセッサのコンポーネント構成ファイルのコピーを取得できます。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
UPLOAD -application application -processor processor -sourceURL sourcefileURL

表A-12 UPLOAD引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(Oracle Event Processing 「Oracle Event Processingのビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のOracle CQLプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-sourceURL sourcefileURL

次の形式のOracle CQLルールを含むコンポーネント構成ファイルのURLを指定します。

file:///path-to-file

例

次の例は、Oracle CQLルールをc:\processor\config\myrules.xmlファイルからhelloworldアプリケーションのOracle CQL helloworldProcessorへアップロードする方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
UPLOAD -application helloworld -processor helloworldProcessor
-sourceURL file:///c:/processor/config/myrules.xml

A.11.8 DOWNLOAD

Oracle Event Processingアプリケーションの指定されたOracle CQLプロセッサに関連付けられたOracle CQLルール・セットを、XMLコンポーネント構成ファイルにダウンロードします。

このXMLファイルは、「UPLOAD」で説明されているのと同一の形式です。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DOWNLOAD -application application -processor processor
-file destinationfile [-overwrite overwrite]

表A-13 DOWNLOAD引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します: Oracle Event Processing Visualizerを起動します(「Oracle Event Processingビジュアライザの使用」を参照)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-processor processor

特定のプロセッサ名を指定します。このプロセッサは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのOracle CQLルールが管理対象となります。

完全一致名が不明な場合は、それを取得するための詳細は、「アプリケーションおよびプロセッサの名前の問合せ」を参照してください。

-file destinationfile

wlevs.Adminユーティリティを使用してOracle CQLルールをダウンロードする先のコンポーネント構成XMLファイル名を指定します。

必ずファイルのフル・パス名を指定してください。

-overwrite overwrite

wlevs.Adminユーティリティが既存ファイルをオーバーライドするかどうかを指定します。

この引数の有効な値は、trueまたはfalseで、デフォルト値はfalseです。

例

次の例では、helloworldアプリケーションのOracle CQL helloworldProcessorに付属のOracle CQLルール・セットを、c:\processor\config\myrules.xmlファイルへダウンロードする方法を示します。ユーティリティは任意の既存ファイルをオーバーライドします。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
DOWNLOAD -application helloworld -processor helloworldProcessor
-file c:\processor\config\myrules.xml -overwrite true

A.12 MBeanを管理するためのコマンド

この項では、MBeanを管理するコマンドを示します。

次の項は、Oracle Event Processing MBeanを管理するためのwlevs.Adminコマンドを説明します。

- MBeanタイプの指定

- MBean管理コマンド

Oracle Event Processing MBeanの詳細な説明は、Oracle Stream Analytics Java APIリファレンスを参照してください。

A.12.1 MBeanタイプの指定

アクセス、表示、または変更する対象のMBean(1つまたは複数)を指定するには、すべてのMBean管理コマンドで、-mbean引数または-type引数を指定する必要があります。

MBeanの単一のインスタンスを操作する場合は、-mbean引数を使用します。

-type引数を使用すると、指定するタイプのインスタンスであるすべてのMBeanに作用します。MBeanのタイプは、MBeanがインスタンスであるインタフェース・クラスを示します。すべてのOracle Event Processing MBeanは、com.bea.wlevs.management.configuration、com.bea.wlevs.management.runtime、com.bea.wlevs.deployment.mbeanおよびcom.bea.wlevs.server.management.mbeanパッケージで定義されたインタフェース・クラスのいずれかのインスタンスです。すべてのOracle Event Processing MBeanインタフェース・クラスの完全なリストは、それぞれのパッケージのOracle Stream Analytics Java APIリファレンスを参照してください。

-type引数に付与する値を決定するには、次の手順を実行します。MBeanのインタフェース・クラスを検索し、MBean接尾辞をクラス名から削除します。たとえば、com.bea.wlevs.management.configuration.CQLProcessorMBeanのインスタンスであるMBeanには、CQLProcessorを使用します。

A.12.2 MBean管理コマンド

表A-14は、MBean管理コマンドの概要です。

表A-14 MBean管理コマンドの概要

コマンド

説明

GET

MBeanのプロパティを表示します。

INVOKE

基になるリソースに対して公開されているMBeanの管理操作を呼び出します。

QUERY

指定するパターンにObjectNameが一致するMBeanを検索します。

SET

指定したMBeanインスタンスに対して、指定したプロパティ値を設定します。

A.12.3 GET

MBeanプロパティおよびJMXオブジェクト名を、http://docs.oracle.com/javase/7/docs/api/javax/management/ObjectName.htmlで説明されている形式で表示します。

コマンドの出力は次のとおりです。

{MBeanName object-name {property1 value} {property2 value}. . .}
. . .

プロパティと値は名前と値のペアとして表され、各ペアは中カッコで囲まれています。この形式によって、スクリプトによる出力の解析が容易になります。

-prettyが指定される場合、それぞれのプロパティと値のペアは新しい行に表示され、ペアの区切りに中カッコは使用されません。

MBeanName: object-name
property1: value
property2: value
.
.
.
MBeanName: object-name
property1: value
abbribute2: value

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
GET [-pretty] {-type mbeanType| -mbean objectName} [-property property1] [-property property2]...

表A-15 GET引数

引数

定義

-type mbeanType

指定したタイプのすべてのMBean情報を戻します。詳細は、「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

たとえば、プロセッサ・ステージのMBeanを参照する場合、ネーミングは次のとおりになります(実際には、文字列は1行にする必要があります)。

"com.bea.wlevs:Name=<name of the Stage>,Type=<type of Mbean>,
Application=<name of the application>"

-pretty

プロパティと値のペアを1行に1組ずつ配置します。

-property property

リストする1つまたは複数のMBeanプロパティ(属性)の名前を指定します。

-propertyが指定されていない場合、すべてのプロパティが表示されます。

例

次の例は、helloworldというアプリケーションがOracle Event Processingにデプロイされたとき、プロセッサ・ステージに登録されたCQLProcessorMBeanのすべてのプロパティを示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GET -pretty
-mbean com.bea.wlevs:Name=cqlprocessor,Type=CQLProcessor,Application=helloworld

次の例は、すべてのCQLProcessorMBean MBeanのすべてのインスタンスを示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
GET -pretty -type CQLProcessor

A.12.4 INVOKE

1つ以上のMBeanの管理操作を起動します。Oracle Event Processing MBeanでは、通常このコマンドを使用して大半のOracle Event Processing MBeanが付与するgetAttributeおよびsetAttribute以外の操作を起動します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
INVOKE {-type mbeanType | -mbean objectName} -method methodname [argument . . .]

表A-16 INVOKE引数

引数

定義

-type mbeanType

特定のタイプのすべてのMBeanに対する操作を起動します。詳細は、「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

たとえば、プロセッサ・ステージのMBeanを呼び出す場合、名前の指定は次のようになります。

"com.bea.wlevs:Name=<name of the Stage>,Type=<type of Mbean>, Application=<name of the application>"

-method methodname

呼び出すメソッドの名前。

argument

メソッド呼出しに渡される引数。

引数がString配列である場合は、次の形式で引数を渡す必要があります。

"String1;String2;. . . "

例

次の例は、MBean com.bea.wlevs.management.configuration.CQLProcessorMBeanのaddRuleメソッドを起動します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
INVOKE -mbean com.bea.wlevs:Name=cqlprocessor,Type=CQLProcessor,Application=helloworld
-method addRule "SELECT * FROM Withdrawal RETAIN ALL"

A.12.5 QUERY

次のObjectNameクラスの規則に従って指定したパターンと一致するパターンのOracle Event Processing MBeanを検索します: http://docs.oracle.com/javase/1.5.0/docs/api/javax/management/ObjectName.html

ObjectNameクラスの規則に準拠する名前でMBeanサーバーに登録されるOracle Event Processing MBeanタイプから作成されるすべてのMBean。特定のMBeanインスタンスを取得または変更するためにwlevs.Adminコマンドを使用するには、MBeanのObjectNameを把握する必要があります。

コマンドの出力は次のとおりです。

{MBeanName object-name {property1 value} {property2 value}. . .}
. . .

プロパティと値は名前と値のペアとして表され、各ペアは中カッコで囲まれています。この形式によって、スクリプトによる出力の解析が容易になります。

-prettyが指定される場合、それぞれのプロパティと値のペアは新しい行に表示され、ペアの区切りに中カッコは使用されません。

MBeanName: object-name
property1: value
property2: value
.
.
.
MBeanName: object-name
property1: value
abbribute2: value

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
QUERY -pretty -pattern object-name-pattern

表A-17 QUERY引数

引数

定義

-pretty

プロパティと値のペアを1行に1組ずつ配置します。

-pattern object-name-pattern

QUERYコマンドの検索対象のhttp://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlの一部。この値は次のパターンに準拠する必要があります。

property-list

ここで、property-listはhttp://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.htmlの1つ以上のコンポーネント(プロパティと値のペア)を指定します。

プロパティと値のペアは任意の順序で指定できます。

指定したプロパティと値のペアの内部ではパターン・マッチングは行われません。完全なプロパティと値のペアのみがパターン・マッチングで使用されます。ただし、1つまたは複数のプロパティと値のペアのかわりに、*ワイルドカード文字を使用できます。

たとえば、type=epl*は有効ではありませんが、type=CQLProcessor,*は有効です。

property-listのプロパティと値のペアを少なくとも1つ付与すると、property-listがまだカンマ区切りのリストである場合にかぎり、所定のパターンでワイルドカードを任意の場所で検索できます。

例

次の例は、すべてのcom.bea.wlevs.management.configuration.CQLProcessorMBean MBeanを検索します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
QUERY -pattern *:Type=CQLProcessor,*

コマンドが成功した場合、検出されたMBeanの属性を戻します(行が折り返されているのは、読みやすくするためです)。

{MBeanName="com.bea.wlevs:Name=MonitorProcessor,Type=CQLProcessor,Application=com.bea.wlevs.dataservices"{
AllRules=defaultRule = select * from DSMonitorEvent retain 1 event where metric > 10000}{
AllRulesInfo=defaultRule = {RULE_TYPE=RULE, STARTED=true, VALUE=select * from DSMonitorEvent
retain 1 event where metric > 10000, ID=defaultRule}}{Databases=}{Name=MonitorProcessor}
{NotificationInfo=[Ljavax.management.MBeanNotificationInfo;@20d319}
{ObjectName=com.bea.wlevs:Name=MonitorProcessor,Type=CQLProcessor,
Application=com.bea.wlevs.dataservices}{PlaybackConfiguration=}{PlayingBack=false}
{RecordConfiguration=}{RecordPlayback=com.bea.wlevs:Name=MonitorProcessor,
Type=RecordPlayback,Application=com.bea.wlevs.dataservices}{Recording=false}
{Type=CQLProcessor}}

A.12.6 アプリケーションおよびプロセッサの名前の問合せ

Oracle Event ProcessingアプリケーションのCQLルールを管理するためのすべてのコマンドでは、アプリケーション名とルールを適用する先の特定のプロセッサ名を把握する必要があります。通常、これらの名前は把握済ですが、把握していない場合はQUERYコマンドを使用してアプリケーションおよびその付属プロセッサを表すMBeanインスタンスから情報を取得できます。

特に、次の-pattern引数を使用すると、所定のOracle Event Processingインスタンスのすべてのアプリケーション、プロセッサ、およびルールのリストを取得できます。

-pattern  com.bea.wlevs:*,Type=CQLProcessor

次に例を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
QUERY -pretty
-pattern com.bea.wlevs:*,Type=CQLProcessor

このコマンドのサンプル出力を次に示します。

Command Output
------------------------------------------------------
MBeanName: "com.bea.wlevs:Name=helloworldProcessor,Type=CQLProcessor,Application=helloworld,"
AllRules:
helloworldRule =  select * from HelloWorldEvent retain 1 event
--end of command output --------

このサンプル出力の項目は次のとおりです。

- アプリケーション名はhelloworldです。

- helloworldアプリケーションには、helloworldProcessorというプロセッサが含まれます。

- helloworldProcessorには、helloworldRuleというルールが含まれます。

A.12.7 SET

指定したプロパティ(属性)値をMBeanに対して設定します。

コマンドが成功した場合、OKを戻してサーバー構成への新しい値を保存します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SET {-type mbeanType | -mbean objectName}
-property property1 property1_value
[-property property2 property2_value] . . .

表A-18 SET引数

引数

定義

-type mbeanType

特定のタイプのすべてのMBeanのプロパティを設定します。詳細は、「MBeanタイプの指定」を参照してください。

-mbean objectName

http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名。

"com.bea.wlevs:Name=<name of the stage>,Type=<MBean type>,Application=<name of the deployed application>"

-property property

設定されるプロパティの名前。

property _value

設定される値。

- 一部のプロパティでは、Oracle Event Processing MBeanの名前を指定する必要があります。この場合、http://java.sun.com/j2se/1.5.0/docs/api/javax/management/ObjectName.html形式のMBeanの完全修飾オブジェクト名を指定します。たとえば(実際には、文字列は1行にする必要があります)。

"com.bea.wlevs:Name=<name of the stage>,Type=<type of MBean>,
Application=<name of the application>"

- プロパティ値がMBean配列のとき、それぞれのMBeanオブジェクト名をセミコロンで区切り、プロパティ値リスト全体を引用符で囲みます。次に例を示します。

"com.bea.wlevs:Application=<name of the application>,Type=<type of MBean>,Name=<name of the Stage>;Type=<type of MBean>,Name=<name of the stage>"

- プロパティ値が文字列の配列である場合は、各文字列をセミコロンで区切り、プロパティ値のリスト全体を引用符で囲みます。

"String1;String2;. . . "

- プロパティ値が文字列または文字列の配列である場合は、次のいずれかを使用して値をnullに設定できます。

-property property-name ""
-property property-name

- プロパティ値にスペースが含まれる場合は、値を引用符で囲みます。

"-Da=1 -Db=3"

例

次の例は、helloworldアプリケーションのhelloworldOutstreamというチャネルのMaxSizeプロパティを設定する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SET -mbean com.bea.wlevs:Name=helloworldOutstream,Type=Channel,Application=helloworld
-property  MaxSize 1024

A.13 イベントの記録および再生を制御するためのコマンド

この項では、イベントの記録および再生を制御するためのコマンドについて説明します。

表A-19は、Oracle Event Processingアプリケーションの特定ステージのイベントの記録および再生を管理するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。「CONFIGURERECORD」を参照してください。

表A-19 イベントの記録および再生を制御するためのコマンドの概要

コマンド

説明

STARTRECORD

Oracle Event Processingアプリケーションのステージに対してイベントの記録を開始します。

STOPRECORD

Oracle Event Processingアプリケーションのステージに対してイベントの記録を停止します。

CONFIGURERECORD

Oracle Event Processingアプリケーションのステージに対するイベントの記録に使用するパラメータを構成します。

SCHEDULERECORD

Oracle Event Processingアプリケーションにおけるステージのイベントの記録をスケジュールします。

LISTRECORD

Oracle Event Processingアプリケーションにおけるステージのイベントの記録構成を一覧表示します。

STARTPLAYBACK

Oracle Event Processingアプリケーションのステージに対してイベントの再生を開始します。

STOPPLAYBACK

Oracle Event Processingアプリケーションのステージに対してイベントの再生を停止します。

CONFIGUREPLAYBACK

Oracle Event Processingアプリケーションのステージに対するイベントの再生に使用するパラメータを構成します。

SCHEDULEPLAYBACK

Oracle Event Processingアプリケーションにおけるステージのイベントの再生をスケジュールします。

LISTPLAYBACK

Oracle Event Processingアプリケーションにおけるステージのイベントの再生構成を一覧表示します。

A.13.1 STARTRECORD

Oracle Event Processingアプリケーションの特定のステージに対してイベントの記録を開始します。

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、最初に適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。「CONFIGURERECORD」を参照してください。

ステージを後で記録が開始されるように構成した場合、その構成は無視され、記録はすぐに開始されます。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTRECORD -application application -stage stage

表A-20 STARTRECORD引数

引数

定義

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの記録を開始する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTRECORD -application helloworld -stage helloworldAdapter

注意:

ステージでイベントの記録および再生を制御するためのコマンドを使用する前に、最初に適切なイベントの記録および再生オプションを使用してステージを構成する必要があります。「CONFIGURERECORD」を参照してください。

A.13.2 STOPRECORD

イベントの記録が以前開始されたOracle Event Processingアプリケーションのステージに関するイベントの記録を停止します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPRECORD -application application -stage stage

表A-21 STOPRECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの記録を停止する方法を示します。イベントの記録は以前に次のステージに対して開始されたと仮定します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPRECORD -application helloworld -stage helloworldAdapter

A.13.3 CONFIGURERECORD

Oracle Event Processingアプリケーションのステージに対するイベントの記録に関連したパラメータを構成します。このコマンドを使用して最初にステージのイベントの記録を構成したり、データセット名またはプロバイダ名を変更したりします。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
CONFIGURERECORD -application application -stage stage
[-datasetName datasetname]
[-storeProvider storeprovidername]
[-eventTypes eventtypes]
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-22 CONFIGURERECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-datasetName datasetname

イベントの記録先のデータセット名を指定します。

-storeProvider storeprovidername

Oracle Event Processingサーバーのconfig.xmlファイルで定義される有効なdata-sourceの名前を指定します。

デフォルトのBDBプロバイダを選択するには、この引数を空白にするか、またはdefault-providerの引数値を指定します。

詳細は、Oracle Stream Analyticsスキーマ・リファレンスを参照してください。

-eventTypes eventtypes

記録対象の有効なイベント型の名前のカンマ区切りリストを指定します。イベント型は、イベント型リポジトリで定義される必要があります。

-scheduleStartTime starttime

記録を開始する時刻を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を2013年10月20日午前11:22:07に開始するように指定するには、次の値を使用します。

10-20-2013:11:22:07

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime endtime

記録が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を2013年10月20日午後6時に終了するように指定するには、次の値を使用します。

10-20-2013:18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの記録が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

例

この項の例では、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベントの記録を構成する方法を示します。

次の例では、記録の開始および終了時刻を指定しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 10-20-2013:11:22:07 -scheduleEndTime 10-20-2013:18:00:00

次の例では、記録の開始時間および継続時間を指定しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 10-20-2013:11:22:07 -scheduleDuration 01:00:00

次の例では、nullの開始時間および継続時間を指定しており、これは、記録が永久に実行されることを意味します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGURERECORD -application helloworld -stage helloworldAdapter
-datasetName myds -storeProvider mysp
-scheduleStartTime 10-20-2013:11:22:07 -scheduleDuration null

A.13.4 SCHEDULERECORD

Oracle Event Processingアプリケーションのステージに対するイベントの記録に関連したスケジュール・パラメータを構成します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SCHEDULERECORD -application application -stage stage
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-23 SCHEDULERECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-scheduleStartTime starttime

記録を開始する時刻を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を10月20日に開始するように指定するには

(2013年午前11:22:07)、次の値を使用します。

10-20-2013:11:22:07

-scheduleEndTime endtime

記録が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を10月20日に終了するように指定するには

(2013年午後6時)、次の値を使用します。

10-20-2013:18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの記録が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

例

この項の例では、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベント記録のスケジュールを構成する方法を示します。

次の例では、記録の開始および終了時刻を指定しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SCHEDULERECORD -application helloworld -stage helloworldAdapter
-scheduleStartTime 10-20-2013:11:22:07 -scheduleEndndTime 10-20-2013:18:00:00

A.13.5 LISTRECORD

Oracle Event Processingアプリケーションの特定のステージに対するイベントの記録構成を一覧表示します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTRECORD -application application -stage stage

表A-24 LISTRECORD引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベント記録の構成を一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTRECORD -application helloworld -stage helloworldAdapter

A.13.6 STARTPLAYBACK

Oracle Event Processingアプリケーションの特定のステージのイベントの再生を開始します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STARTPLAYBACK -application application -stage stage
[-filterStartTime starttime]
[-filterEndTime endtime | -filterDuration duration]        [-speed speed]         [-repeat true | false]

表A-25 STARTPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-filterStartTime startime

この値以上の記録時間を持つイベントのみが再生に選択されるように指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午前5時以上の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

すべてのイベントを再生用に指定する場合、nullを指定します。

-filterEndTime endtime

この値以下の記録時間を持つイベントのみが再生に選択されるように指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午後6時以下の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-filterDuration duration

イベント・ストアでイベントに適用されるフィルタを指定します。フィルタ時間中に記録されたイベントのみが再生用に選択されます。すべてのイベントを再生用に指定する場合、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-speed speed

再生速度を正のfloatとして指定します。

デフォルト値は1で、これは通常速度に相当します。2の値は、イベントが元の記録速度の倍の速度で再生されることを意味します。同様に、値0.5はイベントが元の記録速度の半分の速度で再生されることを意味します。

-repeat repeat

指定された期間の再生が終了した後に、イベントをもう一度再生するかどうかを指定します。

有効な値はtrueまたはfalseです。デフォルト値はfalseです。値をtrueに指定すると、繰り返し再生は故意に停止されるまで無限の回数分継続することになります(STOPPLAYBACKを参照してください)。値をfalseに指定すると、イベントは1回のみ再生されることになります。

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの再生を開始する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STARTPLAYBACK -application helloworld -stage helloworldAdapter

A.13.7 STOPPLAYBACK

イベントの再生が以前開始されたOracle Event Processingアプリケーションのステージに関するイベントの再生を停止します。

構文

表A-26 STOPPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
STOPPLAYBACK -application application -stage stage

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベントの再生を停止する方法を示します。イベントの再生は以前に次のステージに対して開始されたと仮定します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
STOPPLAYBACK -application helloworld -stage helloworldAdapter

A.13.8 CONFIGUREPLAYBACK

Oracle Event Processingアプリケーションのステージに対するイベントの再生記録に関連したパラメータを構成します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
CONFIGUREPLAYBACK -application application -stage stage
[-datasetName datasetname]
[-storeProvider storeprovidername]
[-eventTypes eventtypes]
[-scheduleStartTime sstart]
[-scheduleEndTime send | -scheduleDuration sduration]
[-filterStartTime fstart] [-filterEndTime fend | -filterDuration fduration]
[-speed speed]
[-repeat true | false]

表A-27 CONFIGUREPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-datasetName datasetname

イベントの記録先のデータセット名を指定します。

-storeProvider storeprovidername

Oracle Event Processingサーバーのconfig.xmlファイルで定義される有効なdata-sourceの名前を指定します。

デフォルトのBDBプロバイダを選択するには、この引数を空白にするか、またはdefault-providerの引数値を指定します。

詳細は、Oracle Stream Analyticsスキーマ・リファレンスを参照してください。

-eventTypes eventtypes

再生対象の有効なイベント型の名前のカンマ区切りリストを指定します。イベント型は、イベント型リポジトリで定義される必要があります。

-scheduleStartTime sstart

再生を開始する時間を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を10月20日に開始するように指定するには

(2013年午前11:22:07)、次の値を使用します。

10-20-2013:11:22:07

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime send

再生が終了する実際の時間を指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、再生を2013年1月20日午後6時に終了するように指定するには、次の値を使用します。

10-20-2013:18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration sduration

このステージのイベントの再生が終了するまでの継続時間を指定します。イベントの再生を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-filterStartTime fstart

この値以上の記録時間を持つイベントのみが再生に選択されるように指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午前5時以上の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T05:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

すべてのイベントを再生用に指定する場合、nullを指定します。

-filterEndTime fend

この値以下の記録時間を持つイベントのみが再生に選択されるように指定します。

終了時間を次のXMLSchemaのdateTime値の形式として表します。

yyyy-mm-ddThh:mm:ss

たとえば、2010年1月20日午後6時以下の記録時間を持つイベントのみを再生するには、次の値を使用します。

2010-01-20T18:00:00

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-filterDuration fduration

イベント・ストアでイベントに適用されるフィルタを指定します。フィルタ時間中に記録されたイベントのみが再生用に選択されます。すべてのイベントを再生用に指定する場合、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-filterEndTimeまたは-filterDurationのいずれかを指定できますが、両方は指定できません。

-speed speed

再生速度を正のfloatとして指定します。

デフォルト値は1で、これは通常速度に相当します。2の値は、イベントが元の記録速度の倍の速度で再生されることを意味します。同様に、値0.5はイベントが元の記録速度の半分の速度で再生されることを意味します。

-repeat repeat

指定された期間の再生が終了した後に、イベントをもう一度再生するかどうかを指定します。

有効な値はtrueまたはfalseです。デフォルト値はfalseです。値をtrueに指定すると、繰り返し再生は故意に停止されるまで無限の回数分継続することになります(STOPPLAYBACKを参照してください)。値をfalseに指定すると、イベントは1回のみ再生されることになります。

例

この項の例では、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベントの再生を構成する方法を示します。

次の例では、再生の開始および終了時刻を指定し、再生速度を通常速度の倍にしています。また、指定した時間間隔でのイベントの再生が終了したら、再び再生を開始することを指定しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 10-20-2013:11:22:07 -scheduleEndTime 10-20-2013:18:00:00
-speed 2 -repeat true

次の例では、再生の開始時刻と持続時間を指定し、再生速度を通常の半分にしています。また、イベントの再生は1度だけ行います。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 10:20:2013:11:22:07 -scheduleEndTime 10-20-2013:18:00:00
-speed 0.5 -repeat false

次の例では、nullの開始および継続時間を指定しています。これは、再生が通常の速度で永久に実行されることを意味します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGUREPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 10:20:2013:11:22:07 -scheduleDuration null

A.13.9 SCHEDULEPLAYBACK

Oracle Event Processingアプリケーションのステージに対するイベントの再生に関連したスケジュール・パラメータを構成します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
SCHEDULEPLAYBACK -application application -stage stage
[-scheduleStartTime startime]
[-scheduleEndTime endtime | -scheduleDuration duration]

表A-28 SCHEDULEPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

-scheduleStartTime starttime

再生を開始する時間を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を2013年10月20日午前11:22:07に開始するように指定するには、次の値を使用します。

10-20-2013:11:22:07

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

XMLSchemaのdateTime形式の詳細は、http://www.w3.org/TR/xmlschema-2/#dateTime-lexical-representationを参照してください。

-scheduleEndTime endtime

再生が終了する実際の時間を指定します。

開始時間を次のXMLSchemaのdateTime値の形式として表します。

mm-dd-yyyy:hh:mm:ss

たとえば、記録を2013年10月20日午後6時に終了するように指定するには、次の値を使用します。

10-20-2013:18:00:00

記録を永久に実行するには、nullを指定します。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

-scheduleDuration duration

このステージのイベントの再生が終了するまでの継続時間を指定します。記録を永久に実行するには、nullを指定します。

01:00:00など、形式はHH:mm:ssです。

-scheduleEndTimeまたは-scheduleDurationのいずれかを指定できますが、両方は指定できません。

例

この項の例では、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterのイベント再生のスケジュールを構成する方法を示します。

次の例では、イベント再生の開始時間および終了時間を指定しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
SCHEDULEPLAYBACK -application helloworld -stage helloworldAdapter
-scheduleStartTime 10-20-2013:11:22:07 -scheduleEndndTime 10-20-2013:18:00:00

A.13.10 LISTPLAYBACK

Oracle Event Processingアプリケーションの特定のステージに対するイベントの再生構成を一覧表示します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTPLAYBACK -application application -stage stage

表A-29 LISTPLAYBACK引数

引数

定義

-application application

イベントの記録と再生を管理する対象のOracle Event Processingアプリケーションの名前を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

特定のステージ名を指定します。このステージは、-application引数で指定されたOracle Event Processingアプリケーションに付属し、そのイベントの記録および再生が管理対象となります。

例

次の例は、指定したOracle Event ProcessingインスタンスへデプロイされたhelloworldアプリケーションのhelloworldAdapterステージでイベント再生の構成を一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTPLAYBACK -application helloworld -stage helloworldAdapter

A.14 スループットおよび待機時間を監視するためのコマンド

この項では、スループットおよび待機時間を監視するためのコマンドについて説明します。

表A-30は、Oracle Event Processingアプリケーションのスループットおよび待機時間を監視するためのコマンドの概要です。後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-30 スループットおよび待機時間を監視するためのコマンドの概要

コマンド

説明

MONITORAVGLATENCY

イベントが指定されたEPNのパスを通過するのにかかる平均時間または待機時間を監視します。

MONITORMAXLATENCY

イベントが指定されたEPNのパスを通過するのにかかる最大時間または待機時間を監視します。

MONITORAVGLATENCYTHRESHOLD

EPNのパスを流れるイベントの平均待機時間が指定されたしきい値を超えたかどうかをモニターします。

MONITORAVGTHROUGHPUT

指定されたステージのエントリ・ポイントまたは出口ポイントを通過するイベントの数をモニターします。

A.14.1 MONITORAVGLATENCY

イベントが指定アプリケーションのEPNのパスを通過するのにかかる平均時間または待機時間を監視します。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの待機時間をモニターできます。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGLATENCY -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-avgInterval avgInterval -timeUnit timeUnit

表A-31 MONITORAVGLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

待機時間を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの待機時間をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

待機時間を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの待機時間をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-avgInterval avgInterval

平均待機時間が計算される期間の平均間隔を指定します。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

デフォルト値は100です。

例

次の例では、エントリ・ポイントから出口ポイントまで、helloworldアプリケーションのcqlprocessorコンポーネントを通過するイベントの平均待機時間を監視する方法を示します。同一のステージが開始および終了ステージの両方(cqlprocessor)に指定されるため、待機時間の監視は単一のステージを通って流れるイベントに対してのみ行われます。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORAVGLATENCY -application helloworld -startStage cqlprocessor
-startStagePoint entry -endStage cqlprocessor -endStagePoint exit
-avgInterval 100 -timeUnit MILLISECONDS

A.14.2 MONITORAVGLATENCYTHRESHOLD

パスの開始点と終了点の間のイベントの平均待機時間が指定されたしきい値を超えたかどうかをモニターします。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの待機時間しきい値をモニターできます。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGLATENCYTHRESHOLD -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-avgInterval avgInterval -timeUnit timeUnit -threshold threshold

表A-32 MONITORAVGLATENCYTHRESHOLD引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

待機時間のしきい値を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの待機時間のしきい値をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

待機時間のしきい値を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの待機時間のしきい値をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-avgInterval avgInterval

平均待機時間のしきい値が計算される平均間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-threshold threshold

しきい値を指定します。この値を超えると、平均間隔の終わりごとにメトリック・イベントが出力されます。

デフォルトは100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

例

次の例では、エントリ・ポイントから出口ポイントまで、helloworldアプリケーションのcqlprocessorステージにおける平均待機時間が10秒を超えるイベントの平均待機時間のしきい値を監視する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORAVGLATENCY -application helloworld -startStage cqlprocessor
-startStagePoint entry -endStage cqlprocessor -endStagePoint exit
-avgInterval 100 -timeUnit MILLISECONDS -threshold 100

A.14.3 MONITORMAXLATENCY

指定されたアプリケーションでEPNの指定されたパスを流れるイベントの最大待機時間をモニターします。

パスの開始ステージと終了ステージを指定し、それぞれのステージのエントリ・ポイントまたは出口ポイントでパスが開始または終了するかどうかを指定します。パスの開始と終了に同じステージを指定すると、単一のステージを通過するイベントの最大待機時間をモニターできます。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORMAXLATENCY -application application
-startStage startStage -startStagePoint stagePoint
-endStage endStage -endStagePoint stagePoint
-maxInterval maxInterval -timeUnit timeUnit

表A-33 MONITORMAXLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startStage startStage

最大待機時間を監視する対象のパスを開始するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-startStagePoint startStagePoint

指定した開始ステージの最大待機時間をモニターするための特定の開始点を指定します。開始ステージのエントリ・ポイントまたは出口ポイントからモニターを開始できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-endStage endStage

最大待機時間を監視する対象のパスを終了するステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-endStagePoint endStagePoint

指定した終了ステージの最大待機時間をモニターするための特定の終了点を指定します。終了ステージのエントリ・ポイントまたは出口ポイントからモニターを終了できます。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-maxInterval maxInterval

最大待機時間が計算される間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

例

次の例では、エントリ・ポイントから出口ポイントまで、helloworldアプリケーションのcqlprocessorステージを通過するイベントの最大待機時間を監視する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORMAXLATENCY -application helloworld -startStage cqlprocessor
-startStagePoint entry -endStage cqlprocessor -endStagePoint exit
-maxInterval 100 -timeUnit MILLISECONDS

A.14.4 MONITORAVGTHROUGHPUT

指定されたアプリケーションでEPNのステージのエントリ・ポイントまたは出口ポイントを通過するイベントの平均件数をモニターします。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
MONITORAVGTHROUGHPUT -application application
-stage stage -StagePoint stagePoint
-throughputInterval throughputInterval -avgInterval avgInterval
-timeUnit timeUnit

表A-34 MONITORAVGLATENCY引数

引数

定義

-application application

スループットおよび待機時間を監視する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-stage stage

イベントのスループットを監視する対象のステージ名を指定します。このステージは、-applicationオプションによって指定されるアプリケーション内にあります。

-stagePoint stagePoint

指定したステージのエントリ・ポイントまたは出口ポイントでスループットをモニターするかどうかを指定します。

有効な値は、entryおよびexitです。デフォルト値はentryです。

-throughputInterval throughputInterval

スループットが計算されるスループット間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

-avgInterval avgInterval

平均スループットが計算される平均間隔を指定します。

デフォルト値は100です。単位を-timeUnitオプションで指定します。デフォルト値はミリ秒です。

例

次の例は、helloworldアプリケーションのcqlprocessorステージのエントリ・ポイントを通過するイベントの件数を監視する方法を示しています。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
MONITORMAXLATENCY -application helloworld
-stage cqlprocessor -stagePoint entry
-throughputInterval 100 -avgInterval 100 -timeUnit MILLISECONDS

A.15 構成履歴を管理するためのコマンド

この項では、構成履歴を管理するためのコマンドについて説明します。

表A-35は、Oracle Event Processingコンポーネントの構成履歴を管理するコマンドの概要です。詳細は、「構成履歴の管理」を参照してください。

後続の項では、コマンド構文および引数について説明し、各コマンドの例を示します。

表A-35 構成履歴を管理するためのコマンドの概要

コマンド

説明

CONFIGHISTORY

構成履歴の管理コマンドのリストを戻します。

DELETECONFIGCHANGEHISTORY

指定期間の変更レコードを削除します。

LISTCHANGERECORDS

アプリケーションの変更レコードのリストを戻します。

LISTRESOURCEREVISIONS

アプリケーションの構成リソース・リビジョンのリストを戻します。

UNDOCONFIGCHANGE

変更レコードIDによって指定された変更レコードをロールバックします。

A.15.1 CONFIGHISTORY

構成履歴の管理コマンドのリストを戻します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTCHANGERECORDS
LISTRESOURCEREVISIONS     UNDOCONFIGCHANGE
DELETECONFIGCHANGEHISTORY

例

次の例は、構成履歴の管理コマンドを一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTCHANGERECORDS

A.15.2 DELETECONFIGCHANGEHISTORY

構成履歴の管理コマンドのリストを戻します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
DELETECONFIGCHANGEHISTORY -application application -startTime starttime -endTime endtime

表A-36 DELETECONFIGCHANGEHISTORY引数

引数

定義

-application application

Oracle CQLルールを管理する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

変更レコードを削除する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

変更レコードを削除する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

例

次の例は、構成履歴の管理コマンドを一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
CONFIGHISTORY

A.15.3 LISTCHANGERECORDS

アプリケーションの変更レコードのリストを戻します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTCHANGERECORDS -application application -startTime starttime -endTime endtime

表A-37 GETRULE引数

引数

定義

-application application

変更レコードを参照する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

変更レコードの表示をフィルタ処理する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

変更レコードの表示をフィルタ処理する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべての変更レコードを一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTCHANGERECORDS -application helloworld -startTime 10-20-2007:11:10:07
-endTime 10-20-2007:11:22:07

A.15.4 LISTRESOURCEREVISIONS

アプリケーションの構成リソース・リビジョンのリストを戻します。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
LISTRESOURCEREVISIONS -application application -startTime starttime -endTime endtime

表A-38 GETRULE引数

引数

定義

-application application

リソース・リビジョンを参照する対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(Oracle Event Processing Oracle Stream Analyticsビジュアライザの使用を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-startTime starttime

リソース・リビジョンのリストをフィルタ処理する期間の開始時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

-endTime end-ime

リソース・リビジョンのリストをフィルタ処理する期間の終了時間を指定します。

10-20-2007:11:22:07など、形式はMM-dd-yyyy:HH:mm:ssです。

例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべてのリソース・リビジョンを一覧表示する方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
LISTRESOURCEREVISIONS -application helloworld -startTime 10-20-2007:11:10:07
-endTime 10-20-2007:11:22:07

A.15.5 UNDOCONFIGCHANGE

変更レコードIDで指定された変更レコードによって定義された変更をロールバックします。

構文

java wlevs.Admin
[ Connection Arguments ]
[ User Credentials Arguments ]
[ Common Arguments ]
UNDOCONFIGCHANGE -application application -recordId changerecordid

表A-39 GETRULE引数

引数

定義

-application application

変更レコードを元に戻す対象のOracle Event Processingアプリケーション名を指定します。

アプリケーションの完全一致名を取得するため、次を実行できます:

- wlevs.Adminを使用すると、名前を問い合せます(「アプリケーションおよびプロセッサの名前の問合せ」を参照してください)。

- Oracle Event Processing Visualizerを使用します。Oracle Event Processing Visualizerを起動します(『Oracle Stream Analyticsビジュアライザの使用』を参照してください)。左ペインで、アプリケーションのデプロイ先のOracle Event Processingインスタンスの「アプリケーション」ノードへ移動して展開します。「アプリケーション」ノード直下の各ノードは、完全一致アプリケーション名を示します。

- アプリケーションのMANIFEST.MFファイルを参照します。アプリケーション名は、Bundle-SymbolicNameヘッダーによって指定されます。

-recordId changerecordid

元に戻す変更レコードの識別子を指定します。

変更レコードの識別子を取得するため、次を使用できます:

- LISTCHANGERECORDS

- LISTRESOURCEREVISIONS

例

次の例は、helloworldアプリケーションで2007年11月20日11:10:07から11:22:07までに作成されたすべてのリソース・リビジョンをロールバックする方法を示します。

java wlevs.Admin
-url service:jmx:msarmi://localhost:9002/jndi/jmxconnector
-username wlevs -password wlevs
UNDOCONFIGCHANGE -application helloworld -recordId tr.1267607521409.10110

B デプロイヤ・コマンドライン・リファレンス

この付録では、Oracle Event Processingアプリケーションのデプロイに使用できる、Oracle Event ProcessingのDeployerユーティリティのリファレンスを提供します。

この付録の内容は次のとおりです。

- デプロイヤ・ユーティリティの使用方法の概要

- デプロイヤ・ユーティリティ環境の構成

- リモートでのデプロイヤ・ユーティリティの実行

- デプロイヤ・ユーティリティを起動するための構文

- デプロイヤ・ユーティリティの例。

B.1 デプロイヤ・ユーティリティの使用方法の概要

Deployerユーティリティは、管理者や開発者がOracle Event Processingアプリケーションのデプロイ操作をコマンドラインで実行するためのJavaベースのデプロイメント・ユーティリティです。

Oracle Event Processingデプロイメントのコンテキストでは、アプリケーションは次のアーティファクトを含むOSGiバンドルJARファイルとしてhttp://www.osgi.org/で定義されます。

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

- プロセッサ、アダプタ、ストリームなど、アプリケーションのコンポーネントを構成する1つまたは複数のOracle Event Processing構成XMLファイル。
構成ファイルは、OSGiバンドルJARファイルのMETA-INF/wlevsディレクトリにある必要があります。

- アプリケーションのすべてのコンポーネントと、各コンポーネントが相互にどのように接続されているかを記述したEPNアセンブリ・ファイル。EPNアセンブリ・ファイルは標準のSpringコンテキスト・ファイルを拡張します。
EPNアセンブリ・ファイルは、OSGiバンドルJARファイルのMETA-INF/springディレクトリにある必要があります。

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

デプロイヤ・ユーティリティはHTTPを使用してOracle Event Processingに接続します。つまり、アプリケーションのデプロイ先となるサーバー・インスタンスに応じてJettyを構成する必要があります。

Oracle Event Processingは、deployments.xmlファイルを使用して、デプロイ済アプリケーションのOSGiバンドルのリストを内部的に維持します。このファイルはDOMAIN_DIR/servernameディレクトリにあります。DOMAIN_DIRはメイン・ドメイン・ディレクトリであり、アプリケーションのデプロイ先となるサーバー・インスタンスに対応します。servernameはサーバー・インスタンス自体です。

注意:

deployments.xmlファイルのXSDは、情報のみの目的で提供されます。deployments.xmlファイルを手動で更新することはお薦めしません。

B.2 デプロイヤ・ユーティリティ環境の構成

デプロイヤ・ユーティリティを使用する前に、環境を適切に構成する必要があります。

デプロイヤ・ユーティリティ環境の構成:

デプロイヤ・ユーティリティ環境を構成するには、次の手順を実行します。

1. Oracle Event Processingソフトウェアをインストールおよび構成します。

2. CLASSPATH変数を更新して、/Oracle/Middleware/my_oep/oep/binディレクトリにあるwlevsdeploy.jar JARファイルを含めます。

B.3 リモートでのデプロイヤ・ユーティリティの実行

Oracle Event Processingをインストールして実行しているコンピュータとは別のコンピュータでDeployerユーティリティを実行すると便利な場合があります。

リモートでのデプロイヤ・ユーティリティの実行:

1. Oracle Event Processingがインストールされているコンピュータからデプロイヤ・ユーティリティを実行するコンピュータに、次のJARファイルをコピーします。JARファイルのコピー先のディレクトリ名は、任意の名前とすることができます。

- /Oracle/Middleware/my_oep/oep/bin/wlevsdeploy.jar

2. 次のいずれかの方法でCLASSPATHを設定します。

- ユーティリティを実行するときに、-jar引数を使用してCLASSPATHを暗黙的に設定します。つまり、この引数でNEW_DIRECTORY/wlevsdeploy.jarファイルを設定します。NEW_DIRECTORYは、必要なJARファイルをコピーしたリモート・コンピュータ上のディレクトリです。-jar引数を使用するときは、コマンド・ラインでDeployerユーティリティ名を指定しません。

- リモート・コンピュータにコピーしたJARファイルをCLASSPATH環境変数に追加することにより、明示的にCLASSPATHを更新します。

3. 次の項の説明に従ってDeployerユーティリティを起動します。

B.4 デプロイヤ・ユーティリティを起動するための構文

このトピックでは、デプロイヤ・ユーティリティを使用するための構文を示します。

java -jar wlevsdeploy.jar
[Connection Arguments]
[User Credential Arguments]
[Deployment Commands]

次の項では、デプロイヤ・ユーティリティで使用できる様々な引数およびコマンドについて説明します。このユーティリティの具体的な使用方法の例については、「デプロイヤ・ユーティリティの例」を参照してください。

B.4.1 接続引数

表B-1は、デプロイヤ・ユーティリティで指定できる接続引数を示しています。

表B-1 接続引数

引数

説明

-url url

OSGIバンドルのデプロイ先となるOracle Event Processingインスタンスのデプロイヤ・ユーティリティへのURLを指定します。

URLは次の形式にします。

http://host:port/wlevsdeployer

説明:

- hostは、Oracle Event Processingを実行しているコンピュータのホスト名です。

- portは、Oracle Event Processingのリスニング・ポート番号です。デフォルトでは、その値は9002です。このポートは、Oracle Event Processingドメインが記述されているconfig.xmlファイルに指定されています。デフォルトでは、これはOracle/Middleware/my_oep/user_projects/domains/<domainname>/ <servername>/configディレクトリにあります。
ポート番号は、<Netio>要素の<Port>子要素の値です。

<Netio>
<Name>NetIO</Name>
<Port>9002</Port>
</Netio>

SSL専用接続に対してOracle Event Processingサーバーを構成する場合(「HTTPS専用接続」)、SSL <Netio>要素の<Port>子要素の値を使用します。

<Netio>
<name>sslNetIo</name>
<port>9003</port>
<ssl-config-bean-name>sslConfig</ssl-config-bean-name>
</Netio>

たとえば、Oracle Event Processingがホストarielのポート9002で実行されている場合、URLは次のようになります。

http://ariel:9002/wlevsdeployer

B.4.2 ユーザー資格証明の引数

表B-2は、デプロイヤ・ユーティリティで指定できるユーザー資格証明の引数を示しています。

表B-2 ユーザー資格証明の引数

引数

説明

-user username

Oracle Event Processing管理者のユーザー名。

-userオプションを指定したが、対応する-passwordオプションを指定しなかった場合は、パスワードの入力を求めるデプロイヤ・ユーティリティのプロンプトが表示されます。

-password password

Oracle Event Processing管理者のパスワード。

注意:
この引数は非推奨で、後続のリリースで削除される可能性もあります。この引数を使用しないことをお薦めします。

B.4.3 デプロイメント・コマンド

表B-3は、デプロイヤ・ユーティリティで使用できるデプロイメント・コマンドを示しています。

表B-3 デプロイメント・コマンド

コマンド

説明

-encrypt

ユーザー名とパスワードを暗号化し、出力ファイルに書き込みます。

-encryptoutfile encryptoutfile

encryptoutfileを使用して、暗号化されたユーザー名とパスワードを書き込むことを指定します。

-group groupname

デプロイ・コマンド(install、uninstall、update、suspendまたはresume)をターゲット・グループ(具体的には、そのグループ内の一連の実行中サーバー)に適用することを指定します。

ドメイン・グループを指定するには、次のようにキーワードallを使用します:

-group all

カスタム・グループを指定するには、単純にグループの名前を指定します:

-group my_group

注意: サーバーがマルチサーバー・ドメインの一部である場合(つまり、クラスタリングが有効な場合)、グループに対してのみデプロイできます。サーバーがスタンドアロン・サーバー・ドメインの一部の場合(つまり、クラスタリングが無効の場合)は、グループにはデプロイできません。詳細は、「マルチサーバー・ドメインについて」を参照してください。

-help

コマンド構文および引数について説明するメッセージを出力します。

-install bundle

指定したOracle Event Processingインスタンスに、指定したOSGiバンドルをインストールします。

bundleパラメータは、Deployerユーティリティを実行するコンピュータのローカルにあるファイル名を指定します。

バンドルが置かれている場所が、デプロイヤ・ユーティリティを実行しているディレクトリに対して相対的なディレクトリではない場合、バンドルのフル・パス名を必ず指定してください。

特に、Oracle Event Processingでは次の処理が行われます。

- 指定したバンドルがドメイン・ディレクトリにコピーされます。

- バンドルのMETA-INF/wlevsディレクトリにおいてコンポーネント構成ファイルが検索され、ドメイン・ディレクトリに抽出されます。

- 内部デプロイメント・レジストリが更新されます。

- アプリケーションを起動します。受信アダプタはただちにデータを受信し始めます。

-resume name

指定したOracle Event Processingインスタンス上で一時停止されたOSGIバンドルを再開します。構成されたアダプタが再びただちに着信データを受信し始めます。

nameパラメータは、停止するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-status name

現在のインストール済OSGiバンドルに関するステータス情報を返します。

nameパラメータは、ステータス情報を取得するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-suspend name

指定したOracle Event Processingインスタンスにインストール済で現在実行中のOSGIバンドルを一時停止します。

nameパラメータは、開始するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

-uninstall name

指定したOracle Event Processingインスタンスから既存のバンドルを削除します。

nameパラメータは、削除するOSGiバンドルのシンボリック名です。シンボリック名は、バンドルのMANIFEST.MFファイルに含まれるBundle-SymbolicNameヘッダーの値です。

Bundle-SymbolicName: myApp

特に、Oracle Event Processingでは次の処理が行われます。

- 指定したOSGiバンドルがドメイン・ディレクトリから削除されます。

- 内部デプロイメント・レジストリからバンドルが削除されます。

-update bundle

既存のOSGiバンドルを新しいアプリケーション・コードで更新します。

bundleパラメータは、Deployerユーティリティを実行するコンピュータのローカルにあるファイル名を指定します。

バンドルが置かれている場所が、デプロイヤ・ユーティリティを実行しているディレクトリに対して相対的なディレクトリではない場合、バンドルのフル・パス名を必ず指定してください。

特に、Oracle Event Processingでは次の処理が行われます。

- 更新したバンドルがドメイン・ディレクトリにコピーされます。

- 更新したバンドルのMETA-INF/wlevsディレクトリにおいて更新したコンポーネント構成ファイルが検索され、ドメイン・ディレクトリに抽出されます。

- 更新した情報で内部デプロイメント・レジストリが更新されます。

-userconfigfile userconfigfile

userconfigfile (security-config.xml)を使用して、暗号化されたユーザー名とパスワードをファイルから取得することを指定します。

-userkeyfile userkeyfile

userkeyfile (.msainternal.dat)を使用して、ユーザーconfigファイルのパスワードを暗号化するために使用する暗号化キーを取得することを指定します。

B.5 デプロイヤ・ユーティリティの例

これらの例は、デプロイヤ・ユーティリティの使用方法を示しています。

すべての例で、Oracle Event Processingはホストarielで実行されていて、リスニング・ポートは9002であり、また、サーバー管理者のユーザー名/パスワードはそれぞれoepadmin/welcome1です。わかりやすくするために、例は複数行に分けて示していますが、コマンドを実行するときは、すべての引数とコマンドを1行に入力します。

java -jar wlevsdeploy.jar
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-install /application/bundles/com.my.exampleApp_1.0.0.0.jar

上の例は、/application/bundlesディレクトリにあるcom.my.exampleApp_1.0.0.0.jarというOSGiバンドルをインストールする方法を示しています。

次のコマンドは、このアプリケーションを一時停止後に再開する方法を示しています。

java com.bea.wlevs.deployment.Deployer
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-resume exampleApp

次の例は、このアプリケーションのアンインストール方法を示しています。アンインストールを実行すると、アプリケーションのすべてのトレース情報がドメイン・ディレクトリから削除されます。

java com.bea.wlevs.deployment.Deployer
-url http://ariel:9002/wlevsdeployer -user wlevs -password wlevs
-uninstall exampleApp

次の例は、strategies_1.0.jarというアプリケーションをstrategygroupにインストールする方法を示しています。また、javaユーティリティの-jarコマンドの使用方法も示しています。

java -jar wlevsdeploy.jar
-url http://ariel:9002/wlevsdeployer -install strategies_1.0.jar
-group strategygroup

C セキュリティ・ユーティリティ・コマンドライン・リファレンス

この付録は、Oracle Event Processingセキュリティ・ユーティリティのリファレンスを、セキュリティ構成ファイルの生成、クリアテキスト・パスワードの暗号化、および信頼キーストアの生成のためのユーティリティであるcssconfig、encryptMSAConfigおよびGrabCertを含めて提供します。

この付録の内容は次のとおりです。

- cssconfigコマンドライン・ユーティリティ

- encryptMSAConfigコマンドライン・ユーティリティ

- GrabCertコマンドライン・ユーティリティ

- passhashコマンドライン・ユーティリティ

- policygenコマンドライン・ユーティリティ

- encrypttoolコマンドライン・ユーティリティ

他の記述がないかぎり、コマンドは/Oracle/Middleware/my_oep/oep/binにあります。

注意:

GrabSert、passgenおよびsecgenコマンドライン・ユーティリティは非推奨です。構成ウィザードおよびOracle Event Processing Visualizerにより、passgenおよびsecgenタスクが実行されます。

C.1 cssconfigコマンドライン・ユーティリティ

cssconfigコマンドライン・ユーティリティは、パスワード・ポリシーを適用するセキュリティ構成ファイル(security.xml)を生成するときに使用します。

- cssconfig.cmd (Windowsの場合)

- cssconfig.sh (UNIXの場合)

このユーティリティのUnixバージョンは、#!/bin/kshディレクティブで起動します。ほとんどのUnixシステムでは、このディレクティブにより、ユーティリティ使用時にKorn Shellプログラムが使用されます。kshプログラムがbinディレクトリにない場合、または使用しているシェル言語でユーティリティを正しく実行できない場合は、次のようにしてユーティリティを実行してください。

$PATH_TO_KSH_BIN/ksh -c cssconfig.sh

PATH_TO_KSH_BINはkshプログラムの完全修飾パスです。

構文

cssconfig -p propertyfile [-c configfile] -i inputkeyfile [-d]

表C-1 encryptMSAConfigの引数

オプション

説明

デフォルト値

propertyfile

必須。

必要な構成を定義するためにユーザーが指定したセキュリティ構成プロパティを含むファイルです。「SSLの手動での構成」を参照してください。

configfile

省略可能。

生成ファイルの名前。このプロパティは省略可能です。

security.xml

inputkeyfile

セキュリティ構成ファイルの生成に使用する入力キー・ファイルの完全修飾名です。このオプションはconfigディレクトリのsecurity-key.datファイルに設定します。

-d

-dオプションを使用してデバッグを有効にします。

C.2 encryptMSAConfigコマンドライン・ユーティリティ

encryptMSAConfig暗号化コマンドライン・ユーティリティを使用して、クリアテキスト・パスワードを暗号化します。

encryptMSAConfigを使用して、サーバーのconfig.xmlファイルおよびsecurity.xmlファイルおよびアプリケーション構成資格証明を暗号化できます。

注意:

このツールはOracle WebLogic Serverでは使用できません。

- encryptMSAConfig.cmd (Windowsの場合)

- encryptMSAConfig.sh (UNIXの場合)

クリアテキスト・パスワードは、XMLファイルの<password>要素で指定されます。<password>要素が含まれている可能性があるXMLファイルの例は、次のとおりです。

- config.xml

- security-config.xml

- コンポーネント構成ファイル

構文

encryptMSAConfig directory XML_file aesinternal.dat_file

表C-2 encryptMSAConfigの引数

オプション

説明

directory

クリアテキストの<password />要素があるXMLファイルを含むディレクトリ名です。

XML_file

XMLファイルの名前です。

aesinternal.dat_file

ドメインと関連付けられている.aesinternal.datキー・ファイルの場所です。キー・ファイルは、XMLfileパラメータの<password />要素を暗号化します。aesinternal.dat_fileファイルは、/Oracle/Middleware/my_oep/user_projects/domains/SERVERディレクトリにあります。

-noinput

-noinputオプションを使用して、hostからのすべての証明書をコピーするようにGrabCertに指示します。

hostの利用可能なすべての証明書をリストして、そのリストから1つの証明書を選択するようプロンプトするようにGrabCertに指示する場合は、-noinputオプションを省略します。

次に例を示します。

pwd C:\Oracle\Middleware\my_oep\user_projects\domains\oep_domain\defaultserver

C:\Oracle\Middleware\my_oep\oep\bin\encryptMSAConfig.cmd . config\config.xml
.aesinternal.dat

コマンドを実行すると、XML_fileのpassword要素の値が暗号化されます。

C.3 GrabCertコマンドライン・ユーティリティ

GrabCertコマンドライン・ユーティリティは、既存の信頼キーストアから取得した証明書を含む信頼キーストアを生成するときに使用します。

GrabCertユーティリティは、/Oracle/Middleware/my_oep/oep/utils/security/wlevsgrabcert.jarファイルにあります。

構文

java GrabCert host:secureport [-alias=alias] [-noinput] [truststorepath]

表C-3 GrabCertの引数

オプション

説明

デフォルト値

host

証明書のコピー元となるOracle Event Processingサーバーのホスト名。

secureport

host上のSSLポート

詳細は、「SSLの手動での構成」を参照してください。

9003

alias

信頼キーストアの証明書の別名。

host

-noinput

-noinputオプションを使用して、hostからのすべての証明書をコピーするようにGrabCertに指示します。

hostの利用可能なすべての証明書をリストして、そのリストから1つの証明書を選択するようプロンプトするようにGrabCertに指示する場合は、-noinputオプションを省略します。

truststorepath

host上の生成される信頼キーストア・ファイルのフル・パス名。

evstrust.jks

例

次に例を示します。

java GrabCert ariel:9003 -alias=ariel evstrust.jks

他の例は、「マルチサーバー・ドメインでのビジュアライザ用SSLの構成」を参照してください。

C.4 passhashコマンドライン・ユーティリティ

passhashコマンドライン・ユーティリティを使用して、atnstore.txtファイルで使用するパスワードを暗号化します。

注意:

このツールはOracle WebLogic Serverでは使用できません。

コマンドはオペレーティング・システムによって異なります。

- passgen.cmd (Windowsの場合)

- passgen.sh (UNIXの場合)

注意:

このツールのコマンドライン・ヘルプを取得するには、-hではなく-helpを使用します。

構文

passhash [pasword]

passwordパラメータはプレーン・テキスト文字列です。コマンド出力は、MD5/SHA暗号化アルゴリズムを使用してハッシュされた暗号化文字列です。

./passhash.sh
Password ("quit" to end): 4444
{SHA-1}+wQ3QDREP82FCrpDYspXM8SAlaMCx0o=
Password ("quit" to end): quit

C.5 policygenコマンドライン・ユーティリティ

policygenコマンドライン・ユーティリティを使用して、権限ファイルをXACML LDIFTファイルまたはXACMLファイルに変換します。

構文

policygen [-h]
policygen [-s] [-l] | -s] [-x] [entitlementInputFile] [xacmlOutputFile]

表C-4 policygenの引数

オプション

説明

-h

コマンド・ヘルプをコンソールに出力します。

-s

XACML LDIFTファイルまたはXACMLファイル内に標準XACMLポリシーを生成します。

-lも-sも指定されていない場合、XACML LDIFTファイルが生成されます。

-sオプションが指定されていない場合、XACMLポリシー・ファイルが生成されます。

-l

XACML LDIFTファイルを生成します。

-x

XACMLポリシー・ファイルを生成します。

entitlementInputFile

入力権限XMLファイルの名前と場所です。

xacmlOutputFile

出力XACMLファイルの名前と場所です。

例

次の例は、XACMLポリシー・ファイルを生成します。

./policygen.sh -l entitlementinputfile.xml xacmloutputfile.xml

C.6 encrypttoolコマンドライン・ユーティリティ

encrypttoolコマンドライン・ユーティリティを使用して、ファイルの暗号化および復号化を行います。

このコマンドは、暗号化および復号化にEncryptedStreamFactoryオブジェクトを使用します。暗号化の結果は、バイナリの暗号化ファイルです。入力ファイルのすべての内容がAES/DES暗号化アルゴリズムを使用して暗号化されます。

構文

encrypttool [-h]
encrypttool [-encrypt] [-decrypt] [-password password] [-algorithm algorithm] [inputfilename] [outputfilename]

表C-5 encrypttoolの引数

オプション

説明

-encrypt

入力ファイルを暗号化し、暗号化の結果を暗号化出力ファイルに保存します。

-decrypt

入力ファイルを復号化し、復号化の結果を非暗号化出力ファイルに保存します。

-password

ファイルの暗号化または復号化に必要なパスワードです。

パスワードを指定しない場合、入力を求めるプロンプトが表示されます。

-algorithm

操作に使用する暗号化または復号化のアルゴリズムです。有効な値はAESおよびDESです。DESがデフォルトです。

inputfilename

暗号化または復号化する入力ファイルの場所と名前です。

outputfilename

暗号化または復号化の結果を保存する出力ファイルの名前と場所です。出力ファイルを指定しない場合、結果はコンソールに出力されます。

例

次の例は、mypasswordパスワードを使用してAES暗号化アルゴリズムでtextToEncryptファイルを暗号化し、その結果をencryptedTextファイルに保存します。

encrypttool -encrypt -password mypassword -algorithm AES textToEncrypt encryptedText

Oracleの法律上の注意点

コピーライト

Copyright © 1994-2017, Oracle and/or its affiliates. All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

Pre-General Availability (一般提供前)版のドキュメントについて

このドキュメントがPre-General Availability (一般提供前)版の場合:

このドキュメントはPre-General Availability (一般提供前)版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のPre-General Availability (一般提供前)版のドキュメントについて

このドキュメントが非公開のPre-General Availability (一般提供前)版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のPre-General Availability Trial Agreement (Pre-GAトライアル契約)のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle Partner Network Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティ

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。