今回は、Oracle BRMを他のエンタープライズアプリケーションと統合する方法を提供する、エンタープライズアプリケーション統合(EAI)フレームワークマネージャについて説明します。EAIマネージャーは、企業内のアプリケーション間でデータの同期を保証し、アプリケーション間のデータの重複を回避します。要するに、Telco Framework Managerのプロビジョニングプロセスのように機能するのです:
- 変化が起きると、イベントオブジェクトが生成される。
- データはConnection Managerで生成され、Data Managerに送られます。
- データマネージャはペイロードオブジェクトをパブリッシュする。

下図は、EAIフレームワークのマネージャのアーキテクチャとデータの流れを示したものである:
そのために、まずEAI Managerをインストールする必要があります。これには3つのEAI機能が含まれています:
- EAI Connection Manager (CM)モジュール(EAIが必要とするオペコードを含む。)
- EAIデータマネージャー
- ペイロードジェネレータ外部モジュール(EM) - EAI Java Serverまたはeai_jsとも呼ばれます。
EAIフレームワークマネージャーのインストールが完了したら、いよいよ設定ステップに入ります。インストールプログラムは、CMとEAI DMの設定(pin.conf)ファイル、およびPayload Generatorのプロパティ(Infranet.properties)ファイルにデフォルト値を割り当てます。
次に、それを確認します:
- CM pin.confのdm_pointerは、EAI DM pin.confのdm_portと同じポートを指しています;
- CM pin.conf の em_pointer は、eai_js Infranet.properties の infranet.server.portNr と同じポートを指しています;
- また、新しいプロセスが適宜起動・停止するように、起動・停止スクリプトを適切に変更します。
この基本構成に加えて、Payload GeneratorにOracle BRMイベントをキャッシュするオペコード(名前:PCM_OP_PUBLISH_GEN_PAYLOAD、番号:1301)を呼び出すイベント通知機能を設定する必要があります。イベント通知を有効にするには、load_pin_notify ユーティリティを実行して、イベント通知リストを含む設定ファイルを Oracle BRM データベースにロードします。ただし、ユーティリティを実行する前に、$BRM_HOME/sys/data/config/pin_notify_eaiファイル内のイベント通知用設定ファイルを最初にマージする必要があります。オプションで、最終的なイベント通知リストのエントリを追加、変更、または削除します。
通知イベントにカスタムフィールドがある場合は、eai_jsのInfranet.propertiesにそれらを含め、eai_jsの起動時にコンパイルされたカスタムjavaクラスがクラスパスにあることを確認してください。そうでない場合、FLISTにはopcodeの名前の代わりにopcodeの番号が表示されます。
最後の設定タスクは、Oracle BRM ビジネスイベントの定義です。ビジネスイベントとは、Payload Generator EMの設定ファイル(payloadconfig.xml)で定義された操作のことです。例えば、顧客が製品を購入したときに発生するProductPurchaseがそのようなビジネスイベントの1つです。設定ファイルは、以下のように編集することができる:
- 公開するイベントを追加する;
- 不要なイベントを一覧から削除する
- イベントをXML形式で公開するか、FLIST形式で公開するかを指定する。
すべてを設定した後は、トランザクション管理と環境固有の変換スキームを処理するモジュールコネクタアプリケーションを構築することによって、エンタープライズアプリケーションのためのBRMイベントデータへのアクセスを提供する時間です。$BRM_HOME/sys/dm_eaiディレクトリには、すでにEAI関数の実装サンプルがflistとXML形式で含まれています。オプションとして、EAI Managerを使用して、Oracle BRMデータベースからHTTPポートに情報を公開し、CRM(顧客関係管理)などのサードパーティアプリケーションで使用することができます。HTTP ポートにパブリッシュするためには、dm_http モジュールを使用します。
コネクタアプリケーションが動作するようになれば、Oracle BRMとサードパーティアプリケーションの統合は完了です。