Oracle Stream Explorerアプリケーション開発タスクは、12cリリース用のSOA製品コンポーネントを使用したOracle JDeveloperの多くの方法で実行できます。Oracle JDeveloperを初めて使用する場合、それに精通するにつれて、同じタスクを行う別の方法を見つけることになるでしょう。
詳細は、http://www.oracle.com/technetwork/middleware/complex-event-processing/downloads/index.htmlを参照してください。
次の各項で、各タスクを見つける方法の1つを説明します。この章の構成は、次のとおりです。
JDeveloperには、スクリーン・リーダー、スクリーン拡大鏡、キーボード・ナビゲーション用の標準ショートカット・キーのサポートなどのアクセシビリティ・オプションが用意されています。フォントのサイズや色、オブジェクトの色や形などを変えて、判読性を高めるためにJDeveloperをカスタマイズすることもできます。JDeveloperのアクセシビリティを構成する方法の詳細および手順は、『Oracle JDeveloperによるアプリケーションの開発』のOracle JDeveloperのアクセシビリティについての情報に関する項を参照してください。
Oracle JDeveloperをStudio開発者(すべての機能)ロールで起動すると、Oracle Stream Explorerアプリケーションを作成するためのフル機能セットが提供されます。図2-1に、Oracle JDeveloperで開いたOracle Stream Explorerアプリケーションを示します。
図2-1 Oracle JDeveloperでのOracle Stream Explorerアプリケーション
「ウィンドウ」メニューを使用して、「コンポーネント」ウィンドウなどの必要なOracle JDeveloperウィンドウを表示します。「コンポーネント・ウィンドウ」を参照してください。
「ファイル」メニューを使用して、次のプロジェクト・ファイルを作成します。
「ファイル」→「新規」→「アプリケーション」→「OEPアプリケーション」の順に選択します。
アプリケーションは、プロジェクトのコンテナです。
「ファイル」→「新規」→「プロジェクト」→「OEPプロジェクト」の順に選択します。
プロジェクトをアプリケーションに追加します。
「ファイル」→「インポート」→「新規プロジェクトへのOEPバンドル」の順に選択します。
既存のプロジェクトをアプリケーションに追加できます。「EclipseプロジェクトのOracle JDeveloperへのインポート」に説明があるように、Eclipseプロジェクトをインポートする場合はこのオプションを使用します。
「ファイル」→「新規」→「プロジェクト」→「OEPライブラリ・プロジェクト」の順に選択します。
ライブラリをプロジェクトに追加して、プロジェクト間で共有できるユーティリティや通常Javaクラスなどの追加機能を提供します。
プロジェクトを作成する際、プロジェクトのベースとなるOracle Stream Explorerアプリケーション・テンプレートを選択できます。テンプレートによって、EPNや次のタイプのプロジェクトのアセンブリ・ファイルおよび構成ファイルを含む基本機能が提供されます。
空のOracle Stream Explorerアプリケーション用の基本構造を提供する空のOEPプロジェクト・テンプレート。他のテンプレートにニーズを満たすものがない場合、このアプリケーション・テンプレートを使用します。
外国為替アプリケーションをシミュレートするFXテンプレート。
Hello Worldメッセージをサーバー・コンソールに送信する単純なアプリケーションを提供するHello Worldテンプレート。
株式市場イベントの受信をシミュレートし、価格や量の変更シグナルを生成するシグナル生成テンプレート。
アセンブリ・ファイルは、EPNダイアグラム・ステージおよび構造を記述するコンテキスト・ファイルです。コンポーネント構成ファイルには、EPNステージのコンポーネント構成および動的パラメータを記述します。アプリケーションには、1つ以上のアセンブリ・ファイルおよび1つ以上の構成ファイルがあります。
Oracle JDeveloperは、コンポーネントをEPNに追加し、接続を作成した際に作成されるデフォルトのアセンブリ・ファイルおよび構成ファイルを提供しています。デフォルトで、アセンブリ・ファイルの名前は<Project_Name>.context.xml
で、構成ファイルの名前はprocessor.xml
です。
コンポーネントをEPNに追加する際に、デフォルトの構成ファイル名を別のファイルに変更できます。別のファイルがすでに存在する場合、Oracle JDeveloperはそのファイルの構成を保存します。ファイルが存在しない場合、Oracle JDeveloperはファイルを作成します。たとえば、すべてのアダプタ構成情報をadapter.xml
構成ファイルに保存することができます。
アセンブリ・ファイルおよび構成ファイルを明示的に作成することもできます。「アセンブリ・ファイルおよび構成ファイル」を参照してください。
Oracle Stream Explorerソース・ファイルへのパスを設定するには、プロジェクトを選択して「編集」→「プロパティ」→「プロジェクトのソース・パス」を選択します。
次のオプションがあるコンテキスト・メニューを表示するには、「アプリケーション」ウィンドウでOracle Stream Explorerプロジェクトを選択して右クリックします。
EPNダイアグラムを開く: Oracle Stream Explorer EPNダイアグラムを表示します。「EPNダイアグラムの機能」を参照してください。
「JDBCコンテキストの構成」: このオプションを使用してJDBCコンテキストを構成します。JDBCコンテキストは、Oracle JDBCデータ・カートリッジのインスタンス用のアプリケーション・コンテキストを定義します。Oracle以外のJDBCドライバを使用する場合のみこのオプションを使用します。
「空間コンテキストの構成」: このオプションを使用して空間コンテキストを構成し、複雑な多角形や円、3D位置、空間クラスタリングなどの多数の移動オブジェクトを管理します。
「デプロイ」→oepプロファイル: このオプションを使用して、Oracle Stream Explorerデプロイメント・バンドルを選択または新しいデプロイメント・バンドルをアセンブルします。
「デプロイ」→「新規デプロイメント・プロファイル」: アプリケーション用にデプロイメント・プロファイルを作成します。アプリケーションは任意の数のデプロイメント・プロファイルを持つことができます。
暗号化マネージャ: このオプションを使用して、アプリケーションを暗号化します。
「インポート」→「新規プロジェクトへのOEPバンドル」を使用して、zipまたはJARファイルをOracle JDeveloperにインポートします。コマンドラインからのzipまたはJARファイルのインポートはできません。
EPNダイアグラムには、EPNの作成および編集の際に使用できる様々な機能があります。EPNダイアグラムはデフォルトで最適なレイアウトを使用します。EPNダイアグラムでコンポーネントの追加、移動および削除を行うと、ダイアグラムはレイアウトの更新と調整を行います。
EPNダイアグラムのオープン
[プロジェクト名]→「OEPコンテンツ」の順に展開します。
「EPNダイアグラム」をダブルクリックします。
中央ペインのEPNタイプタブでEPNダイアグラムが開きます。EPNタブの隣には、「イベント・タイプ」タブがあります。「イベント・タイプ」タブでイベント・タイプを作成できます。EPNタブの左ペインの下部には、「EPNダイアグラム」 - 「構造」および「サムネイル」も表示されます。「構造」ビューは、EPNダイアグラムのコンポーネント・ツリーを表示します。
イベント・タイプの作成
「EPNダイアグラム」を開きます。
中央ペインのEPNタブでEPNダイアグラムが開きます。
EPNタブの隣にある「イベント・タイプ」タブを選択します。
イベント・タイプ情報を入力します。
イベントの作成方法の詳細は、「イベント・データを運ぶイベント・タイプの作成」を参照してください。
コンポーネントの追加
「コンポーネント」ウィンドウからEPNの空白領域にコンポーネントをドラッグして、EPNダイアグラムを構築します。「コンポーネント・ウィンドウ」を参照してください。
コンポーネントの削除
コンポーネントを右クリックしてコンテキスト・メニューから「削除」を選択するか、コンポーネントを選択して[Delete]キーを押します。
コンポーネント名の変更
EPNダイアグラムでコンポーネントを選択します。
Oracle JDeveloperで、コンポーネントがハイライトされます。
コンポーネント名をクリックします。
インライン名前エディタが表示されます。
名前を変更します。
EPNダイアグラムの空白領域をクリックします。
インライン名前エディタが閉じます。
エディタ
EPNは、XMLソース・コード、プロパティ・シート、EPNダイアグラム、マニフェスト・エディタなどの様々なOracle JDeveloperエディタで編集できます。エラーを示す検証の注釈は、すべてのエディタで表示されます。Oracle CQL文を作成する際に、エディタは次の機能を提供します。
<query id="helloworldRule"> <![CDATA[ select :1 from helloworldInputChannel ]]> <bindings> <binding id="helloworldRule"> <params id="param1">'My message is here: ' || message as message</params> </binding> </bindings>
バッジ
バッジとは、ステージ上に表示される小さいアイコンです。バッジには、コンポーネントの追加情報が表示されます。たとえば、検証エラーやコンポーネントについての警告が存在する場合、EPNエディタはそのコンポーネントにエラーまたは警告バッジを表示します。バッジを表示させる原因となった状態が解決されると、バッジは消えます。
バッジにカーソルを置くと、関連するメッセージが表示されます。注釈バッジをクリックすると、関連するメッセージと詳細情報へのリンクが表示されます。
拡大または縮小
次の方法で、EPNダイアグラムの拡大および縮小を行うことができます。
[Ctrl]キーを押しながらマウスをスクロールします。
エディタ・ツール・バー上での事前定義されたリストからズーム値を選択します。
サムネイル・パネルを選択するかオープンして、マウスをスクロールします。
EPNダイアグラムの印刷
EPNエディタを開いた状態で、「ファイル」→「印刷プレビュー」の順に選択します。
「印刷プレビュー」ダイアログで設定を確認し、「印刷」をクリックします。
EPNダイアグラムの画像へのエクスポート
「ダイアグラム」→「ダイアグラムの公開」の順に選択します。
ファイル名を入力し、適切なファイル・タイプを選択します。
「保存」を選択します。
ネストしたコンポーネント
親ステージの中に子ステージを定義する場合、子ステージはネストしています。ネストしたステージは、EPNダイアグラムでインデントされたボックスに表示されます。ネストしたステージは編集できませんが、削除はできます。
親ステージのみが子ステージをリスナーとして指定できます。ネストした要素から参照をドラッグできますが、ネストされた要素に参照をドラッグすることはできません。
外部コンポーネント
外部コンポーネント(外部ステージ)とは、別のアプリケーションで定義されたコンポーネントです。EPNダイアグラムでは、外部ステージはゴースト・コンポーネントとして表示されます。外部ステージを参照するには、アセンブリ・ファイルで次の構文を使用します。
FOREIGN-APPLICATION-NAME:FOREIGN-STAGE-ID
注意:
外部ステージを参照する場合、アプリケーションのアセンブリ、デプロイ、および再デプロイの際に外部ステージの依存性を考慮する必要があります。
コンポーネント・ウィンドウは、EPNの構築用にOracle Stream Explorerコンポーネントを提供します。EPNに追加したいコンポーネントをEPNキャンバスの空白領域にドラッグし、コンポーネント・ウィザードを使用して構成します。すでにダイアグラム内にあるコンポーネントを新しいコンポーネントにドラッグして、コンポーネントをEPNに追加します。新しいコンポーネントはドラッグしたコンポーネントの右側に配置されます。手順を追った説明は、「基本的なアプリケーションの作成」を参照してください。
次のリストは、コンポーネント・ウィンドウで使用可能なコンポーネントです。
ベースEPNコンポーネント:
アダプタ: アダプタを使用すると、EPNを外部入力ソースまたは外部データ・ソースと接続できます。アダプタ・コンポーネントは、アプリケーション要件によってカスタマイズ可能な一般的なアダプタです。
Bean: Beanを使用すると、標準SpringベースBeanに準拠し、Javaプログラミング言語で記述されたアプリケーション・イベント・ロジックを定義できます。http://www.springsource.org/spring-frameworkを参照してください。
キャッシュ: キャッシュを使用すると、アプリケーションからのアクセス準備のために直近にアクセスされたデータのコピーを保持するランダム・アクセス・メモリ(RAM)領域を設定できます。EPN内に、キャッシュ・コンポーネントに追加するキャッシュ・システム・コンポーネントが存在している必要があります。
チャネル: チャネルを使用すると、EPN内でステージからステージへイベントを転送できます。
イベントBean: イベントBeanを使用すると、JavaBeans仕様に準拠し、Javaプログラミング言語で記述されたアプリケーション・イベント・ロジックを定義できます。イベントBeanは、標準のSpringベースBeanのOracleによる拡張です。
プロセッサ: Oracle CQL問合せコードをアプリケーションに追加する場合は、プロセッサを使用します。Oracle CQLは、ビッグ・データHadoopコンポーネントおよびNoSQLDBコンポーネントから読み取ることができます。
表: 表を外部リレーション・ソースとして使用します。表を上位コンポーネントのリスナーとして構成すると、表を使用してデータベースにイベントを格納できます。
拡張アダプタ:
CSVInbound: CSVInboundアダプタを使用すると、カンマ区切り形式のデータをEPNで受信できます。
CSVOutbound: CSVOutboundアダプタを使用すると、カンマ区切りデータをEPNの外部に送信できます。
HTTPパブリッシャ: HTTPパブリッシャ・アダプタを使用するとJavaScript Object Notation (JSON)イベント・データをEPN外部のWebベース・ユーザー・インタフェースに送信できます。
HTTPサブスクライバ: HTTPサブスクライバ・アダプタを使用すると、EPNでJavaScript Object Notation (JSON)イベント・データを受信できます。JSONイベント・データは、ユーザー・アクションによってイベントを生成するHTTPサーバーから送信されます。
JMSインバウンド: JMSインバウンド・アダプタを使用して、EPNでJava Message Service (JMS)トピックを受信できます。
JMSアウトバウンド: JMSアウトバウンド・アダプタを使用すると、JMSトピックをEPN外部に送信できます。
RESTインバウンド: RESTインバウンド・アダプタを使用すると、HTTP Post
リクエストからのイベントが使用されます。
RESTアウトバウンド: RESTアウトバウンド・アダプタを使用すると、EPNで処理されるイベントを受信できます。
ビッグ・データ拡張機能
Hadoop: Hadoop Distributed File System (HDFS)内の大量のデータにアクセスするためのOracle CQLプロセッサのデータ・カートリッジ拡張機能です。HDFSは、非リレーショナル・データ・ストアです。
NoSQLDB: Oracle NoSQL Database内の大量のデータにアクセスするためのOracle CQLプロセッサのデータ・カートリッジ格納機能です。Oracle NoSQLDB Databaseには、キー/値のペアでデータが格納されます。
HBase: HBase Database内にある大量のデータにアクセスするOracle CQLプロセッサ用のデータ・カートリッジ拡張です。
キャッシュ・システム
コヒーレンス・キャッシュ・システム: コヒーレンス・キャッシュ・システム・コンポーネントを使用してシステムを設定すると、共有リソース上のローカル・キャッシュ内に格納される一貫性のあるデータを維持できます。
ローカル・キャッシュ・システム: ローカル・キャッシュ・システムを使用すると、データ・ファイルへのネットワーク・アクセスを高速化できます。
CQLパターン
パターンの使用方法の詳細は、「Oracle CQLパターンの使用」を参照してください。
平均化ルール: 平均化ルール・コンポーネントを使用すると、指定したイベント数(表の行)の平均を計算できます。
不足イベント・ルールの検出: 不足イベント・ルールの検出コンポーネントを使用すると、期待されるイベントが発生しない場合に検出を行うことができます。
パーティション化ルール: パーティション化ルール・コンポーネントを使用すると、イベント・パネルをイベント・プロパティによってパーティション化し、パーティション内の指定されたイベント数を表示できます。
後続のフィルタ問合せを使用した選択: 後続のフィルタ問合せを使用した選択コンポーネントを使用すると、イベントをフィルタし、フィルタ基準を通過したイベントをビューに移入できます。
複数ストリームからの選択: 複数ストリームからの選択コンポーネントを使用すると、2つのストリームを結合して相関イベントから選択することができます。
FromのあるSelect: FromのあるSelectコンポーネントを使用すると、特定のプロパティによってチャネルからイベントを選択できます。
パターン一致を使用したSELECT: パターン一致を使用したSELECTコンポーネントを使用すると、特定のプロパティ値によってチャネルからイベントを選択できます。
注意:
Oracle JDeveloperには、Oracle CQLビジュアル・エディタは付属していませんOracle CQLビジュアル・エディタはOracle Stream Explorer Visualizerにあります。『Oracle Stream Explorerビジュアライザの使用』を参照してください。
WLS拡張機能:
RMIInbound: RMIInboundアダプタを使用すると、リモート・メソッド呼出し(RMI)プロトコルによってOracle WebLogic Serverから送信される着信データを受信できます。
RMIOutbound: RMIOutboundアダプタを使用すると、RMIプロトコルによってOracle WebLogic Serverにデータを送信できます。
EDNアダプタ:
EDNInbound: EDNInboundアダプタを使用すると、Oracle SOA Suiteイベント・ネットワークからの着信データを受信できます。
EDNOutbound: EDNOutboundアダプタを使用すると、Oracle SOA Suiteイベント・ネットワークに発信データを送信できます。
EPNエディタの各ステージには、様々なステージに固有な機能に簡単にアクセスできるコンテキスト・メニュー項目のグループがあります。ステージを右クリックすると、コンテキスト・メニューを表示できます。コンテキスト・メニューを使用して、ステージ構成を編集できます。
様々なステージで、ステージ・ウィザードは同じですが、特定の値およびオプションの一部は読取り専用でグレー表示されます。
「構成のソースの追加」: プロジェクトに構成ファイルを追加します。
「Javaクラスの定義」: Javaクラスを作成できるウィザードを開きます。
「構成のソースの削除」。プロジェクトから構成ファイルを削除します。
「構成のソースに移動」: 対応するコンポーネント構成ファイルを開き、カーソルを適切な要素に移動します。
「アセンブリのソースに移動」: 対応するEPNアセンブリ・ファイルを開き、カーソルを適切な要素に移動します。
「Javaのソースに移動」: コンポーネントに対応するJavaソース・ファイルを開きます。
暗号化マネージャ: 暗号化されたすべてのパスワードを1箇所で編集できます。このオプションは、EPNダイアグラムおよびプロジェクト全体で有効化されます。
「削除」: EPNアセンブリ・ファイルおよびコンポーネント構成ファイルの両方からコンポーネントを削除します(適用可能な場合)。
注意:
対応するソース・アーティファクトが見つからない場合、これらのナビゲーション・オプションは無効になります。たとえば、構成XMLファイルにアダプタに対応するエントリがない場合、「構成のソースに移動」メニュー項目はグレー表示されます。