CQL)のアプリケーションまでのコードの設定および使用方法だけでなく、空間や業界に特化したシナリオの場合も同様に説明します。この章の内容は次のとおりです。Processingには、次のサンプルがあります。Processingの基本スケルトン。CQL問合せを作成する方法を示すサンプル。CQL問合せで全地球測位システム(GPS)のイベント・ストリームを処理してバスのGPS位置を追跡し、バスが事前に定義されたバス停の位置に到着するとアラートを生成します。複数のコンポーネントを含む完全なサンプル。市場取引およびトレンド検出をシミュレートするサンプル。永続イベント・ストアを使用してイベントの記録と再生を構成する方法を示すサンプル。これらのサンプルは次の2つの形式で提供されます。2.1.1項「すぐに実行できるサンプル」2.1.2項「サンプル・ソース」サンプルではAntを開発ツールとして使用しています。Antの詳細とコンピュータへのインストール方法は、http://ant.apache.org/を参照してください。実行できるサンプルアセンブルしたアプリケーションをデプロイするための、そのまま使用できるサンプル・ドメインが事前に構成されています。わかりやすくするために、サンプルごとに固有のドメインが用意されています。各ドメインはスタンドアロンのサーバー・ドメインです。サーバー・ファイルは、ドメイン・ディレクトリのdefaultserverサブディレクトリに格納されます。アプリケーションをデプロイするには、単にドメインのデフォルト・サーバーを起動します。サンプルのHelloWorldドメインは\MIDDLEWARE_HOME\ocep_11.1\samples\domains\helloworld_domainにあります。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。詳細は、2.5.1項「helloworldドメインから実行するHelloWorldのサンプル」を参照してください。サンプルのCQLドメインはMIDDLEWARE_HOME\ocep_11.1\samples\domains\cql_domainにあります。詳細は、2.6.1項「CQLのサンプルの実行」を参照してください。SpatialドメインはMIDDLEWARE_HOME\ocep_11.1\samples\domains\spatial_domainにあります。Spatialサンプルの実行」を参照してください。サンプルの外国為替取引ドメインはMIDDLEWARE_HOME\ocep_11.1\samples\domains\fx_domainにあります。詳細は、2.8.1項「外国為替取引のサンプルの実行」を参照してください。サンプルのシグナル生成ドメインはMIDDLEWARE_HOME\ocep_11.1\samples\domains\signalgeneration_domainにあります。詳細は、2.9.1項「シグナル生成のサンプルの実行」を参照してください。サンプルの記録と再生のドメインはMIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domainにあります。詳細は、2.10.1項「イベントの記録/再生のサンプルの実行」を参照してください。サンプル・ソース各サンプルのJavaソースと構成XMLソースは、サンプルの開発環境を示す個別のソース・ディレクトリで提供されます。HelloWorldソース・ディレクトリは\MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\helloworldにあります。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。詳細は、2.5.4項「HelloWorldのサンプルの実装」を参照してください。CQLのソース・ディレクトリはMIDDLEWARE_HOME\ocep_11.1\\samples\source\applications\cqlにあります。詳細は、2.6.4項「CQLのサンプルの実装」を参照してください。Spatialのソース・ディレクトリはMIDDLEWARE_HOME\ocep_11.1\\samples\source\applications\spatialにあります。Spatialサンプルの実装」を参照してください。外国為替取引のソース・ディレクトリはMIDDLEWARE_HOME\ocep_11.1\samples\source\applications\fxにあります。詳細は、2.8.4項「外国為替取引のサンプルの実装」を参照してください。シグナル生成のソース・ディレクトリは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\signalgenerationにあります。詳細は、2.9.4項「シグナル生成のサンプルの実装」を参照してください。記録と再生のソース・ディレクトリはMIDDLEWARE_HOME\ocep_11.1\\samples\source\applications\recplayにあります。詳細は、2.10.4項「記録と再生のサンプルの実装」を参照してください。Processingコンポーネントをインストールするには、「カスタム」オプションを使用する必要があります。「標準」オプションには、デフォルトのocep_domainおよびサンプルは含まれません。Processingホーム・ディレクトリを指定することもできます。インストール・プロセスの後の手順を使用して、サンプルのみを次にインストールできます。Processingへ戻されるデータを受け入れます。Processingアプリケーションです。サンプルでそれを使用するには、次の各サンプルに示されている手順に従ってサーバーを起動済であることを確認し、ブラウザで次のURLを起動します。Processingをホストするコンピュータ名です。ブラウザを実行しているのと同じコンピュータである場合は、localhostとすることができます。HelloWorldアプリケーションではセキュリティが無効になるため、ログイン画面でユーザー名とパスワードを入力せずに「ログオン」をクリックできます。FXおよびシグナル生成のサンプルでは、セキュリティが有効になるため、次の情報を使用してログインします。Visualizerユーザーズ・ガイド』を参照してください。Processingアプリケーション全般について、実行時のスループットを向上させ待機時間を短縮させるには、次の処理をお薦めします。Processingインスタンスの起動コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。-dgcデフォルトでは、確定的ガベージ・コレクタはサンプルに対して無効になっています。Timeの詳細は、http://www.oracle.com/technology/products/jrockit/jrrt/index.htmlを参照してください。Processingを実行している場合は、コンピュータの容量に合わせてロード・ジェネレータとサーバーのヒープ・サイズを適切に設定する必要があります。1GBとすることをお薦めします。Processingアプリケーションの作成方法を示すこの最初のサンプルは、よく知られているHelloWorldです。図2-1に、HelloWorldサンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。HelloWorldサンプルのイベント処理ネットワーク」の説明このサンプルには次のコンポーネントが含まれています。World」というメッセージを毎秒生成するコンポーネント。実世界のシナリオでは、このコンポーネントは通常、ソース(金融機関から送られてくるデータなど)からデータ・ストリームを読み込み、読み込んだデータ・ストリームをイベント・プロセッサで処理できるイベント・ストリームに変換します。HelloWorldアプリケーションには、HelloWorldAdapterのインスタンスを作成するHelloWorldAdapterFactoryも含まれています。World」のメッセージ)をイベント・プロセッサに送信するコンポーネント。単純に、helloworldAdapterコンポーネントから受け取ったメッセージをビジネス・ロジックを含むPOJOに転送するコンポーネント。実世界のシナリオでは、このコンポーネントは通常、ストリームから受け取ったイベントに対して追加の処理やより多くの処理を実行します。CQLを使用して、プロパティ値に基づいてイベントのサブセットを選択する処理や、イベントをグループ化する処理があります。イベント・プロセッサで処理されたイベントを、ユーザー定義のビジネス・ロジックを含むPOJOに送るコンポーネント。出力チャネルを経由してプロセッサからひとまとまりのメッセージを受け取るたびに、単純にメッセージを出力するPOJOコンポーネント。実世界のシナリオでは、このコンポーネントにはアプリケーションのビジネス・ロジックが含まれます。例として、プロセッサから受け取ったイベントに関するレポートを実行するロジックや、適切な電子メールまたはアラートを送信するロジックがあります。helloworldドメインから実行するHelloWorldのサンプルHelloWorldアプリケーションはhelloworldドメインにあらかじめデプロイされています。Processingのインスタンスを起動します。HelloWorldのサンプルをhelloworldドメインから実行するには:コマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\domains\helloworld_domain\defaultserverにあるhelloworldドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\domains\helloworld_domain\defaultserverサーバー起動スクリプトで環境が正しく設定されていることを確認します。Processingアプリケーションの開発の開始」を参照してください。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.shサーバー・ステータス・メッセージがスクロールされた後、約1秒ごとに次のメッセージが出力されます。PMこのメッセージは、HelloWorldのサンプルが正しく実行されていることを示しています。ソース・ディレクトリからビルドおよびデプロイするHelloWorldのサンプルHelloWorldサンプルのソース・ディレクトリには、Javaソースと、HelloWorldアプリケーションを構成する他の必須リソース(構成XMLファイルなど)が含まれます。Antファイルには、アプリケーションをビルドしてhelloworldドメインにデプロイするためのターゲットが含まれています。WorldをビルドするAntターゲットの説明」を参照してください。Processingインスタンスがまだ実行されていない場合は、2.5.1項「helloworldドメインから実行するHelloWorldのサンプル」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。新しいコマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\helloworldにあるHelloWorldソース・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\helloworld3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Processingにデプロイします。deploy注意:このターゲットは、ドメイン・ディレクトリにある既存のhelloworldアプリケーションJARファイルを上書きします。出力先に約1秒ごとに次のメッセージが出力されます。PMこのメッセージは、HelloWorldのサンプルが再デプロイされ、正しく実行されていることを示しています。WorldをビルドするAntターゲットの説明HelloWorldソース・ディレクトリの最上位レベルにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.helloworld_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリの下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。Processingアプリケーションの作成」に従って行われます。標準的な開発プロセスが説明されているタスクごとの手順は、この項を参照してください。Processingアプリケーションを作成する一般的な手順で説明されるすべてのコンポーネントと構成ファイルが使用されるわけではありません。サンプルのすべてのファイルは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\helloworldディレクトリを基準にして相対的な場所にあります。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお薦めします。これは必須条件ではありません。HelloWorldのサンプルで使用するファイルは次のとおりです。アプリケーションの各コンポーネントと、すべてのコンポーネントの接続方法を記述したEPNアセンブリ・ファイル。EPNアセンブリ・ファイルは標準のSpringコンテキスト・ファイルを拡張します。このファイルはアプリケーションで使用されるイベント・タイプを登録します。Processingアプリケーションに組み込む必要があります。サンプルでは、このファイルはcom.bea.wlevs.example.helloworld-context.xmlという名前で、META-INF/springディレクトリにあります。helloworldAdapterコンポーネントのJavaソース・ファイル。サンプルでは、このファイルはHelloWorldAdapter.javaという名前で、src/com/bea/wlevs/adapter/example/helloworldディレクトリにあります。このファイルの詳細な説明と、アダプタJavaファイルの一般的なプログラミング方法については、第15章「カスタム・アダプタを使用した外部コンポーネントの統合」を参照してください。HelloWorldEventイベント・タイプを記述したJavaソース・ファイル。サンプルでは、このファイルはHelloWorldEvent.javaという名前で、src/com/bea/wlevs/event/example/helloworldディレクトリにあります。このファイルの詳細な説明と、イベント・タイプのプログラミングの概要については、第9章「イベント・タイプの定義および使用」を参照してください。helloworldProcessorおよびhelloworldOutputChannelコンポーネントを構成するXMLファイル。このファイルの重要な部分は、HelloWorldアプリケーションで処理するイベント・セットを選択するためのEPLルール・セットです。Processingアプリケーションに組み込む必要があります。アダプタとチャネルの構成は省略可能です。サンプルでは、このファイルはconfig.xmlという名前で、META-INF/wlevsディレクトリにあります。アプリケーションのhelloworldBeanコンポーネント(ビジネス・ロジックを含むPOJO)を実装するJavaファイル。サンプルでは、このファイルはHelloWorldBean.javaという名前で、src/com/bea/wlevs/example/helloworldディレクトリにあります。このファイルの詳細な説明と、イベント・シンクのプログラミングの概要については、第16章「Javaでのイベントの処理」を参照してください。ProcessingにデプロイされるOSGiバンドルのコンテンツを記述したMANIFEST.MFファイル。サンプルでは、MANIFEST.MFファイルがMETA-INFディレクトリにあります。ProcessingにデプロイするOSGiバンドルの作成方法の詳細は、23.1項「アプリケーションのアセンブリおよびデプロイメントの概要」を参照してください。Antファイルを使用します。開発環境でもAntを使用する場合、このbuild.xmlファイルの詳細は、2.5.2項「ソース・ディレクトリからビルドおよびデプロイするHelloWorldのサンプル」を参照してください。CQL問合せを作成する方法を示します。図2-2に、CQLサンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。CQLサンプルのイベント処理ネットワーク」の説明このアプリケーションのEPNには3つの異なるイベント・パスが含まれます。このイベント・パスは、チャネルorderChannelに接続するアダプタorderCVSAdapterで構成されています。orderChannelからプロセッサorderProcessor、チャネルalertChannel、アダプタalertOutputの順に接続しています。このイベント・パスは、顧客注文ワークフローの欠落イベントを検出するために使用されます。cqlProcプロセッサが実行する問合せの作成方法の詳細は、2.6.4.1項「欠落イベントの問合せの作成」を参照してください。このイベント・パスは、順に接続されているチャネルstockChannel、プロセッサstockProcessor、チャネルmovingAvgChannel、アダプタmovingOutputで構成されます。このイベント・パスは、数が1000を超える在庫の移動平均を計算するために使用されます。cqlProcプロセッサが実行する問合せの作成方法の詳細は、2.6.4.2項「移動平均の問合せの作成」を参照してください。Beanで構成されます。CQLプロセッサcacheProcessorに接続しています。Loaderもあります。CQL問合せのキャッシュの情報にアクセスするために使用されます。注意:EPNの様々なコンポーネントの詳細は、このマニュアルの他のサンプルを参照してください。最適なデモンストレーションの目的のためには、複数のCPUまたは3GHzのデュアル・コアIntelと最低限2GBのRAMを搭載した強力なコンピュータでこのサンプルを実行することをお薦めします。CQLアプリケーションはcql_domainドメインにあらかじめデプロイされています。Processingのインスタンスを起動します。CQLのサンプルを実行するには:コマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\domains\cql_domain\defaultserverにあるCQLドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\domains\cql_domain\defaultserver第3章「開発環境の設定」に従って開発環境を設定します。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.shこれで、CQLアプリケーションでデータ・フィードからデータを受信する準備ができました。Processingアプリケーションの開発の開始」の説明に従って環境を設定します。MIDDLEWARE_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。orderData.propプロパティ・ファイルを使用してロード・ジェネレータを実行します。Processingアプリケーションの開発の開始」の説明に従って環境を設定します。MIDDLEWARE_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。stockData.propプロパティ・ファイルを使用してロード・ジェネレータを実行します。stockData.propキャッシュの問合せのデータ・フィードをシミュレートするには、ただサンプルを実行します。ロード・データがAdaptor.javaによって生成され、キャッシュ・データがLoader.javaによって生成されます。Planの統計を有効にすると、データが流れていることを確認できます。CQLのサンプルのビルドとデプロイCQLサンプルのソース・ディレクトリには、Javaソースと、CQLアプリケーションを構成する他の必須リソース(構成XMLファイルなど)が含まれます。WorldをビルドするAntターゲットの説明」を参照)。Processingインスタンスがまだ実行されていない場合は、2.6.1項「CQLのサンプルの実行」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。新しいコマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\cqlにあるCQLソース・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\cql3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Processingにデプロイします。deploy注意:このターゲットは、ドメイン・ディレクトリにある既存のCQLアプリケーションJARファイルを上書きします。CQLアプリケーションで必要なロード・ジェネレータが実行されていない場合は、2.6.1項「CQLのサンプルの実行」の説明に従って起動します。CQLサンプルをビルドするAntターゲットの説明CQLソースの最上位レベル・ディレクトリにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.cql_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリの下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。CQLのサンプルの実装ここでは、CQLのサンプルで使用される問合せの作成方法を説明します。CQLのパターン一致問合せを作成する方法を説明します。Processingシステムに流れる顧客注文ワークフローについて考えてみます。有効なシナリオでは、表2-1に示す順序でイベントが出現します。有効な注文のワークフローイベント・タイプ説明C顧客の注文A承認S出荷ただし、表2-2に示すように承認イベントなしで注文が出荷されるとエラーになります。承認イベントの欠落を検出してアラート・イベントを生成する問合せを作成してテストします。Processingインスタンスがまだ実行されていない場合は、2.6.1項「CQLのサンプルの実行」の手順に従ってサーバーを起動します。Visualizerを使用するには、サーバーが実行中である必要があります。ブラウザで以下のURLを起動します。Processingが実行中のコンピュータ名を指します。NetIOポートを指します(デフォルト値9002)。図2-3に示すように「ログオン」画面が表示されます。「ログオン」画面で、「ユーザーID」にwlevs、「パスワード」にwlevsを入力し、「ログイン」をクリックします。Visualizerダッシュボードが表示されます。Visualizerユーザー・インタフェースの概要に関する項を参照してください。右側のペインで、「WLEventServerDomain」→「NonClusteredServer」→「アプリケーション」を展開します。cqlノードを選択します。図2-5に示すようにCQLアプリケーション画面が表示されます。「イベント処理ネットワーク」タブを選択します。図2-6に示すように「イベント処理ネットワーク」画面が表示されます。CQLプロセッサorderProcessorのアイコンをダブルクリックします。CQLプロセッサ画面が表示されます。「問合せウィザード」タブを選択します。図2-8に示すように「問合せウィザード」画面が表示されます。CQL問合せを作成できます。CQL問合せを作成します。CQLプロセッサのルール作成に関する項を参照してください。「テンプレート」タブを選択します。図2-9に示すように「テンプレート」タブが表示されます。図2-9に示すように、「パターン一致」テンプレートを「テンプレート」タブでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。SSourceのアイコンをダブルクリックします。図2-10に示すようにSSourceの構成ダイアログが表示されます。問合せのソースはorderChannelストリームです。SSourceを次のように構成します。「タイプ」として「ストリーム」を選択します。「ソースの選択」プルダウン・メニューでorderChannelを選択します。「保存」をクリックします。「問合せの保存」をクリックします。「パターン」アイコンをダブルクリックします。図2-11に示すようにパターンの構成ダイアログが表示されます。「パターン」タブを使用して、欠落イベントの発生と一致するパターン式を定義します。この式は、後の手順で「定義」タブに指定する名前付き条件を使用して作成します。「パターン式」フィールドに次の式を入力します。CQLのパターン量指定子が使用されます。パターン量指定子を使用して、パターン一致が許可される範囲を指定します。1文字のパターン量指定子は最大(最長マッチ)を指定し、まず最大の数量との一致を試行します。2文字のパターン量指定子は最小(最短マッチ)を指定し、まず最小の数量との一致を試行します。Processingが各注文について欠落イベントの問合せを検証するようになります。別名フィールドにOrdersと入力します。これで、パターンの別名(Orders)が割り当てられ、後から問合せで使用するときに便利です。「定義」タブをクリックします。図2-12に示すように「定義」タブが表示されます。「定義」タブ」の説明ここで、表2-4に示すようにパターン句に指定する各条件を定義します。'C'「オブジェクト名」フィールドにCustOrderと入力します。「式ビルダー」ボタンをクリックし、次のように式ビルダーを構成します(図2-13を参照)。「変数」リストでeventTypeをダブルクリックします。「オペランド」リストで=をダブルクリックします。=オペランドの後に値'C'を入力します。「保存」をクリックします。プラス記号ボタンをクリックします。図2-14に示すように条件定義がオブジェクト・リストに追加されます。「オブジェクト名」フィールドにNoApprovalと入力します。「式ビルダー」ボタンをクリックし、次のように式ビルダーを構成します(図2-15を参照)。「変数」リストでeventTypeをダブルクリックします。「オペランド」リストで=をダブルクリックします。=オペランドの後に値'A'を入力します。式をカッコで囲みます。式の先頭のカッコの外側にカーソルを置きます。「オペランド」リストでNOTをダブルクリックします。「保存」をクリックします。プラス記号ボタンをクリックします。条件定義がオブジェクト・リストに追加されます。「オブジェクト名」フィールドにShipmentと入力します。「式ビルダー」ボタンをクリックし、次のように式ビルダーを構成します(図2-16を参照)。「変数」リストでeventTypeをダブルクリックします。「オペランド」リストで=をダブルクリックします。=オペランドの後に値'S'を入力します。「保存」をクリックします。プラス記号ボタンをクリックします。図2-17に示すように「定義」タブが表示されます。「メジャー」タブをクリックします。図2-18に示すように「メジャー」タブが表示されます。「メジャー」タブを使用して、MATCH_RECOGNIZE条件に式を定義し、DEFINE句の条件と一致するストリーム要素を問合せのselect文に指定する引数にバインドします。「メジャー」タブを使用して次のように指定します。「オブジェクト名」フィールドにorderidと入力します。「式ビルダー」ボタンをクリックし、次のように式ビルダーを構成します(図2-19を参照)。「変数」リストでCustOrder.orderidをダブルクリックします。「保存」をクリックします。プラス記号ボタンをクリックします。「オブジェクト名」フィールドにamountと入力します。「式ビルダー」ボタンをクリックし、次のように式ビルダーを構成します(図2-20を参照)。「変数」リストでCustOrder.amountをダブルクリックします。「保存」をクリックします。プラス記号ボタンをクリックします。図2-21に示すように「メジャー」タブが表示されます。「保存」をクリックします。選択アイコンをダブルクリックします。図2-22に示すように選択の構成画面が表示されます。「プロジェクト」タブを次のように構成します。イベント・タイプの選択または入力プルダウン・メニューからAlertEventを選択します。「ソースの選択」プルダウン・メニューでOrdersを選択します。「プロパティ」リストのorderidをダブルクリックし、別名の選択または入力プルダウン・メニューからorderidを選択します。プラス記号ボタンをクリックして、このプロパティを「生成されたCQL文」に追加します。「プロパティ」リストのamountをダブルクリックし、別名の選択または入力プルダウン・メニューからamountを選択します。プラス記号ボタンをクリックして、このプロパティを「生成されたCQL文」に追加します。Approval"を入力し、別名の選択または入力プルダウン・メニューからalertTypeを選択します。プラス記号ボタンをクリックして、このプロパティを「生成されたCQL文」に追加します。図2-23に示すように「プロジェクト」タブが表示されます。「保存」をクリックします。「問合せの保存」をクリックします。「出力」アイコンをダブルクリックします。図2-24に示すように出力の構成ダイアログが表示されます。出力を次のように構成します。「問合せ」を選択します。「問合せ名」としてTrackingと入力します。「ルールのインジェクト」をクリックします。図2-25に示すように、ルールのインジェクトの「確認」ダイアログが表示されます。「OK」をクリックします。問合せウィザードによってルールがcqlProcプロセッサに追加されます。「保存」をクリックします。「CQLルール」タブをクリックします。図2-26に示すように「CQLルール」タブが表示されます。「問合せ」ラジオ・ボタンをクリックします。Tracking問合せが存在していることを確認します。Processingアプリケーションの開発の開始」の説明に従って環境を設定します。MIDDLEWARE_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。Processingをインストールした際に作成したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。orderData.propプロパティ・ファイルを使用してロード・ジェネレータを実行します。Visualizerで上のペインの「ストリームの表示」ボタンをクリックします。図2-27に示すように「ストリーム・ビジュアライザ」画面が表示されます。「クライアントの初期化」をクリックします。「登録」タブをクリックします。オーダー警告ラジオ・ボタンを選択します。「サブスクライブ」をクリックします。Processingによって「受信メッセージ」領域が更新され、生成されたAlertEventsが表示されます。CQLの移動平均問合せを作成する方法を説明します。これは2段階で行います。CQLにおける副問合せ)を作成します。「移動平均問合せのビュー・ソースの作成」を参照してください。次に、ソース・ビューを使用する移動平均問合せを作成します。「ビュー・ソースを使用する移動平均問合せの作成」を参照してください。最後に、移動平均問合せをテストします。「移動平均問合せのテスト」を参照してください。Processingインスタンスがまだ実行されていない場合は、2.6.1項「CQLのサンプルの実行」の手順に従ってサーバーを起動します。Visualizerを使用するには、サーバーが実行中である必要があります。ブラウザで以下のURLを起動します。Processingが実行中のコンピュータ名を指します。NetIOポートを指します(デフォルト値9002)。図2-28に示すように「ログオン」画面が表示されます。「ログオン」画面で、「ユーザーID」にwlevs、「パスワード」にwlevsを入力し、「ログイン」をクリックします。Visualizerダッシュボードが表示されます。Visualizerユーザー・インタフェースの概要に関する項を参照してください。右側のペインで、「WLEventServerDomain」→「NonClusteredServer」→「アプリケーション」を展開します。cqlノードを選択します。図2-30に示すようにCQLアプリケーション画面が表示されます。「イベント処理ネットワーク」タブを選択します。図2-31に示すように「イベント処理ネットワーク」画面が表示されます。CQLプロセッサstockProcessorのアイコンをダブルクリックします。CQLプロセッサ画面が表示されます。「問合せウィザード」タブを選択します。図2-33に示すように「問合せウィザード」画面が表示されます。CQL問合せを作成できます。CQLのビューおよび問合せを作成します。CQLプロセッサのルール作成に関する項を参照してください。図2-34に示すように、SSourceアイコン(ストリーム・ソース)を「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。SSource」の説明SSourceのアイコンをダブルクリックします。SSourceの構成画面が表示されます。ビューのソースはstockChannelストリームになります。このストリームから、数が1000を超える在庫イベントを選択します。これが移動平均問合せのソースになります。SSourceを次のように構成します(図2-35)。「タイプ」として「ストリーム」を選択します。ビューのソースはstockChannelストリームになります。「ソースの選択」プルダウン・メニューでstockChannelを選択します。別名StockVolGt1000を「AS」フィールドに入力します。「保存」をクリックします。「問合せの保存」をクリックします。プロンプトが表示されたら、「問合せID」フィールドにStockVolGt1000と入力します。「保存」をクリックします。CQLフィルタを追加します。図2-36に示すように、「フィルタ」アイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。「フィルタ」アイコンをダブルクリックします。図2-38に示すようにフィルタの構成ダイアログが表示されます。「式ビルダー」ボタンをクリックします。「式ビルダー」ダイアログが表示されます。式ビルダーを次のように構成します(図2-39)。「イベント・タイプの選択」プルダウン・メニューからStockVolGt100を選択し、この式で使用できる変数を定義します。volume変数をダブルクリックして、「式ビルダー」フィールドに追加します。「オペランド」リストの>をダブルクリックして、「式ビルダー」フィールドに追加します。>オペランドの後に値1000を入力します。「保存」をクリックします。「フィルタの追加」をクリックします。図2-40に示すように、問合せウィザードによって「生成されたCQL文」にこの式が追加されます。「保存」をクリックします。「問合せの保存」をクリックします。次は、select文を追加します。図2-41に示すように、選択アイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。選択アイコンをダブルクリックします。選択の構成画面が表示されます。price、symbolおよびvolumeをStockVolGt1000ストリームから選択します。選択を次のように構成します。「ソースの選択」プルダウン・メニューでStockVolGt1000を選択します。priceプロパティを選択し、プラス記号ボタンをクリックします。問合せウィザードによって、プロパティが「生成されたCQL文」に追加されます。symbolプロパティとvolumeプロパティについても繰り返します。図2-42に示すように選択の構成ダイアログが表示されます。「保存」をクリックします。「問合せの保存」をクリックします。最後に出力を追加します。図2-43に示すように、「出力」アイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。「出力」アイコンをダブルクリックします。出力の構成画面が表示されます。出力を次のように構成します(図2-44)。「ビュー」を選択します。「ビュー名」にStockVolGt1000を構成します。「スキーマの表示」フィールドの内容を削除します。Processingサーバーによってビュー・スキーマが定義されます。「ルールのインジェクト」をクリックします。図2-45に示すように、ルールのインジェクトの「確認」ダイアログが表示されます。「OK」をクリックします。問合せウィザードによってルールがcqlProcプロセッサに追加されます。「保存」をクリックします。「CQLルール」タブをクリックします。図2-46に示すように「CQLルール」タブが表示されます。「ビュー」ラジオ・ボタンをクリックします。StockVolGt1000ビューが存在していることを確認します。Processingインスタンスがまだ実行されていない場合は、2.6.1項「CQLのサンプルの実行」の手順に従ってサーバーを起動します。Visualizerを使用するには、サーバーが実行中である必要があります。ブラウザで以下のURLを起動します。Processingが実行中のコンピュータ名を指します。NetIOポートを指します(デフォルト値9002)。図2-47に示すように「ログオン」画面が表示されます。「ログオン」画面で、「ユーザーID」にwlevs、「パスワード」にwlevsを入力し、「ログイン」をクリックします。Visualizerダッシュボードが表示されます。Visualizerユーザー・インタフェースの概要に関する項を参照してください。左側のペインで、「WLEventServerDomain」→「NonClusteredServer」→「アプリケーション」を展開します。cqlノードを選択します。図2-49に示すようにCQLアプリケーション画面が表示されます。「イベント処理ネットワーク」タブを選択します。図2-50に示すように「イベント処理ネットワーク」画面が表示されます。CQLプロセッサstockProcessorのアイコンをダブルクリックします。CQLプロセッサ画面が表示されます。「問合せウィザード」タブを選択します。図2-52に示すように「問合せウィザード」画面が表示されます。最近このプロセッサに対する問合せを作成または編集している場合は、その問合せが問合せウィザードのキャンバスに表示される可能性があります。それ以外の場合、キャンバスは空白になります。CQL問合せを作成できます。CQLのビューおよび問合せを作成します。CQLプロセッサのルール作成に関する項を参照してください。図2-53に示すように、SSourceアイコン(ストリーム・ソース)を「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。移動平均問合せのSSource」の説明SSourceのアイコンをダブルクリックします。SSourceの構成画面が表示されます。SSourceダイアログを次のように構成します(図2-54)。「タイプ」として「ビュー」を選択します。「ソースの選択」プルダウン・メニューでStockVolGt1000ビューを選択します。「保存」をクリックします。「問合せの保存」をクリックします。図2-55に示すように、ウィンドウアイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。ウィンドウアイコンをダブルクリックします。SSourceの構成画面が表示されます。symbolをパーティションとして、最後の2つのイベントに対するスライディング・ウィンドウを作成します。ウィンドウ・ダイアログを次のように構成します(図2-56)。「ソース・プロパティ・リスト」でsymbolを選択して、パーティション・リストに追加します。「タイプ」として「パーティション」を選択します。「行ベース」を選択し、「行ベース」フィールドに2を入力します。「ウィンドウの追加」をクリックします。図2-56に示すように、問合せウィザードによって「生成されたCQL文」にこのスライディング・ウィンドウが追加されます。「保存」をクリックします。「問合せの保存」をクリックします。図2-57に示すように、選択アイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。選択アイコンをダブルクリックします。選択の構成画面が表示されます。「ソースの選択」プルダウン・メニューでStockVolGt1000を選択します。これは、前に作成した移動平均問合せのビューのソースです(「移動平均問合せのビュー・ソースを作成するには:」を参照してください)。ターゲット・イベント・タイププルダウン・メニューからMovingAvgEventを選択します。これは、移動平均問合せによって生成される出力イベントです。ソース・イベントからこの出力イベントにプロパティをマップします。「ソースのプロパティ」リストからsymbolを選択します。図2-58に示すように、選択したソース・プロパティが「プロジェクト式」に追加されます。ソース・プロパティsymbolの選択」の説明このケースでは、ソース・プロパティsymbolを出力イベント・プロパティsymbolにそのままマップします。「AS」フィールドの横のプルダウン・メニューをクリックし、symbolを選択します。プラス記号ボタンをクリックします。図2-59に示すように、このソース・プロパティが「生成されたCQL文」のプロジェクト式に追加されます。「ソースのプロパティ」リストからpriceを選択します。図2-60に示すように、選択したソース・プロパティが「プロジェクト式」に追加されます。ソース・プロパティpriceの選択」の説明このケースでは、ソース・プロパティpriceを処理した後で出力イベントにマップします。「式ビルダー」ボタンをクリックします。「式ビルダー」ダイアログが表示されます。「関数タイプの選択」プルダウン・メニューで「集計関数」を選択します。CQLで提供される集計関数のリストが表示されます。AVG関数を使用します。「式ビルダー」フィールドでStockVolGt1000.priceを選択します。AVG関数をダブルクリックします。図2-61に示すように、「式ビルダー」フィールドで選択した部分がAVG()関数によって囲まれます。「保存」をクリックします。図2-62に示すように、式が「プロジェクト式」フィールドに追加されます。「AS」フィールドの横のプルダウン・メニューをクリックし、movingAvgPriceを選択します。プラス記号ボタンをクリックします。図2-63に示すように、このソース・プロパティが「生成されたCQL文」のプロジェクト式に追加されます。「検証」をクリックします。図2-64に示すように検証エラー・ダイアログが表示されます。BY句を指定する必要があります。「グループ」タブを選択します。「グループ」タブが表示されます。「グループ」タブを次のように構成します(図2-65)。「ソースの選択」プルダウン・メニューでStockVolGt1000を選択します。「プロパティ」リストからsymbolを選択します。プラス記号ボタンをクリックします。BY句に追加されます。「保存」をクリックします。「問合せの保存」をクリックします。次は、問合せを出力に結び付けます。図2-66に示すように、「出力」アイコンを「CQL構文」パレットでクリックし、問合せウィザードのキャンバスの任意の場所にドラッグ・アンド・ドロップします。CQL構文を接続します。「出力」アイコンをダブルクリックします。出力の構成画面が表示されます。出力を次のように構成します(図2-67)。「問合せ」を選択します。「問合せ名」としてMovingAverageと入力します。「ルールのインジェクト」をクリックします。図2-68に示すように、ルールのインジェクトの「確認」ダイアログが表示されます。「OK」をクリックします。問合せウィザードによってルールがcqlProcプロセッサに追加されます。「保存」をクリックします。「CQLルール」タブをクリックします。図2-69に示すように「CQLルール」タブが表示されます。「問合せ」ラジオ・ボタンをクリックします。MovingAverage問合せが存在していることを確認します。移動平均問合せをテストするには:移動平均の問合せのデータ・フィードをシミュレートするには、新しいコマンド・ウィンドウを開き、3.2項「開発環境の設定」の説明に従って環境を設定します。MIDDLEWARE_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。stockData.propプロパティ・ファイルを使用してロード・ジェネレータを実行します。Visualizerで上のペインの「ストリームの表示」ボタンをクリックします。図2-70に示すように「ストリーム・ビジュアライザ」画面が表示されます。「クライアントの初期化」をクリックします。「クライアントの初期化」フィールドに/stockmovingと入力します。「サブスクライブ」をクリックします。Processingによって「受信メッセージ」領域が更新され、生成されたイベントが表示されます。CQL問合せで全地球測位システム(GPS)のイベント・ストリームを処理してバスのGPS位置を追跡し、バスが事前に定義されたバス停の位置に到着するとアラートを生成します。Spatialサンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。Spatialサンプルのイベント処理ネットワーク」の説明このサンプルには次のコンポーネントが含まれています。バス位置のGPSイベントの入力ストリームをシミュレートするコンポーネント。Processingのloadgenユーティリティおよびcsvgenアダプタ・プロバイダを使用して、カンマ区切り値(CSV)を読み取り、EPNにBusPosイベントとして渡します。MIDDLEWARE_HOME\ocep_11.1\samples\domains\spatial_domain\defaultserver\applications\spatial_sample\bus_stops.csvに基づいてバス停の位置を生成するカスタム・アダプタ・コンポーネント。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。BusPosイベントをProcessorにストリームとして送るコンポーネント。BusPosイベントをProcessorにリレーションとして送るコンポーネント。CQL問合せを実行するコンポーネント。Processorコンポーネントから別の問合せの結果を適切な発信アダプタまたは発信Beanに伝えるために、それぞれが別のセレクタを指定するコンポーネント。Processorコンポーネントの問合せの結果をパブリッシュするコンポーネント。挿入、削除および更新の各イベントのメッセージを記録するPOJOイベントBeanコンポーネント。BusStopArrivalChannelで提供されるリレーションの視覚化に役立ちます。Spatialアプリケーションはspatial_domainドメインにあらかじめデプロイされています。Processingのインスタンスを起動します。Spatialサンプルのドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。iddleware\ocep_11.1\samples\domains\spatial_domain\defaultserverサーバー起動スクリプトで環境が正しく設定されていることを確認します。Processingアプリケーションの開発の開始」を参照してください。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.shコンソール・ログに次のように表示されるまで待機します。Spatialサンプルが正しく実行されていることを示しています。Spatialサンプルが実行しているのと同じホストで、ブラウザを起動してhttp://localhost:9002/bus/main.htmlに移動します。注意:あるホストでこのサンプルを実行し、別のホストからブラウズすることはできません。Processingの制約ではありません。SpatialサンプルのWebページが、図2-72のように表示されます。SpatialのWebページ」の説明バス停到着タブをクリックすると、図2-73に示すようにバス停の到着データが表示されます。Processingロード・ジェネレータを実行して、サンプル・データを生成します。Windowsの場合:コマンド・プロンプトを開いて、MIDDLEWARE_HOME/ocep_11.1/utils/load-generatorにナビゲートします。bus_positions.propUNIXの場合:ターミナル・ウィンドウを開いて、MIDDLEWARE_HOME/ocep_11.1/utils/load-generatorにナビゲートします。bus_positions.prop図2-74に示すように、バスの運行状況とアラートをブラウザで確認します。Spatialアプリケーションを構成する他の必須リソース(構成XMLファイルなど)が含まれます。Antファイルには、アプリケーションをビルドしてspatial_domainドメインにデプロイするためのターゲットが含まれています。WorldをビルドするAntターゲットの説明」を参照してください。Spatialサンプルの実行」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。Spatialソース・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\spatial3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Processingにデプロイします。SpatialのアプリケーションJARファイルを上書きします。Spatialのソース・ディレクトリの最上位レベルにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.helloworld_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリの下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。Processingアプリケーションの標準的な作成手順に関する項に従って行われます。標準的な開発プロセスが説明されているタスクごとの手順は、この項を参照してください。Spatialサンプルのすべてのファイルは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\spatialディレクトリを基準にして相対的な場所にあります。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお薦めします。これは必須条件ではありません。Spatialサンプルで使用されるファイルは次のとおりです。アプリケーションの各コンポーネントと、すべてのコンポーネントの接続方法を記述したEPNアセンブリ・ファイル。Processingアプリケーションに組み込む必要があります。サンプルでは、このファイルはcontext.xmlという名前で、META-INF/springディレクトリにあります。アプリケーションのプロセッサ・コンポーネントなど、EPNの様々なコンポーネントを構成するコンポーネント構成ファイル。サンプルでは、このファイルはconfig.xmlという名前で、META-INF/wlevsディレクトリにあります。MIDDLEWARE_HOME\ocep_11.1\samples\domains\spatial_domain\defaultserver\applications\spatial_sample\bus_stops.csvに基づいてバス停の位置を生成するカスタム・アダプタ・コンポーネント。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。OutputBean:挿入、削除および更新の各イベントのメッセージを記録するPOJOイベントBeanコンポーネント。BusStopArrivalChannelで提供されるリレーションの視覚化に役立ちます。JGeometryからDouble値のListとして縦座標を返すメソッドgetOrdsを提供するヘルパー・クラス。これらのJavaファイルは、source\applications\spatial\src\com\oracle\cep\sample\spatialディレクトリにあります。APIリファレンスを参照してください。ProcessingにデプロイされるOSGiバンドルのコンテンツを記述したMANIFEST.MFファイル。サンプルでは、MANIFEST.MFファイルがMETA-INFディレクトリにあります。ProcessingにデプロイするOSGiバンドルの作成方法の詳細は、23.1項「アプリケーションのアセンブリおよびデプロイメントの概要」を参照してください。Antファイルを使用します。Spatialサンプル」を参照してください。外国為替取引(FX)のサンプル外国為替取引のサンプル(簡単にFXと呼びます)は、複数のデータ・フィードから読み込んだ情報を処理するために複数のプロセッサを使用しているので、HelloWorldのサンプルよりも複雑です。Processingロード・ジェネレータ・ユーティリティを使用してデータ・フィードをシミュレートします。図2-75に、FXサンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。FXサンプルのイベント処理ネットワーク」の説明このシナリオでは、ロード・ジェネレータを使用してシミュレートした3つのデータ・フィードにより、世界各地から定数の値のペアが送信されます。値のペアは通貨を組み合せたもので、たとえばUSDEURは米ドルと欧州ユーロの組合せを表します。値のペアと共に2つの通貨間の為替レートも送信されます。fxMarketAmer、fxMarketAsiaおよびfxMarketEuroの各アダプタはフィードからデータを受信し、受信したデータをイベントに変換して、対応するFilterAmer、FilterAsiaおよびFilterEuroの各プロセッサに渡します。各プロセッサは、初期期限切れチェックを実行し、発生からの経過時間が1秒を超えているイベントがないことを確認します。境界チェックを実行し、2つの通貨間の為替レートが現在の境界の範囲内にあることを確認します。プロセッサは、特定のチャネルから特定の通貨のペアのみを選択します。シミュレートされた米国のデータ・フィードからはUSDEURを選択し、USDAUD(オーストラリア・ドル)などの他のすべてのペアを拒否します。各データ・フィード・プロバイダからのデータがこの初期準備フェーズを通過すると、FindCrossRateという別のプロセッサが、すべてのプロバイダのすべてのイベントを結合し、最大レートと最小レートの中間点を計算して、トレーダが指定したスプレッドを適用します。最後に、プロセッサはビジネス・コードを含むPOJOにレートを転送します。このサンプルでは、POJOは単純にレートをクライアントにパブリッシュします。Processingモニターは、直前のステップのイベント待機時間が特定のしきい値を超えていないか(たとえば、30秒という時間内に更新されたレートがないか)、また同じ通貨のペアで2つの連続的なレート間の偏差が大きすぎないかを監視するように構成されています。httpパブリッシュ/サブスクライブ・サーバーに転送されます。最適なデモンストレーションの目的のためには、複数のCPUまたは3GHzのデュアル・コアIntelと最低限2GBのRAMを搭載した強力なコンピュータでこのサンプルを実行することをお薦めします。外国為替取引(FX)アプリケーションはfx_domainドメインにあらかじめデプロイされています。Processingのインスタンスを起動します。外国為替取引のサンプルを実行するには:コマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\domains\fx_domain\defaultserverにあるFXドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。iddleware\ocep_11.1\samples\domains\fx_domain\defaultserver3.2項「開発環境の設定」に従って開発環境を設定します。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.shこれで、FXアプリケーションでデータ・フィードからデータを受信する準備ができました。Processingアプリケーションの開発の開始」の説明に従って環境を設定します。MIDDLEWARE_HOME\ocep_11.1\utils\load-generatorディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。fxAmer.propプロパティ・ファイルを使用してロード・ジェネレータを実行します。6を繰り返し、アジアのデータ・フィードをシミュレートします。6を繰り返し、ヨーロッパのデータ・フィードをシミュレートします。fxEuro.propサーバーを起動したコマンド・ウィンドウでサーバー・ステータス・メッセージがスクロールされ、3つのロード・ジェネレータが起動した後、サーバーのコマンド・ウィンドウに次のようなメッセージが出力されます(おそらくメッセージは1行で表示されます)。<IsTotalOrderGuarantee>false</IsTotalOrderGuarantee></TupleValue>これらのメッセージは、外国為替取引のサンプルが正しく実行されていることを示しています。出力では、米ドル対日本円および米ドル対英国ポンドのクロス・レートが示されています。ソース・ディレクトリからビルドおよびデプロイする外国為替取引のサンプル外国為替取引(FX)サンプルのソース・ディレクトリには、Javaソースと、FXアプリケーションを構成する他の必須リソース(構成XMLファイルなど)が含まれます。WorldをビルドするAntターゲットの説明」を参照)。Processingインスタンスがまだ実行されていない場合は、2.8.1項「外国為替取引のサンプルの実行」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。新しいコマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\fxにあるFXソース・ディレクトリに移動します。Processingインストール・ディレクトリをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\fx3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Processingにデプロイします。deploy注意:このターゲットは、ドメイン・ディレクトリにある既存のFXアプリケーションJARファイルを上書きします。FXアプリケーションで必要なロード・ジェネレータが実行されていない場合は、2.8.1項「外国為替取引のサンプルの実行」の説明に従って起動します。サーバー・ステータス・メッセージがスクロールされた後、出力先に次のメッセージが出力されます。internalPrice=117.73945624999783}このメッセージは、FXのサンプルが再デプロイされ、正しく実行されていることを示しています。FXをビルドするAntターゲットの説明FXソースの最上位レベル・ディレクトリにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.fx_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリの下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。Processingアプリケーションの標準的な作成手順に関する項に従って行われます。標準的な開発プロセスが説明されているタスクごとの手順は、この項を参照してください。FXサンプルのすべてのファイルは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\fxディレクトリを基準にして相対的な場所にあります。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:\Oracle\Middlewareなど)。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお薦めします。これは必須条件ではありません。FXのサンプルで使用するファイルは次のとおりです。アプリケーションの各コンポーネントと、すべてのコンポーネントの接続方法を記述したEPNアセンブリ・ファイル。Processingアプリケーションに組み込む必要があります。サンプルでは、このファイルはcom.oracle.cep.sample.fx.context.xmlという名前で、META-INF/springディレクトリにあります。アプリケーションのプロセッサ・コンポーネントを構成する2つのXMLファイル。1つ目のXMLファイルは、filterAmer、filterAsia、filterEuroおよびFindCrossRatesの各プロセッサをすべて1つのファイルで構成します。CQLルールは、シミュレートされた特定のマーケット・フィードから特定の通貨ペアを選択し、プリプロセッサで選択されたすべてのイベントを結合し、特定の通貨ペアの内部価格を計算し、さらにクロス・レートを計算します。サンプルでは、このファイルはspreader.xmlという名前で、META-INF/wlevsディレクトリにあります。CQLルールを含みます。サンプルでは、このファイルはSummarizeResults.xmlという名前で、META-INF/wlevsディレクトリにあります。httpパブリッシュ/サブスクライブ・アダプタを構成するXMLファイル。サンプルでは、このファイルはPubSubAdapterConfiguration.xmlという名前で、META-INF/wlevsディレクトリにあります。アプリケーションのOutputBeanコンポーネント(ビジネス・ロジックを含むPOJO)を実装するJavaファイル。このPOJOは、受信したイベント(onEventメソッドでプログラミングされたもの)を画面に出力します。イベント・タイプ・リポジトリにForeignExchangeEventイベント・タイプを登録します。サンプルでは、このファイルはOutputBean.javaという名前で、src/com/oracle/cep/sample/fxディレクトリにあります。APIリファレンスを参照してください。ProcessingにデプロイされるOSGiバンドルのコンテンツを記述したMANIFEST.MFファイル。サンプルでは、MANIFEST.MFファイルがMETA-INFディレクトリにあります。ProcessingにデプロイするOSGiバンドルの作成方法の詳細は、23.1項「アプリケーションのアセンブリおよびデプロイメントの概要」を参照してください。Antファイルを使用します。開発環境でもAntを使用する場合、このbuild.xmlファイルの詳細は、2.8.2項「ソース・ディレクトリからビルドおよびデプロイする外国為替取引のサンプル」を参照してください。シグナル生成のサンプルシグナル生成のサンプル・アプリケーションは、シミュレートされたマーケット・データを受信し、証券の価格変動が2%を超えたかどうかを検証します。このアプリケーションは、特定の銘柄の連続的な株価を追跡することにより、パターンの発生も検出します。以前を上回る価格が連続3回を超えた場合に、パターンと見なします。図2-76に、シグナル生成サンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。Processingロード・ジェネレータ・ユーティリティを使用してマーケット・データ・フィードをシミュレートします。このサンプルでは、ロード・ジェネレータは毎秒最大10,000個のメッセージを生成します。サンプルには、照合したイベントとレイテンシを表示するHTMLダッシュボードが含まれています。イベントは、銘柄記号、タイム・スタンプ、および価格で構成されます。このサンプルは非常に短い待機時間を示し、スループットが高い状況では待機時間のジッタは最小限になります。アプリケーションの実行が開始されると、プロセッサは毎秒平均800個のメッセージを照合します。300マイクロ秒)と最小待機時間スパイク(数ミリ秒単位)を示します。Processingのタイム・スタンプ間の差分に基づいてレイテンシ値を計算し、表示しています。Processingを実行するコンピュータの間で、1ミリ秒のような非常に厳密なクロック同期が必要です。Processingの両方を1台のマルチCPUコンピュータで実行し、共通のクロックを共有することをお薦めします。Processingイベント・キャッシング機能の使用方法も示されています。具体的には、EPNの単一のプロセッサからイベントBeanとキャッシュの両方にイベントが送信されます。CQL問合せの使用方法も示します。最適なデモンストレーションの目的のためには、複数のCPUまたは3GHzのデュアル・コアIntelと最低限2GBのRAMを搭載した強力なコンピュータでこのサンプルを実行することをお薦めします。signalgeneration_domainドメインには、単一のアプリケーションであるシグナル生成サンプル・アプリケーションが含まれています。Processingインスタンスを起動するだけです。シグナル生成のサンプルを実行するには:コマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\domains\signalgeneration_domain\defaultserverにあるsignalgeneration_domainドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\domains\signalgeneration_domain\defaultserver3.2項「開発環境の設定」に従って開発環境を設定します。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.sh次のようなコンソール・メッセージが表示されるまで待機します。0...これで、シグナル生成アプリケーションでデータ・フィードからデータを受信する準備ができました。次は、データ・フィードをシミュレートするために、このサンプル用にプログラミングされたロード・ジェネレータを使用します。新しいコマンド・ウィンドウを開きます。MIDDLEWARE_HOME\ocep_11.1\samples\domains\signalgeneration_domain\defaultserver\utilsディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:Oracle\Middlewareなど)。startDataFeedコマンドを実行します。startDataFeed.shブラウザを起動し、次のHTMLページを開いて、サンプルのダッシュボードを起動します。Processingを実行しているコンピュータの名前に置き換えます。ブラウザと同じコンピュータである場合は、localhostとすることができます。ブラウザで、HTMLページの開始をクリックします。CQLルールと一致するイベントの表示が開始します。ソース・ディレクトリからビルドおよびデプロイするシグナル生成のサンプルシグナル生成サンプルのソース・ディレクトリには、Javaソースと、シグナル生成アプリケーションを構成する他の必須のリソース(構成XMLファイル、EPNアセンブリ・ファイル、DOJOクライアントJavaScriptライブラリなど)が含まれます。Antファイルには、アプリケーションをビルドしてsignalgeneration_domainドメインにデプロイするためのターゲットが含まれています(2.9.3項「シグナル生成をビルドするAntターゲットの説明」を参照)。Processingインスタンスがまだ実行されていない場合は、2.9.1項「シグナル生成のサンプルの実行」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。新しいコマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\signalgenerationにあるシグナル生成ソース・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\signalgeneration3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Antターゲットを実行してアプリケーションJARファイルをMIDDLEWARE_HOME\ocep_11.1\samples\domains\signalgeneration_domain\defaultserver\applications\signalgenerationディレクトリにデプロイします。deploy注意:このターゲットは、ドメイン・ディレクトリにある既存のシグナル生成アプリケーションJARファイルを上書きします。シグナル生成アプリケーションで必要なロード・ジェネレータが実行されていない場合は、2.9.1項「シグナル生成のサンプルの実行」の説明に従って起動します。2.9.1項「シグナル生成のサンプルの実行」の説明に従って、サンプルのダッシュボードを起動します。シグナル生成をビルドするAntターゲットの説明シグナル生成サンプル・ソースの最上位レベル・ディレクトリにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.signalgen_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリの下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。Processingアプリケーションの標準的な作成手順に関する項に従って行われます。標準的な開発プロセスが説明されているタスクごとの手順は、この項を参照してください。シグナル生成のすべてのファイルは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\signalgenerationディレクトリを基準にして相対的な場所にあります。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(c:\Oracle\Middlewareなど)。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお薦めします。これは必須条件ではありません。シグナル生成のサンプルで使用されるファイルは次のとおりです。アプリケーションの各コンポーネントと、すべてのコンポーネントの接続方法を記述したEPNアセンブリ・ファイル。サンプルでは、このファイルはepn_assembly.xmlという名前で、META-INF/springディレクトリにあります。アプリケーションのプロセッサ・コンポーネントを構成するXMLファイル。このファイルはconfig.xmlという名前で、META-INF/wlevsディレクトリにあります。CQLプロセッサを構成します。CQLルールを構成します。アプリケーションのSignalgenOutputBeanコンポーネントすなわちビジネス・ロジックを含むPOJOを実装するJavaファイル。このPOJOは、HttpServletおよびEventSinkです。このonEventメソッドは、PercentTickおよびTrendTickイベント・インスタンスを使用して、待機時間を計算し、ダッシュボードの情報を表示します。サンプルでは、このファイルはSignalgenOutputBean.javaという名前で、src/oracle/cep/example/signalgenディレクトリにあります。イベント・シンクのプログラミングに関する一般情報については、16.2項「ソースおよびシンクでのイベントの処理」を参照してください。ProcessingにデプロイされるOSGiバンドルのコンテンツを記述したMANIFEST.MFファイル。サンプルでは、MANIFEST.MFファイルがMETA-INFディレクトリにあります。ProcessingにデプロイするOSGiバンドルの作成方法の詳細は、23.1項「アプリケーションのアセンブリおよびデプロイメントの概要」を参照してください。メインのサンプル・ディレクトリにあるdashboard.htmlファイル。このHTMLファイルは、実行中のシグナル生成アプリケーションのイベントと待機時間を表示するサンプル・ダッシュボードです。JavaScriptライブラリを使用します。APIリファレンスを参照してください。Antファイルを使用します。開発環境でもAntを使用する場合、このbuild.xmlファイルの詳細は、2.9.2項「ソース・ディレクトリからビルドおよびデプロイするシグナル生成のサンプル」を参照してください。イベントの記録と再生のサンプル記録と再生のサンプルは、1つのコンポーネントを構成してイベントをイベント・ストアに記録し、ネットワークの別のコンポーネントを構成してストアにあるイベントを再生する方法を示します。Processingで提供されるデフォルトのBerkeleyデータベースを使用してイベントを格納します。pub-subアダプタを構成する方法も示します。図2-78に、イベントの記録と再生のサンプルのイベント処理ネットワーク(EPN)を示します。EPNには、このアプリケーションを構成するコンポーネントが含まれ、コンポーネントの組合せが示されます。イベントの記録と再生のサンプルのイベント処理ネットワーク」の説明このアプリケーションのイベント処理ネットワークには次の4つのコンポーネントが含まれています。例を示すだけの目的で単純なイベントを生成するアダプタ。図で示したように、このコンポーネントはイベントを記録するよう構成されています。このアダプタの構成ソースは次のとおりです。simpleEventSourceアダプタとrecplayEventSinkイベントBeanを接続するチャネル。このコンポーネントはイベントを再生するように構成されています。このチャネルの構成ソースは次のとおりです。アダプタで生成されるイベントのシンクとして機能するイベントBean。HTTPパブリッシュ/サブスクライブ・サーバーの/playbackchannelというチャネルにパブリッシュするパブリッシュ用HTTPパブリッシュ/サブスクライブ・アダプタ。イベントの記録/再生のサンプルの実行recplay_domainドメインには、記録と再生のサンプル・アプリケーションという単一のアプリケーションが含まれています。Processingのインスタンスを最初に起動します。Visualizerを使用してsimpleEventSourceおよびeventStreamコンポーネントでイベントの記録と再生をそれぞれ開始する方法を示しています。Visualizerを使用して、playbackHttpPublisherアダプタによってチャネルにパブリッシュされるイベントのストリームを表示する方法を示しています。イベントの記録/再生のサンプルを実行するには:コマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domain\defaultserverにあるrecplay_domainドメイン・ディレクトリのデフォルト・サーバー・ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\domains\recplay_domain\defaultserver3.2項「開発環境の設定」に従って開発環境を設定します。Processingを起動します。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。JDKを使用している場合は、コマンドに-dgcパラメータを指定して確定的ガベージ・コレクタを有効にします。startwlevs.shサーバー・ステータス・メッセージがスクロールされた後、出力先に次のメッセージが出力されます。Processingサーバーが正しく起動され、simpleEventSourceコンポーネントがイベントを作成していることを示しています。ブラウザで以下のURLを起動します。Processingが実行中のコンピュータ名を指します。NetIOポートを指します(デフォルト値9002)。図2-79に示すように「ログオン」画面が表示されます。「ログオン」画面で、「ユーザーID」にwlevs、「パスワード」にwlevsを入力し、「ログイン」をクリックします。Visualizerダッシュボードが表示されます。Visualizerユーザー・インタフェースの概要に関する項を参照してください。左側のペインで、WLEventServerDomain→NonClusteredServer→「アプリケーション」→「Recplay」→「ステージ」→simpleEventSourceを選択します。図2-81に示すように、右側のペインで「記録」タブを選択します。Nameフィールドには、例2-1に示すように、simpleEventSourceアダプタ・アプリケーション構成ファイルMIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domain\defaultserver\applications\recplay\config.xmlのdataset-name要素のrecord-parameters子要素の値が含まれます。</record-parameters></adapter>「記録」タブの下の「開始」をクリックします。図2-82に示すように「アラート」ダイアログが表示されます。「OK」をクリックします。現在のステータス・フィールドに記録中と表示されます。「OK」をクリックするとすぐに、イベントがsimpleEventSourceコンポーネントから出力され始め、構成済のデータベースに格納されます。「記録の開始」フィールドと「記録の停止」フィールドを使用すると、いつイベントを記録するかを構成できます。左側のペインでeventStreamを選択します。図2-83に示すように、右側のペインで「再生」タブを選択します。イベントの「再生」タブ」の説明タブの下の「開始」をクリックします。図2-84に示すように「アラート」ダイアログが表示されます。「OK」をクリックします。現在のステータス・フィールドに再生中と表示されます。「OK」をクリックするとすぐに、simpleEventSourceコンポーネントで記録されたイベントがsimpleStreamコンポーネントに再生されます。Processingサーバーを起動したコマンド・ウィンドウに次のメッセージが表示され、元のイベントと再生イベントの両方がEPNをストリームしていることが通知されます。time=14:33:11.657再生されるイベントが記録される期間や再生速度などの再生パラメータをさらに構成できます。そのためには、適切なフィールドを更新し、パラメータの変更をクリックします。再生パラメータを変更した後、再生を再開する必要があります。アダプタがチャネルにパブリッシュしているイベントを表示するには、次のステップを実行します:上のペインでViewstreamを選択します。図2-85に示すようにViewstreamウィンドウが表示されます。右側のペインで「クライアントの初期化」をクリックします。「チャネルのサブスクライブ」テキスト・ボックスに/playbackchannelと入力します。「サブスクライブ」をクリックします。「受信メッセージ」テキスト・ボックスに、再生されたイベントの詳細が表示されます。再生されたイベントは、イベントの作成時刻と再生時刻を示します。ソース・ディレクトリからビルドおよびデプロイするイベントの記録/再生のサンプル記録と再生のサンプルのソース・ディレクトリには、Javaソースと、アプリケーションを構成する他の必須リソース(構成XMLファイル、EPNアセンブリ・ファイルなど)が含まれます。Antファイルには、アプリケーションをビルドしてsignalgeneration_domainドメインにデプロイするためのターゲットが含まれています(2.10.3項「記録と再生をビルドするAntターゲットの説明」を参照)。Processingインスタンスがまだ実行されていない場合は、2.10.1項「イベントの記録/再生のサンプルの実行」の手順に従ってサーバーを起動します。再ビルドしたアプリケーションを正常にデプロイするには、サーバーが実行中である必要があります。新しいコマンド・ウィンドウを開き、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\recplayにある記録/再生ディレクトリに移動します。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(d:\Oracle\Middlewareなど)。d:\Oracle\Middleware\ocep_11.1\samples\source\applications\recplay3.2項「開発環境の設定」に従って開発環境を設定します。Antターゲットを実行してアプリケーションをコンパイルし、JARファイルを作成します。Antターゲットを実行してアプリケーションJARファイルをMIDDLEWARE_HOME\ocep_11.1\samples\domains\recplay_domain\defaultserver\applications\recplayディレクトリにデプロイします。deploy注意:このターゲットは、ドメイン・ディレクトリにある既存のイベントの記録/再生アプリケーションのJARファイルを上書きします。アプリケーション再デプロイ・メッセージの後、約1秒ごとに次のメッセージが出力先に出力されます。14:33:40.441このメッセージは、記録と再生のサンプルが再デプロイされ、正しく実行されていることを示します。Visualizerを起動し、イベントの記録と再生を開始します。記録/再生のソースの最上位レベル・ディレクトリにあるbuild.xmlファイルには、アプリケーションをビルドおよびデプロイするための次のターゲットが含まれています。このターゲットは、現在のディレクトリの下にあるdistおよびoutput作業ディレクトリを削除します。このターゲットは、アプリケーションをクリーンアップしてコンパイルし、com.bea.wlevs.example.recplay_11.1.1.4_0.jarというJARファイルを生成し、生成したJARファイルを現在のディレクトリ下のdistディレクトリに格納します。Processingにデプロイします。Processing管理者ガイド』のDeployerコマンドライン・リファレンスに関する項を参照してください。Processingアプリケーションの標準的な作成手順に関する項に従って行われます。標準的な開発プロセスが説明されているタスクごとの手順は、この項を参照してください。サンプルのすべてのファイルは、MIDDLEWARE_HOME\ocep_11.1\samples\source\applications\recplayディレクトリを基準にして相対的な場所にあります。Processingをインストールした際に指定したミドルウェア・ホーム・ディレクトリです(c:\Oracle\Middlewareなど)。実際の環境でも、このサンプルのとおりのディレクトリ設定を使用することをお薦めします。これは必須条件ではありません。記録と再生のサンプルで使用するファイルは次のとおりです。図2-78に示すアプリケーションの各コンポーネントと、すべてのコンポーネントの接続方法を記述したEPNアセンブリ・ファイル。サンプルでは、このファイルはcom.bea.wlevs.example.recplay-context.xmlという名前で、META-INF/springディレクトリにあります。simpleEventSourceアダプタのJavaソース・ファイル。サンプルでは、このファイルはSimpleEventSource.javaという名前で、src/com/bea/wlevs/adapter/example/recplayディレクトリにあります。アダプタJavaファイルのプログラミング方法の詳細な説明は、15.1項「カスタム・アダプタの概要」を参照してください。PlayedBackEventおよびSimpleEventイベント・タイプを記述するJavaソース・ファイル。SimpleEventイベント・タイプは、最初にアダプタによって生成されたイベントですが、PlayedBackEventイベント・タイプは、記録された後に再生されるイベントに対して使用します。PlayedBackEventsは、SimpleEventとほぼ同じですが、イベントが記録された時刻を示す追加フィールドがあります。サンプルでは、2つのイベントはSimpleEvent.javaおよびPlayedBackEvent.javaという名前で、src/com/bea/wlevs/event/example/recplayディレクトリにあります。Processingイベント・タイプの概要」を参照してください。アプリケーションのrecplayEventSinkイベントBeanを実装するJavaファイルは、simpleEventSourceアダプタからリアル・タイム・イベントと再生イベントの両方を受け取るイベント・シンクです。サンプルでは、このファイルはRecplayEventSink.javaという名前で、src/com/bea/wlevs/example/recplayディレクトリにあります。イベント・ソースおよびシンクの詳細は、16.2項「ソースおよびシンクでのイベントの処理」を参照してください。simpleEventSourceアダプタとeventStreamチャネル・コンポーネントを構成するXMLファイル。コンポーネントを指定する<record-parameters>要素を含むアダプタは、イベントをイベント・ストアに記録します。同様に、チャネルには再生イベントを受け取るように指定する<playback-parameters>要素が含まれます。サンプルでは、このファイルはconfig.xmlという名前で、META-INF/wlevsディレクトリにあります。ProcessingにデプロイされるOSGiバンドルのコンテンツを記述したMANIFEST.MFファイル。サンプルでは、MANIFEST.MFファイルがMETA-INFディレクトリにあります。ProcessingにデプロイするOSGiバンドルの作成方法の詳細は、23.1項「アプリケーションのアセンブリおよびデプロイメントの概要」を参照してください。Antファイルを使用します。開発環境でもAntを使用する場合、このbuild.xmlファイルの詳細は、2.10.2項「ソース・ディレクトリからビルドおよびデプロイするイベントの記録/再生のサンプル」を参照してください。reserved.法律上の。