ヘッダーをスキップ

Oracle Fusion Middleware Oracle E-Business Suite Adapterユーザーズ・ガイド
12c (12.2.1.2.0)
部品番号E82667-01
目次へ移動
目次
前のページへ移動
次のページへ移動

ビジネス・イベントの使用

この章の構成は、次のとおりです。

ビジネス・イベントの概要

Oracle Workflowのビジネス・イベント・システム(BES)は、Oracle Advanced Queuing(AQ)のインフラストラクチャを利用して、システム間でビジネス・イベントを交換する、アプリケーション・サービスです。ビジネス・イベント・システムは、イベント・マネージャとワークフロー・プロセス・イベント・アクティビティで構成されます。

イベント・マネージャには、ビジネス・イベントのレジストリ、システム、そのシステム内の名前付き通信エージェント、およびイベントが特定のシステムに重要であることを示すサブスクリプションが含まれます。イベントは、ローカルに発生するか、AQを介して外部システムまたはローカル・システムから受信します。ローカル・イベントが発生すると、サブスクリプションが遅延しないかぎり、イベントを発生させたコードと同じトランザクションでサブスクライブ・コードが実行されます。

サブスクリプションには、次のタイプの処理が含まれます。

各ビジネス・イベントは、統合または拡張ポイントを使用する準備ができていることを示します。現在、Oracle E-Business Suiteには、900を超える事前構成済のビジネス・イベントが付属しています。

ビジネス・イベント・システムの使用には、次のものが含まれます。

ビジネス・イベントの概念

イベント

ビジネス・イベントは、システム内の他のオブジェクトまたは外部エージェントにとって重要な事態が、インターネットまたはイントラネット・アプリケーション、あるいはプログラムで発生することです。たとえば、発注の作成は、購買アプリケーションで発生するビジネス・イベントの例です。

イベント・キー

イベントのインスタンスを一意に識別する文字列です。イベント名、イベント・キーおよびイベント・データをすべて組み合せることで、イベントの内容を表します。

イベント・メッセージ

ビジネス・イベントを通信するための標準のワークフロー構造で、データ型WF_EVENT_Tで定義されます。イベント・メッセージには、イベント・データおよび複数のヘッダー・プロパティ(イベント名、イベント・キー、アドレッシング属性およびエラー情報など)が含まれます。

イベント・アクティビティ

アクティビティとしてモデル化されたビジネス・イベントで、ワークフロー・プロセスに含まれます。

イベント・データ

イベントを表すその他の詳細です。イベント・データはXML文書として構造化できます。イベント名、イベント・キーおよびイベント・データをすべて組み合せることで、イベントの内容を表します。

イベント・サブスクリプション

特定のイベントがシステムにとって重要であることを示し、トリガー・イベントが発生したときに実行される処理を指定する登録です。サブスクリプション処理には、カスタム・コードのコール、ワークフロー・プロセスへのイベント・メッセージの送信、エージェントへのイベント・メッセージの送信が含まれます。

遅延サブスクリプション処理

イベントの発生直後にイベントのサブスクリプションを実行しない場合、サブスクリプションを遅延できます。これにより、コール側アプリケーションに制御を迅速に戻し、コストのかかるサブスクリプション処理をイベント・マネージャが後で実行するように設定できます。

エージェント

エージェントは、システム内の名前付きの通信ポイントです。システム内およびシステム間の通信は、エージェント間でメッセージを送信することで実行されます。1つのシステムで、異なる通信方法を表す複数のエージェントを使用できます。たとえば、1つのシステムで、インバウンドおよびアウトバウンド通信、異なるプロトコルによる通信、異なる伝播頻度による通信、またはその他の通信方法をサポートする個別のエージェントを使用できます。

ビジネス・イベント・グループ

ビジネス・イベント・グループは、個別のビジネス・イベントが複数含まれるイベント・タイプです。イベント・グループを一度定義すると、イベント・グループに登録されていたサブスクリプションは、そのグループ内のいずれかの個別イベントがトリガーされると実行されます。

ビジネス・イベント・グループのサポートにより、イベント・グループに属する別々のビジネス・イベントを、単一のパートナ・リンクを経由して扱えるようになります。イベント・グループ用に作成されたサービスは、グループ内の任意のイベントに対応するペイロードをデキューできます。

イベント・グループの一部であるアウトバウンド・ビジネス・イベントへの既存のパートナ・リンクをサポートするには、回避策に従う必要があります。詳細は、「既存パートナ・リンク経由のビジネス・イベントのサポート」を参照してください。

注意: グループの下の個別イベントがサブスクライブ済の場合、2つのメッセージはWF_BPEL_Qキューにエンキューされます。1つのメッセージしか必要としないユーザーは、WF_BPEL_Qにメッセージをエンキューする個別イベントのサブスクライブを無効にする必要が生じる場合があります。

ビジネス・イベント・グループを使用したパートナ・リンクの作成に関する詳細は、「ビジネス・イベント・グループを使用したパートナ・リンクの作成」を参照してください。

アウトバウンド・ビジネス・イベントの設計時タスク

この項では、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してOracle E-Business Suite Adapterを構成するために必要なタスクを説明します。

ビジネス・イベントを消費するサービス・アーティファクトの作成

ビジネス・イベントをリッスンするためのパートナ・リンクを作成するあいだに、次のタスクが背景で実行されます。

異なるOracle E-Business Suiteインスタンス上で上記エントリの再作成を可能にするために、プロジェクト・フォルダ内にスクリプトが生成されます。また、該当するインスタンスに対して手動で実行できるドロップ・スクリプトが作成され、前述のすべてのタスクをクリーンアップできます。ドロップ・スクリプトの実行はオプションであり、推奨されていません。ドロップ・スクリプトはWF_BPEL_Qキューを削除しますが、それが同一Oracle E-Business Suiteインスタンス上でイベントをリッスンする他のコンポジットに影響を与える可能性があります。

同一のビジネス・イベントを使用する複数のBPELプロセス

Oracle E-Business Suite Adapterでは、同一のビジネス・イベントを使用する複数のBPELプロセスを処理できます。1つのビジネス・イベントに対してOracle E-Business Suite Adapterが作成するサブスクリプションは、そのサブスクリプションを使用するBPELプロセスの数に関係なく1つのみです。内部的に、このサブスクリプションよってビジネス・イベント・メッセージがマルチ・コンシューマAQに転送されます。各BPELプロセスはイベントに対して固有のコンシューマであるため、キューにメッセージが入れられるとすべてのBPELプロセスが通知されます。したがって、ユーザーは各BPELプロセスに個別にサブスクリプションを作成する必要はありません。必要があるのはイベントに対するサービスを作成することのみで、各BPELプロセスへのメッセージ配信はOracle E-Business Suite Adapterによって処理されます。

たとえば、同一のビジネス・イベント(BE1イベントなど)を使用する3つのBPELプロセス(BPEL1、BPEL2およびBPEL)があるとします。BPELプロセスそれぞれについて、Oracle E-Business Suite Adapterを使用して、BE1イベント向けサービスを作成します。Oracle E-Business Suite Adapterにより、3つのBPELプロセス(BPEL1、BPEL2およびBPEL)すべてに対して1つのサブスクリプションが作成されます。このサブスクリプションにより、BE1イベント・メッセージがマルチ・コンシューマAQに入れられます。

実行時、BE1イベントが発生すると、サブスクリプションは3つすべてのBPELプロセスに適用可能であるため、この3つのデプロイされたBPELプロセスはすべてアクティブ化され、同一のBE1イベント・メッセージを受信します。

BPELプロセスを使用したSOAコンポジット・アプリケーションのシナリオ

発注XMLのビジネス・イベントの呼出しを例として説明します。

発注が作成されて承認されると、発注承認済ビジネス・イベントoracle.apps.po.evnt.xmlpoが発生します。このイベントのサブスクリプションがバックグラウンドで作成され、ビジネス・イベントがリスニングされてイベント詳細が取得されます。イベント・データがBPELプロセス・アクティビティによって渡され、出力ファイルとしてXMLファイルに書き込まれます。

BPELプロセスを使用したSOAコンポジット・アプリケーションがデプロイメント後に正常に実行された場合は、発注の承認時の同じ発注情報を出力ファイルから取得する必要があります。

アウトバウンド・ビジネス・イベントを構成する際の前提条件

BPELプロセスを使用したSOAコンポジット・アプリケーションの作成フロー

発注XMLのビジネス・イベントの呼出しのシナリオに従って、次の設計時タスクについてこの章で説明します。

  1. BPELプロセスを使用した新しいSOAコンポジット・アプリケーションの作成

  2. パートナ・リンクの作成

  3. receiveアクティビティの構成

  4. ファイル・アダプタ用パートナ・リンクの追加

  5. invokeアクティビティの構成

  6. assignアクティビティの構成

BPELプロセスを使用した新しいSOAコンポジット・アプリケーションの作成

BPELプロセスを使用した新しいSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。

  1. Oracle JDeveloperを起動します。

  2. 「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。

    「新規ギャラリ」ページが表示されます。項目リストで「SOAアプリケーション」を選択します。

    「新規ギャラリ」ページ

    図の説明は本文にあります。

    「OK」をクリックします。

  3. 「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。

    「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ

    図の説明は本文にあります。

  4. 「アプリケーション名」フィールドにアプリケーションに適した名前を入力します。

    「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。

    「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ

    図の説明は本文にあります。

  5. 「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: GetPOAckBusinessEvent。

    「プロジェクトの機能」セクションに「SOAスイート」が表示されます。

  6. 「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。

    「SOAアプリケーションの作成 - SOA設定の構成」ページ

    図の説明は本文にあります。

  7. 「開始」フィールドでは、デフォルトで選択されている「標準コンポジット」をそのままにします。

    「標準コンポジット」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。

    「BPELプロセスの作成」ページが表示されます。

    「BPELプロセスの作成」ページ

    図の説明は本文にあります。

  8. デフォルトで選択されている「BPEL 2.0仕様」をそのままにします。BPEL 2.0仕様をサポートするBPELプロジェクトが作成されます。

    「名前」フィールドに適切なBPELプロセス名を入力します。例: GetPOAckBusinessEvent。

    「テンプレート」フィールドから「サービスを後で定義」を選択します。「OK」をクリックします。

    空のBPELプロセスが作成されます。指定した名前(GetPOAckBusinessEvent.bpelやGetPOAckBusinessEvent.wsdlなど)を使用したbpelおよびwsdlを含む必要なソース・ファイル、およびGetPOAckBusinessEvent (composite.xml)も生成されます。

パートナ・リンクの作成

アウトバウンド・ビジネス・イベントを構成するには、パートナ・リンクを作成して、アウトバウンド・イベントを公開できるようにする必要があります。

このタスクにより、BPELプロセスにパートナ・リンクが追加されます。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。

パートナ・リンクを追加する手順は、次のとおりです。

  1. 「コンポーネント・パレット」で「BPELサービス」をクリックします。

    Oracle E-Business Suite」(旧称Oracle Applications)を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「Oracle E-Business Suite Reference」ページが表示されます。

    「名前」フィールドに参照名を入力します。例: GetPOApprovalEvent。

  2. 「次」をクリックします。「サービス接続」ダイアログが表示されます。

    データベース・サービス接続の指定

    図の説明は本文にあります。

  3. データベース接続については次のいずれかのオプションを実行できます。

    注意: Oracle E-Business Suiteが実行されているデータベースに接続する必要があります。

  4. 新規のサービス接続の作成を完了した後、Oracle E-Business Suiteで使用可能なリストを参照してビジネス・イベントを追加できます。

    「次」をクリックします。

    Oracle E-Business Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。これは、ワークスペース内で接続中のデータベースに対応するOracle Integration Repositoryデータ・ファイルが見つからないことを示します。データファイルがないと、Integration Repositoryツリーの参照や検索がかなり低速になります。データファイルを抽出し、Integration Repositoryデータファイルのローカル・コピーを作成するように選択できます。正常に作成されたローカル・コピーは、次回にアダプタにより自動的に使用され、ローカルIntegration Repositoryからデータが取得されます。

    次のいずれかのオプションを選択できます。

  5. Oracle E-Business Suiteモジュール・ブラウザは、Oracle Integration Repositoryからのインタフェース・データを、Oracle E-Business Suite Adapterでサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。

    ビジネス・イベントを選択するには、ナビゲーション・ツリーを「製品ファミリ」→「その他インタフェース」→「ビジネス・イベント」→「アウトバウンド」に展開します。方向アウトバウンドは、Oracle E-Business Suiteパースペクティブからになります。この場合は、Oracle E-Business Suiteからビジネス・イベントをリスニングします。適切なビジネス・イベント(oracle.apps.po.event.xmlpoなど)を選択し、「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択したビジネス・イベントが表示されます。

    モジュール・ブラウザからのビジネス・イベントの選択

    図の説明は本文にあります。

    注意: ビジネス・イベント・グループを使用したパートナ・リンクの作成

    ビジネス・イベント・グループは、Oracle E-Business Suiteモジュール・ブラウザの「その他インタフェース」→「ビジネス・イベント」→「アウトバウンド」→「グループ」ノードにあります。

    「グループ」ノードからビジネス・イベント・グループ(oracle.apps.fem.event.group.allなど)が選択されると、イベント・グループの所有者名を含むイベント・グループの詳細情報、生成された機能情報(ある場合)および選択されたイベント・グループに含まれる個別のイベントが、Oracle E-Business Suiteモジュール・ブラウザ・ウィンドウの右側ペインにリストされます。

    Oracle E-Business Suiteモジュール・ブラウザからのビジネス・イベント・グループの選択

    図の説明は本文にあります。

    さらに、ビジネス・イベント・ペイロードに対しては後で「WFイベント・スキーマ定義」ページで「任意のスキーマ」を選択します。これにより、任意のスキーマのXMLペイロードをイベント・ペイロードに添付できます。また、パートナ・リンクが一度作成されたら、選択中のイベント・グループ(手順10で説明)のJCAプロパティ「MessageSelectorRule」を検証することもできます。

    この機能は、Oracle E-Business Suiteリリース12およびリリース11.5.10に適用されます。ビジネス・イベント・グループの詳細は、「ビジネス・イベント・グループ」を参照してください。

  6. 「OK」をクリックすると、「アプリケーション・インタフェース」ページが表示されます。

    「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ

    図の説明は本文にあります。

  7. 「アプリケーション・インタフェース」ページで「次へ」をクリックします。ビジネス・イベント・ペイロードの「WFイベント・スキーマ定義」ページが表示されます。

  8. イベント・スキーマの指定

    ビジネス・イベント・ペイロードに使用するオプションとして次のいずれかを指定する必要があります。

    注意: 「スキーマなし」または「任意のスキーマ」オプションを選択した場合、ビジネス・イベントのスキーマ情報をさらに指定する必要はなく、次のステップに進みます。

    ビジネス・イベント・ペイロード・スキーマの選択

    図の説明は本文にあります。

    「スキーマなし」を選択して、「次へ」をクリックします。

  9. ビジネス・イベント・サービスの定義が終了したことを示す「終了」ページが表示されます。

  10. 「BPELサービス」ダイアログのトランザクション・プロパティの設定 が表示されます。「配信」フィールドで「sync」が、「トランザクション」フィールドで「required」が選択されていることを確認します。

    「BPELサービス」でトランザクション・プロパティを設定

    図の説明は本文にあります。

    「OK」をクリックし、パートナ・リンク構成を完了します。

    ウィザードでは、oracle.apps.po.event.xmlpoビジネス・イベント・サービスに対応するGetPOApprovalEvent WSDLファイルを生成します。

    必要なWSDL設定を使用してパートナ・リンクが作成され、プロセス・ダイアグラムの境界領域で新しいアイコンを使用してBPELプロジェクト内に表示されます。

  11. イベント・グループのパートナ・リンクに対するJCAプロパティ「MessageSelectorRule」の検証

    パートナ・リンクを作成するためにビジネス・イベント・グループを選択している場合、SOAの「コンテンツ」→「アダプタ」フォルダでパートナ・リンク・サービス(BE_Group_apps.jcaなど)を選択すると、ビジネス・イベント・グループのJCAプロパティを検証できます。

    ビジネス・イベント・グループのJCAファイルの表示

    図の説明は本文にあります。

    「ソース」タブをクリックして.jcaファイルを表示します。JCAプロパティ「MessageSelectorRule」には次の値が格納されていることに注意してください。

    value="tab.user_data.getvalueforparameter ('GROUP') = 'oracle.apps.fem.event.group.all'"

    JCAプロパティ「MessageSelectorRule」と値の表示

    図の説明は本文にあります。

receiveアクティビティの構成

次のタスクは、ビジネス・イベントのアダプタ・サービス用に構成したパートナ・リンクからイベント詳細を受信するように、receiveアクティビティを構成することです。

receiveアクティビティを構成する手順は、次のとおりです。

  1. JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Receive」を、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンにドラッグ・アンド・ドロップします。

  2. receiveアクティビティを前に作成したパートナ・リンクGetPOApprovalEventにリンクします。

    receiveアクティビティのパートナ・リンクへの関連付け

    図の説明は本文にあります。

    「受信」ダイアログが表示されます。

  3. receiveアクティビティの適切な名前を入力します。

    パートナ・リンクがアウトバウンド・ビジネス・イベントで構成されているため、「操作」で自動的に「デキュー」が選択されます。

  4. 「変数」を指定して、パートナ・リンクからメッセージ・データを受信するには、「変数」フィールドの右側にある「作成」アイコンをクリックします。「変数の作成」ダイアログ・ボックスが表示されます。

  5. 「OK」をクリックして、デフォルトの名前を受け入れます。

    receiveアクティビティの構成

    図の説明は本文にあります。

  6. 「受信」ダイアログで「適用」をクリックし、「OK」をクリックします。

ファイル・アダプタ用パートナ・リンクの追加

アウトバウンド・ビジネス・イベントを構成する場合は、ファイル・アダプタ用にもう1つパートナ・リンクを追加する必要があります。これにより、アウトバウンド・ビジネス・イベントによってデータがXMLファイルに書き込まれます。

ファイル・アダプタ用パートナ・リンクを追加する手順は、次のとおりです。

  1. Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。

    「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。ファイル・アダプタ参照ページが表示されます。

    ファイル・アダプタ参照ページ

    図の説明は本文にあります。

    ファイル・アダプタ・サービスの名前を入力します。たとえば、WriteEventDataと入力します。

  2. 「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。

    アダプタ・インタフェースの指定

    図の説明は本文にあります。

    「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。

    ファイル・サーバーの接続ページが表示されます。「ファイル・サーバーのJNDI名」フィールドのデフォルト値は変更せず、そのままにします。

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

  3. 「操作」ページで、操作タイプを指定します。たとえば、「Write File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。

    操作の指定

    図の説明は本文にあります。

  4. 「次へ」をクリックして、「ファイル構成」ページにアクセスします。

    出力ファイルの構成

    図の説明は本文にあります。

  5. 「ディレクトリは次のように指定します」フィールドで、「論理名」ラジオ・ボタンを選択します。「発信ファイルのディレクトリ(論理名)」にoutputDirと入力し、出力ファイルの命名規則(EventAck%yyMMddHHmmss%.xmlなど)を指定します。

    ヒント: パーセント記号(%)を入力する場合、ファイル名の一部として日付変数のリストまたは順序番号変数(SEQ)から選択できます。

    デフォルトの書込み条件「メッセージ数の到達 1」を確認します。

  6. 「次へ」をクリックすると、「メッセージ」ページが表示されます。書き込まれる出力ファイルの場合、スキーマを指定する必要があります。

  7. 「参照」をクリックして、「タイプ・チューザ」にアクセスします。

  8. 「プロジェクトのスキーマ・ファイル」→「WF_EVENT_T_GetPOApprovalEvent.xsd」をクリックして、ノードを展開します。要素として「WF_EVENT_T」を選択して、「OK」をクリックします。

    選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。

    選択したメッセージ・スキーマの移入

    図の説明は本文にあります。

  9. 「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。パートナ・リンクに対応するWSDLファイルWriteEventData.wsdlも生成されます。

    BPELプロセス・ダイアグラムにWriteEventDataパートナ・リンクが表示されます。「パートナ・リンク」サービス・アイコンをダブルクリックします。パートナリンクの編集 ダイアログが開き、詳細が表示されます。

    パートナ・リンク構成の完了

    図の説明は本文にあります。

invokeアクティビティの構成

ファイル・アダプタ用のパートナ・リンクを追加した後、invokeアクティビティをファイル・アダプタ・リンクに関連付けるよう構成する必要があります。

invokeアクティビティによって、出力ディレクトリとして指定したXMLファイルにビジネス・イベント情報を書き込むことができます。

invokeアクティビティを構成する手順は、次のとおりです。

  1. Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの「Receive」アクティビティの後ろにドラッグ・アンド・ドロップします。

  2. invokeアクティビティをWriteEventDataファイル・アダプタ・サービスにリンクします。

    invokeアクティビティは、パートナ・リンクにイベント・データを送信します。「Invokeの編集」ダイアログが表示されます。

  3. Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。

  4. 「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックして、「Invokeの編集」ダイアログに戻ります。

    invokeアクティビティの編集

    図の説明は本文にあります。

    「適用」をクリックして、「OK」をクリックし、invokeアクティビティの構成を完了します。

assignアクティビティの構成

assignアクティビティを使用して、receiveアクティビティから出力を取得してinvokeアクティビティに入力します。

assignアクティビティを構成する手順は、次のとおりです。

  1. Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある「Receive」アクティビティと「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。

  2. 「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。

    「一般」タブをクリックして、assignアクティビティの名前を入力します。例: setEventData。

  3. 「コピー・ルール」タブを選択してターゲット・ツリーを展開します。

    ソース・ノード(WF_EVENT_T)を、選択したターゲット・ノード(本体)にドラッグして接続します。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。

    パラメータの割当て

    図の説明は本文にあります。

  4. 「適用」をクリックし、「Assignの編集」ダイアログ・ボックスの「OK」をクリックして、assignアクティビティの構成を完了します。

    完了したアウトバウンド・ビジネス・イベントBPELプロセス・プロジェクト

    図の説明は本文にあります。

    「GetPOApprovalEvent (composite.xml)」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。

    注意: 「GetPOApprovalEvent (composite.xml)」の「ソース」タブをクリックして、参照WriteEventDataの物理ディレクトリoutputDirの値を入力します(/usr/tmpなど)。

    <property name="outputDir" type="xs:string" many="false" override="may">/usr/tmp</property>

    プロパティの物理ディレクトリの指定

    図の説明は本文にあります。

    Oracle JDeveloperのコンポジット・ダイアグラム

    図の説明は本文にあります。

アウトバウンド・ビジネス・イベントの実行時タスク

BPELプロセスを使用したSOAコンポジットを設計したら、それをコンパイル、デプロイおよびテストできます。

  1. BPELプロセスを使用したSOAコンポジット・アプリケーションのデプロイ

  2. BPELプロセスを使用したSOAコンポジット・アプリケーションのテスト

BPELプロセスを使用したSOAコンポジット・アプリケーションのデプロイ

SOAコンポジットに含まれるBPELクライアントからサービス(GetPOApprovalEvent)を起動するには、Oracle WebLogic管理対象サーバーにSOAコンポジットをデプロイする必要があります。それにはOracle JDeveloperが使用できます。コンポジットをデプロイしたら、Oracle Enterprise Manager Fusion Middleware Controlコンソールからテストできます。

前提条件

Oracle JDeveloperを使用してBPELプロセスとともにSOAコンポジットをデプロイする前に、設計時環境とランタイム・サーバーとの間の接続を確立する必要があります。詳細は、「Oracle WebLogic Serverのデータ・ソースの構成」「アプリケーション・サーバーの接続の作成」を参照してください。

注意: WebLogic Serverのローカル・インスタンスを使用する場合は、Oracle JDeveloperから「実行」→「サーバー・インスタンスの起動」を選択して、WebLogic Serverを起動します。WebLogic Admin Serverの「DefaultServer」インスタンスが正常に起動されると、「実行中: DefaultServer」および「メッセージ」ログに「<サーバーが実行モードで起動されました」および「DefaultServerが起動されました」というメッセージが表示されます。

BPELプロセスを使用したSOAコンポジット・アプリケーションをデプロイする手順は、次のとおりです。

  1. JDeveloper BPEL Designerの「アプリケーション・ナビゲータ」で、SOAコンポジット・プロジェクト名(GetPOAckBusinessEventなど)を選択します。

  2. プロジェクト名を右クリックし、表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。

    接続が適切にセットアップされていれば、たとえば、「デプロイ」→「GetPOAckBusinessEvent」→「soa-server1」を選択してプロセスをデプロイできます。

    注意: サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。

    「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。

    JDeveloperからOracle WebLogic Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。

  3. 「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。

  4. 「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。

    「次へ」をクリックし、「終了」をクリックします。

    Oracle JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Oracle SOA Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。

  5. デプロイメント処理が開始されます。「SOA - ログ」ウィンドウと「デプロイメント - ログ」ウィンドウでデプロイメントの進行とコンパイルの成功を確認します。

BPELプロセスを使用したSOAコンポジット・アプリケーションのテスト

BPELプロセスを使用したSOAコンポジット・アプリケーションを一度デプロイしたら、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理およびモニターできます。また、プロセスを手動で開始してテストすることもできます。

BPELプロセスを使用したSOAコンポジット・アプリケーションをテストする手順は、次のとおりです。

  1. Oracle Enterprise Manager Fusion Middleware Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。

  2. ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。

    複数のターゲットOracle Enterprise Manager Fusion Middleware Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。

  3. ファームのベース・ドメインで、「SOA」→「soa-infra (soa_server1)」→「デフォルト」を展開して、SOAインフラストラクチャ・ホーム・ページとメニューをナビゲートし、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。

    注意: 「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。

  4. XML Gatewayの職責を使用してOracle E-Business Suiteにログオンします。

    これにより、発注に定義された仕入先が有効であるようにXML Gateway取引先が適切に設定されていることを確認できます。

  5. ナビゲーション・メニューから「取引先の定義」を選択して、「取引先の設定」ウィンドウにアクセスします。

  6. 次のように、「取引先設定」フォームでヘッダー値を入力します。

  7. 次の取引先の詳細を入力します。

    「取引先の設定」フォーム

    図の説明は本文にあります。

    取引先の詳細を保存します。

  8. 「購買、Visionオペレーション (USA)」を選択して職責を切り替え、ナビゲーション・メニューから「発注」フォームを選択します。

    購買オーダー・フォームが表示されます。

  9. 「発注」ウィンドウで以前に定義した取引先を反映するヘッダー値を使用して発注を作成します。

  10. 「明細」タブで、次の値を使用してデータ行を入力します。

  11. 発注を保存します。発注のステータスは「未完了」になっています。

    発注の設定

    図の説明は本文にあります。

  12. 「承認」をクリックします。「ドキュメントの承認」フォームが表示されます。

    発注の承認

    図の説明は本文にあります。

    「OK」をクリックして、承認を確定します。

    注意: 取引先が設定され有効になっているため、送信方法は自動的にXMLに設定されます。

    発注のステータスは「承認」に変更されました。将来参照するために、「発注、改訂」フィールドの値(たとえば、この場合には発注番号4449)を記録します。

    発注が承認されると、ビジネス・イベントoracle.apps.po.event.xmlpoが発生します。

  13. WF_Deferred Agent Listenerがターゲット・データベースで実行中であることを確認する手順は、次のとおりです。

    1. システム管理者の職責を使用してOracle E-Business Suiteにログインします。

    2. 「ワークフロー管理者Webアプリケーション」職責を選択して、メニューから「Oracle Applications Manager」→「ワークフロー・マネージャ」を選択します。

      Applications Managerページの表示

      図の説明は本文にあります。

    3. 「アプリケーション・マネージャ」ページで、「エージェント・リスナー」アイコンをクリックします。「サービス・コンポーネント」ページが表示され、インストール済のエージェント・リスナーのリストが表示されます。

      エージェント・リスナー・ステータスの確認

      図の説明は本文にあります。

    4. ワークフロー遅延エージェント・リスナーのステータスが「実行中」になっていることを確認します。

  14. ここで、OAコンポジット・アプリケーションに含まれるデプロイ済BPELプロセスは、oracle.apps.po.event.xmlpoビジネス・イベントをリスニングします。イベントが発生してからBPELプロセスがアクティブ化するまで2から3分かかります。

  15. 書込み操作に指定したディレクトリ(outputDir、通常はc:\tempの下)に移動します。出力ファイル(EventAck%yyMMddHHmmss.xmlなど)を開き、発注番号が承認済の発注の番号と同じであることを確認します。

    出力の発注番号の確認

    図の説明は本文にあります。

トラブルシューティング

ビジネス・イベント・システム統合で問題が発生した場合は、次のトラブルシューティング手順を確認します。