Oracle Fusion Middleware Adapter for Oracle Applicationsユーザーズ・ガイド 11g リリース1(11.1.1.4.0) 部品番号 B61389-02 | 目次 | 前 | 次 |
この章の構成は、次のとおりです。
Oracle Workflowのビジネス・イベント・システム(BES)は、Oracle Advanced Queuing(AQ)のインフラストラクチャを利用して、システム間でビジネス・イベントを交換する、アプリケーション・サービスです。ビジネス・イベント・システムは、イベント・マネージャとワークフロー・プロセス・イベント・アクティビティで構成されます。
イベント・マネージャには、ビジネス・イベントのレジストリ、システム、そのシステム内の名前付き通信エージェント、およびイベントが特定のシステムに重要であることを示すサブスクリプションが含まれます。イベントは、ローカルに発生するか、AQを介して外部システムまたはローカル・システムから受信します。ローカル・イベントが発生すると、サブスクリプションが遅延しないかぎり、イベントを発生させたコードと同じトランザクションでサブスクライブ・コードが実行されます。
サブスクリプションには、次のタイプの処理が含まれます。
イベント情報に関するカスタム・コードの実行
ワークフロー・プロセスへのイベント情報の送信
他のキューまたはシステムへのイベント情報の送信
ビジネス・イベントは、イベント・アクティビティによってワークフロー・プロセス内に表されます。イベント・アクティビティをワークフロー・プロセスに含めることで、事前定義済の関数を直接実行したり、イベントを事前定義済の受信者に送信しなくても、ビジネス・イベントの複雑な処理やルーティング・ロジックをモデル化できます。
各ビジネス・イベントは、統合または拡張ポイントを使用する準備ができていることを示します。現在、Oracle E-Business Suiteには、900を超える事前構成済のビジネス・イベントが付属しています。
ビジネス・イベント・システムの使用には、次のものが含まれます。
システム統合メッセージング・ハブ: ビジネス・イベント・システムを使用するOracle Workflowは、複雑なシステム統合シナリオのメッセージング・ハブとして機能します。イベント・マネージャを使用すると、イベントおよびオリジネータに基づいてシステム間のルーティングをハードウェアに組み込むことができます。ワークフロー・プロセス・イベント・アクティビティを使用すると、コンテンツ・ベースのルーティング、トランスフォーメーション、エラー処理などの高度なルーティングをモデル化できます。
分散アプリケーション・メッセージング: Applicationsは、ビジネス・エンティティに生成および受信イベント・メッセージ・ハンドラを提供できます。たとえば、メッセージ・ハンドラを使用すると、分散アプリケーションのマスター/コピー・レプリケーションを実装できます。
メッセージ・ベースのシステム統合: ビジネス・イベントの発生時にシステム間でメッセージの送信が行われるサブスクリプションを設定できます。このように、イベント・マネージャを使用すると、ポイント間のメッセージング統合を実装できます。
ビジネス・イベント・ベースのワークフロー・プロセス: ビジネス・イベントの内容に基づいて、詳細なルーティングや処理を含む、高度なワークフロー・プロセスを開発できます。
パッケージ化されたアプリケーションの一般的なカスタマイズ: アナリストは、インターネットまたはイントラネット・アプリケーションに、関心のあるビジネス・イベントを登録できます。そのアプリケーションのユーザーは、そのイベントへのサブスクリプションを登録して、カスタム・コードまたはワークフロー・プロセスを起動できます。
ビジネス・イベントは、システム内の他のオブジェクトまたは外部エージェントにとって重要な事態が、インターネットまたはイントラネット・アプリケーション、あるいはプログラムで発生することです。たとえば、発注の作成は、購買アプリケーションで発生するビジネス・イベントの例です。
イベントのインスタンスを一意に識別する文字列です。イベント名、イベント・キーおよびイベント・データをすべて組み合せることで、イベントの内容を表します。
ビジネス・イベントを通信するための標準のワークフロー構造で、データ型WF_EVENT_Tで定義されます。イベント・メッセージには、イベント・データおよび複数のヘッダー・プロパティ(イベント名、イベント・キー、アドレッシング属性およびエラー情報など)が含まれます。
アクティビティとしてモデル化されたビジネス・イベントで、ワークフロー・プロセスに含まれます。
イベントを表すその他の詳細です。イベント・データはXML文書として構造化できます。イベント名、イベント・キーおよびイベント・データをすべて組み合せることで、イベントの内容を表します。
特定のイベントがシステムにとって重要であることを示し、トリガー・イベントが発生したときに実行される処理を指定する登録です。サブスクリプション処理には、カスタム・コードのコール、ワークフロー・プロセスへのイベント・メッセージの送信、エージェントへのイベント・メッセージの送信が含まれます。
イベントの発生直後にイベントのサブスクリプションを実行しない場合、サブスクリプションを遅延できます。これにより、コール側アプリケーションに制御を迅速に戻し、コストのかかるサブスクリプション処理をイベント・マネージャが後で実行するように設定できます。
エージェントは、システム内の名前付きの通信ポイントです。システム内およびシステム間の通信は、エージェント間でメッセージを送信することで実行されます。1つのシステムで、異なる通信方法を表す複数のエージェントを使用できます。たとえば、1つのシステムで、インバウンドおよびアウトバウンド通信、異なるプロトコルによる通信、異なる伝播頻度による通信、またはその他の通信方法をサポートする個別のエージェントを使用できます。
Adapter for Oracle Applicationsは、Oracle JDeveloperを使用して設計時にデプロイされ、BPEL Process Managerを使用して実行時にデプロイされます。
この項では、ビジネス・イベント・アウトバウンド・サブスクリプションを作成するようにAdapter for Oracle Applicationsを構成するプロセスを説明します。Oracle JDeveloperで「アダプタ構成ウィザード」を使用してAdapter for Oracle Applicationsを構成する際の必須タスクについて説明します。
同一のビジネス・イベントを使用する複数のBPELプロセス
Adapter for Oracle Applicationsでは、同一のビジネス・イベントを使用する複数のBPELプロセスを処理できます。1つのビジネス・イベントに対してAdapter for Oracle Applicationsが作成するサブスクリプションは、そのサブスクリプションを使用するBPELプロセスの数に関係なく1つのみです。内部的に、このサブスクリプションよってビジネス・イベント・メッセージがマルチ・コンシューマAQに転送されます。各BPELプロセスはイベントに対して固有のコンシューマであるため、キューにメッセージが入れられるとすべてのBPELプロセスが通知されます。したがって、ユーザーは各BPELプロセスに個別にサブスクリプションを作成する必要はありません。必要があるのはイベントに対するサービスを作成することのみで、各BPELプロセスへのメッセージ配信はAdapter for Oracle Applicationsによって処理されます。
たとえば、同一のビジネス・イベント(BE1イベントなど)を使用する3つのBPELプロセス(BPEL1、BPEL2およびBPEL)があるとします。各BPELプロセスについて、Adapter for Oracle Applicationsを使用してBE1イベント用のサービスを作成します。Adapter for Oracle Applicationsにより、3つのBPELプロセス(BPEL1、BPEL2およびBPEL)すべてに対して1つのサブスクリプションが作成されます。このサブスクリプションにより、BE1イベント・メッセージがマルチ・コンシューマAQに入れられます。
実行時、BE1イベントが発生すると、サブスクリプションは3つすべてのBPELプロセスに適用可能であるため、この3つのデプロイされたBPELプロセスはすべてアクティブ化され、同一のBE1イベント・メッセージを受信します。
BPELプロセスのシナリオ
発注XMLのビジネス・イベントの呼出しを例として説明します。
発注が作成されて承認されると、発注承認済ビジネス・イベントoracle.apps.po.evnt.xmlpoが発生します。このイベントのサブスクリプションがバックグラウンドで作成され、ビジネス・イベントがリスニングされてイベント詳細が取得されます。イベント・データがBPELプロセス・アクティビティによって渡され、出力ファイルとしてXMLファイルに書き込まれます。
BPELプロセスがデプロイメント後に正常に実行された場合は、発注の承認時の同じ発注情報を出力ファイルから取得する必要があります。
有効なXML Gateway取引先を最初に設定する必要があります。
WF_Deferredエージェント・リスナーが稼動中でありターゲット・インスタンスで実行中である必要があります。
BPELにサブスクライブするために、BPELでイベントが有効になっている必要があります。イベントを無効モードにしないでください。
BPELプロセスの作成フロー
発注XMLのビジネス・イベントの呼出しのシナリオに従って、次の設計時タスクについてこの章で説明します。
新規BPELプロジェクトを作成する手順は、次のとおりです。
Oracle JDeveloperを起動します。
「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ
「アプリケーション名」フィールドに適切なアプリケーション名を入力し、「アプリケーション・テンプレート」リストから「SOAアプリケーション」を選択します。
「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: GetPOAckBusinessEvent。
「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ
「プロジェクト・テクノロジ」タブで、「SOA」が「使用可能」テクノロジ・リストから選択されて、「選択済」テクノロジ・リストに表示されていることを確認します。
「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。
「SOAアプリケーションの作成 - SOA設定の構成」ページ
「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。
「BPELプロセスの作成」ページが表示されます。
「BPELプロセスの作成」ページ
「名前」フィールドに適切なBPELプロセス名を入力します。例: GetPOAckBusinessEvent。
「テンプレート」フィールドから「サービスを後で定義」を選択します。「OK」をクリックします。
空のBPELプロセスが作成されます。指定した名前(GetPOAckBusinessEvent.bpelやGetPOAckBusinessEvent.wsdlなど)を使用したbpelおよびwsdlを含む必要なソース・ファイル、およびcomposite.xmlも生成されます。
空のBPELプロセス
アウトバウンド・ビジネス・イベントを構成するには、パートナ・リンクを作成して、アウトバウンド・イベントを公開できるようにする必要があります。
このタスクにより、BPELプロセスにパートナ・リンクが追加されます。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
パートナ・リンクを追加する手順は、次のとおりです。
「コンポーネント・パレット」で「BPELサービス」をクリックします。
「Oracle Applications」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。「次」をクリックします。
「サービス名」フィールドにサービス名を入力します。例: GetPOApprovalEvent。
サービス名の入力
「次」をクリックします。「サービス接続」ダイアログが表示されます。
データベース・サービス接続の指定
データベース接続については次のいずれかのオプションを実行できます。
注意: Oracle Applicationsを実行しているデータベースに接続する必要があります。
新しいデータベース接続を作成するには、「新規データベース接続を作成します」アイコンをクリックします。
新しいデータベース接続を定義する方法は、「新規データベース接続の作成」を参照してください。
以前に構成した既存のデータベース接続は、「接続」ドロップダウン・リストから選択できます。
「サービス接続」ページが開いて、選択した接続情報が表示されます。データベース接続に対応するJNDI(Java Naming and Directory Interface)名が、「データベース・サーバーのJNDI名」フィールドに自動的に表示されます。JNDI名を指定することもできます。
注意: JNDI名を指定する場合、データベースにアクセスするには、Oracle Applicationsアダプタのデプロイメント・ディスクリプタにより、このJNDI名をアダプタで必要な構成プロパティに関連付ける必要があります。
JNDI名は、サービスがBPELサーバーにデプロイされるときに使用される接続のプレースホルダとなります。これによって、開発用とその後の本番用とで異なるデータベースを使用できます。
注意: JNDIの概念の詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。
新規のサービス接続の作成を完了した後、Oracle Applicationsで使用可能なリストを参照してビジネス・イベントを追加できます。
「次」をクリックします。
Oracle E-Business Suiteリリース12の場合
Oracle E-Business Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。これは、ワークスペース内で接続中のデータベースに対応するOracle Integration Repositoryデータ・ファイルが見つからないことを示します。データファイルがないと、Integration Repositoryツリーの参照や検索がかなり低速になります。データファイルを抽出し、Integration Repositoryデータファイルのローカル・コピーを作成するように選択できます。正常に作成されたローカル・コピーは、次回にアダプタにより自動的に使用され、ローカルIntegration Repositoryからデータが取得されます。
次のいずれかのオプションを選択できます。
Integration Repositoryデータファイルを抽出するには、「はい」をクリックします。
Integration Repositoryデータファイルの抽出
システムによりIntegration Repositoryデータファイルのローカル・コピーが正常に作成されると、データベースへの次回接続時には、「操作」ダイアログに「IRepデータ・ファイル」フィールドが表示されます。これは、ファイル名の一部に作成日時を含んだローカル・コピーが存在することを示します。
ローカルIntegration Repositoryデータファイルの使用
接続中の本番データベースからIntegration Repositoryデータファイルを問い合せてIntegration Repositoryツリーを表示するには、「いいえ」をクリックします。
注意: パフォーマンスを向上させるために、アダプタで次回はワークスペース内のローカル・コピーからデータを問い合せるように、Integration Repositoryデータファイルのローカル・コピーを作成することをお薦めします。
「操作」ページで「次へ」をクリックして、「Oracle Applicationsモジュール・ブラウザ」を開きます。
リリース11.5.10より前のOracle E-Business Suiteの場合
リリース11.5.10より前のOracle Applicationsインスタンスに接続している場合は、「アダプタ構成ウィザード」でインタフェース・タイプを選択する必要があります。「Workflowビジネス・イベント・システム」を選択して次に進みます。
「アプリケーション・インタフェース」ダイアログで、「オブジェクト取得」をクリックして「Oracle Applicationsモジュール・ブラウザ」を開きます。
「Oracle Applicationsモジュール・ブラウザ」は、Oracle Integration Repositoryからのインタフェース・データを、Oracle Applicationアダプタでサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。
Oracle Applicationsモジュール・ブラウザ
「Oracle Applicationsモジュール・ブラウザ」には、Oracle Applicationsで使用可能な各種の製品ファミリが含まれています。各製品ファミリには、個別製品が含まれています。各製品には、関連するビジネス・エンティティが含まれています。ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェースに従ってグループ化されています。
注意: 「ビジネス・イベント」はその他インタフェース・ノードにあり、このノードは製品ファミリ・レベルにあります。詳細は、「Oracle Applicationsモジュール・ブラウザの使用」を参照してください。
ナビゲーション・ツリーを製品ファミリ→その他インタフェース→「ビジネス・イベント」→「アウトバウンド」に展開します。方向アウトバウンドは、Oracle E-Business Suiteパースペクティブからになります。この場合は、Oracle Applicationsからビジネス・イベントをリスニングします。適切なビジネス・イベント(oracle.apps.po.event.xmlpoなど)を選択し、「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択したビジネス・イベントが表示されます。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「アプリケーション・インタフェース」ページで「次へ」をクリックします。ビジネス・イベント・ペイロードの「WFイベント・スキーマ定義」ページが表示されます。
ビジネス・イベント・ペイロードに使用するオプションとして次のいずれかを指定する必要があります。
注意: 「スキーマなし」または「任意のスキーマ」オプションを選択した場合、ビジネス・イベントのスキーマ情報をさらに指定する必要はなく、次のステップに進みます。
スキーマなし
「スキーマなし」オプションを選択すると、ペイロード・データは文字列の形式で使用できます。このオプションを選択すると、XML以外のイベント・ペイロードも受信できます。
任意のスキーマ
「任意のスキーマ」オプションを選択すると、任意のスキーマのXMLペイロードをイベント・ペイロードに添付できます。このオプションは、ペイロードがXMLであることがわかっていて、スキーマが不明の場合に選択します。
スキーマの指定
「スキーマの指定」を選択すると、「スキーマの場所」および「スキーマ要素」フィールドが参照可能になります。スキーマ・ファイルの場所を指定してから、アウトバウンド・ビジネス・イベントのペイロードを定義するスキーマ要素を選択する必要があります。
ビジネス・イベント・ペイロード・スキーマの選択
「スキーマなし」を選択して、「次へ」をクリックします。
ビジネス・イベント・サービスの定義が終了したことを示す「終了」ページが表示されます。
ウィザードでは、oracle.apps.po.event.xmlpoビジネス・イベント・サービスに対応するGetPOApprovalEvent WSDLファイルを生成します。
メインの「パートナ・リンクの作成」ダイアログが表示され、新規WSDLファイルが指定されています。
「適用」をクリックして、「OK」をクリックし、パートナ・リンク構成を完了します。
パートナ・リンク情報
必要なWSDL設定を使用してパートナ・リンクが作成され、プロセス・ダイアグラムの境界領域で新しいアイコンを使用してBPELプロジェクト内に表示されます。
次のタスクは、ビジネス・イベントのOracle Applicationアダプタ・サービス用に構成したパートナ・リンクからイベント詳細を受信するように、receiveアクティビティを構成することです。
receiveアクティビティを構成する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、BPELサービスとコンポーネントをクリックします。
「Receive」をBPELアクティビティ・リストからプロセス・ダイアグラムの中央スイムレーンにドラッグ・アンド・ドロップします。
receiveアクティビティを前に作成したパートナ・リンクGetPOApprovalEventにリンクします。
receiveアクティビティのパートナ・リンクへの関連付け
「受信」ダイアログが表示されます。
receiveアクティビティの構成
receiveアクティビティの適切な名前を入力します。
パートナ・リンクがアウトバウンド・ビジネス・イベントで構成されているため、「操作」で自動的に「デキュー」が選択されます。
「変数」を指定して、パートナ・リンクからメッセージ・データを受信するには、「変数」フィールドの右側にある「作成」アイコンをクリックします。「変数の作成」ダイアログ・ボックスが表示されます。
「OK」をクリックして、デフォルトの名前を受け入れます。
「受信」ダイアログで「適用」をクリックし、「OK」をクリックします。
アウトバウンド・ビジネス・イベントを構成する場合は、ファイル・アダプタ用にもう1つパートナ・リンクを追加する必要があります。これにより、アウトバウンド・ビジネス・イベントによってデータがXMLファイルに書き込まれます。
ファイル・アダプタ用パートナ・リンクを追加する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。
「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。
「次」をクリックします。
「サービス名」ページで、ファイル・アダプタ・サービスの名前を入力します。たとえば、WriteEventDataと入力します。
サービス名の指定
ファイル・アダプタ・サービスの名前(WriteEventDataなど)を入力します。
「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。
アダプタ・インタフェースの指定
「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。
「操作」ページで、操作タイプを指定します。たとえば、「Write File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。
操作の指定
「次へ」をクリックして、「ファイル構成」ページにアクセスします。
出力ファイルの構成
「ディレクトリは次のように指定します」フィールドで、「論理名」ラジオ・ボタンを選択します。「発信ファイルのディレクトリ(論理名)」にoutputDirと入力し、出力ファイルの命名規則(EventAck%yyMMddHHmmss%.xmlなど)を指定します。
ヒント: パーセント記号(%)を入力する場合、ファイル名の一部として日付変数のリストまたは順序番号変数(SEQ)から選択できます。
デフォルトの書込み条件「メッセージ数の到達 1」を確認します。
「次へ」をクリックすると、「メッセージ」ページが表示されます。書き込まれる出力ファイルの場合、スキーマを指定する必要があります。
「参照」をクリックして、「タイプ・チューザ」にアクセスします。
「プロジェクトのスキーマ・ファイル」→「APPS_WF_EVENT_T_GetPOApprovalEvent.xsd」をクリックして、ノードを展開します。要素として「WF_EVENT_T」を選択して、「OK」をクリックします。
選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
選択したメッセージ・スキーマの移入
「次へ」をクリックし、「終了」をクリックします。パートナ・リンクに対応するWSDLファイルが生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルを指定します。
パートナ・リンク構成の完了
「適用」をクリックし、「OK」をクリックして構成を完了し、ファイル・アダプタ・サービスに必須のWSDL設定を持つパートナ・リンクを作成します。
ファイル・アダプタ用のパートナ・リンクを追加した後、invokeアクティビティをファイル・アダプタ・リンクに関連付けるよう構成する必要があります。
invokeアクティビティによって、出力ディレクトリとして指定したXMLファイルにビジネス・イベント情報を書き込むことができます。
invokeアクティビティを構成する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELアクティビティとコンポーネント」を選択します。
「invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの「receive」アクティビティの後にドラッグ・アンド・ドロップします。
invokeアクティビティをWriteEventDataファイル・アダプタ・サービスにリンクします。
invokeのファイル・アダプタ・リンクへの関連付け
invokeアクティビティは、パートナ・リンクにイベント・データを送信します。「Invokeの編集」ダイアログが表示されます。
invokeアクティビティの名前を入力し、「入力変数」フィールドの横にある「作成」アイコンをクリックして、新規変数を作成します。「変数の作成」ダイアログが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックして、「Invokeの編集」ダイアログに戻ります。
invokeアクティビティの編集
「適用」をクリックして、「OK」をクリックし、invokeアクティビティの構成を完了します。
assignアクティビティを使用して、receiveアクティビティから出力を取得してinvokeアクティビティに入力します。
assignアクティビティを構成する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELアクティビティとコンポーネント」を選択します。
「assign」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの「receive」アクティビティと「invoke」アクティビティの間にドラッグ・アンド・ドロップします。
「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。
「一般」タブをクリックして、assignアクティビティの名前を入力します。例: setEventData。
「コピー操作」タブを選択し、「プラス」記号アイコンをクリックして、メニューから「コピー操作」を選択します。「コピー操作の作成」ウィンドウが表示されます。
コピー操作アクションの指定
「From」ナビゲーション・ツリーで、「変数」タイプを選択し、「変数」→「プロセス」→「変数」→「Receive_DEQUEUE_InputVariable」→「WF_EVENT_T」にナビゲートして、「ns4:WF_EVENT_T」を選択します。「XPath」フィールドに選択したエントリが含まれている必要があります。
コピー操作の定義
「To」ナビゲーション・ツリーで、「変数」タイプを選択し、「変数」→「プロセス」→「変数」→「Invoke_Write_InputVariable」→「WF_EVENT_T」にナビゲートして、「ns3:WF_EVENT_T」を選択します。「XPath」フィールドに選択したエントリが含まれている必要があります。
「OK」をクリックします。
「適用」をクリックし、「Assignの編集」ダイアログ・ボックスの「OK」をクリックして、assignアクティビティの構成を完了します。
完了したアウトバウンド・ビジネス・イベントBPELプロセス・プロジェクト
「composite.xml」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。
注意: 「composite.xml」の「ソース」タブをクリックして、参照WriteEventDataの物理ディレクトリoutputDirの値を入力します(/usr/tmpなど)。
<property name="outputDir" type="xs:string" many="false" override="may">/usr/tmp</property>
プロパティの物理ディレクトリの指定
Oracle JDeveloperのコンポジット・ダイアグラム
BPELプロセスは、設計後にコンパイル、デプロイおよびテストできます。
BPELプロセスは実行前にデプロイする必要があります。BPELプロセスはコンパイルされてから、接続を確立したアプリケーション・サーバー(Oracle WebLogic Server)にデプロイされます。
前提条件
Oracle JDeveloperを使用してBPELプロセスをデプロイする前に、次のことを確認する必要があります。
設計時環境とアプリケーション・サーバー間の接続を確立している必要があります。
詳細は、「Oracle WebLogic Serverのデータ・ソースの構成」と「アプリケーション・サーバーの接続の作成」を参照してください。
Oracle WebLogic Serverサーバーを起動しておきます。
BPELプロセスをデプロイする前に、接続を確立したOracle WebLogic Serverを起動する必要があります。
WebLogic Serverのローカル・インスタンスを使用する場合は、Oracle JDeveloperから「実行」→「サーバー・インスタンスの起動」を選択して、WebLogic Serverを起動します。
WebLogic Admin Serverの「DefaultServer」インスタンスが正常に起動されると、「実行中: DefaultServer」および「メッセージ」ログに<サーバーが実行モードで起動されました>および「DefaultServerが起動されました」というメッセージが表示されます。
BPELプロセスをデプロイする手順は、次のとおりです。
「アプリケーション・ナビゲータ」でBPELプロジェクトを選択します。
JDeveloper BPEL Designerの「アプリケーション・ナビゲータ」で、BPELプロジェクト(GetPOAckBusinessEventプロジェクトなど)を選択します。
プロジェクト名を右クリックし、表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。
BPELプロセスのデプロイ
BPELプロジェクトがコンパイルされ、正常にデプロイされます。
コンパイルおよびデプロイ・メッセージのログ
BPELプロセスがデプロイされると、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理および監視できます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。
BPELプロセスをテストする手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。
ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。
複数のターゲットOracle Enterprise Manager Fusion Middleware Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。
ファームのベース・ドメインで、「SOA」→「soa-infra」を展開して、SOAインフラストラクチャ・ホーム・ページとメニューをナビゲートし、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。
注意: 「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。
「XML Gateway」職責でOracle Applicationsにログオンします。
これにより、発注に定義された仕入先が有効であるようにXML Gateway取引先が適切に設定されていることを確認できます。
ナビゲーション・メニューから「取引先の定義」を選択して、「取引先の設定」ウィンドウにアクセスします。
次のように、「取引先設定」フォームでヘッダー値を入力します。
取引先タイプ: 仕入先
取引先名: Advanced Network Devicesなど
取引先サイト: 取引先サイトの情報を入力します。(例: 2000 Century Way, Santa Clara, CA 95613-4565)
会社管理者Eメール: 有効なEメール・アドレスを入力
次の取引先の詳細を入力します。
トランザクション・タイプ: PO
トランザクション・サブタイプ: PRO
標準コード: OAG
外部トランザクション・タイプ: PO
外部トランザクション・サブタイプ: Process
方向: OUT
マップ: itg_process_po_007_out
接続/ ハブ: DIRECT
プロトコル・タイプ: HTTP
ユーザー名: 「operation」
パスワード: welcome パスワードは、次のフィールドに移動する前に2回入力する必要があります。
プロトコル・アドレス: http://appsadapter.sample.com
ソース取引先ロケーション・コード: STPLC
「取引先の設定」フォーム
取引先の詳細を保存します。
「購買, Visionオペレーション (USA)」を選択して職責を切り替え、ナビゲーション・メニューから「発注」フォームを選択します。
「発注」フォームとともにOracle Applicationsフォームが表示されます。
「発注」ウィンドウで以前に定義した取引先を反映するヘッダー値を使用して発注を作成します。
仕入先: 仕入先の情報(「Advanced Network Devices」など)を入力します。
サイト: サイトの情報(「SANTA CLARA-ERS」など)を選択します。
「明細」タブで、次の値を使用してデータ行を入力します。
タイプ: 商品
品目: CM13139
数量: 1
摘要: ハード・ドライブ - 8GB
約束の日: dd-mmm-yyyyという書式で将来の日付(23-JUN-2009など)を入力します。
発注を保存します。発注のステータスは「未完了」になっています。
発注の設定
「承認」をクリックします。「ドキュメントの承認」フォームが表示されます。
発注の承認
「OK」をクリックして、承認を確定します。
注意: 取引先が設定され有効になっているため、送信方法は自動的にXMLに設定されます。
発注のステータスは「承認」に変更されました。将来参照するために、「発注, 改訂」フィールドの値(たとえば、この場合には発注番号4449)を記録します。
発注が承認されると、ビジネス・イベントoracle.apps.po.event.xmlpoが発生します。
WF_Deferred Agent Listenerがターゲット・データベースで実行中であることを確認する手順は、次のとおりです。
Oracle Applicationsに「システム管理者」職責でログインします。
Oracle Applicationsホーム・ページで、「ワークフロー管理者Webアプリケーション」職責を選択します。メニューから、「Oracle Applications Manager」→「ワークフロー・マネージャ」を選択します。
Oracle Applicationsの管理
「アプリケーション・マネージャ」ページで、「エージェント・リスナー」アイコンをクリックします。「サービス・コンポーネント」ページが表示され、インストール済のエージェント・リスナーのリストが表示されます。
エージェント・リスナー・ステータスの確認
ワークフロー遅延エージェント・リスナーのステータスが「実行中」になっていることを確認します。
このとき、デプロイされたBPELプロジェクトによってoracle.apps.po.event.xmlpoビジネス・イベントがリスニングされています。イベントが発生してからBPELプロセスがアクティブ化するまで2から3分かかります。
書込み操作に指定したディレクトリ(outputDir、通常はc:\tempの下)に移動します。出力ファイル(EventAck%yyMMddHHmmss.xmlなど)を開き、発注番号が承認済の発注の番号と同じであることを確認します。
出力の発注番号の確認
ビジネス・イベント・システム統合で問題が発生した場合は、次のトラブルシューティング手順を実行します。
WF_Listenerが稼働中であることを確認します。
ビジネス・イベントがBPELプロセスのデプロイ後にのみ発生することを確認します。
Oracle ApplicationsのインスタンスでBPELプロセスが作成され、別のインスタンスでデプロイされる場合、次のことを確認します。
ターゲット・データベースにWF_BPEL_Q、WF_BPEL_QTabおよびWF_BPEL_QAgentが存在している必要があります。
ターゲット・データベースに発生したビジネス・イベントのカスタム・サブスクリプションが存在している必要があります。
統合の問題が解消されない場合は、デバッグを有効化できます。
BPEL Process Managerを使用して、ビジネス・イベントのデバッグを有効化できます。
デバッグを有効化する手順は、次のとおりです。
BPEL Process Managerドメインにログインします。
yourdomain.collaxa.cube.wsを選択します。
「デバッグ」を選択します。
デバッグ情報がドメインのログ・ファイルに出力されます。BPEL Process Managerでログ・ファイルを調べるには、「ホーム」→「BPELドメイン」→「yourdomain」→「Logs」にナビゲートします。 ログ・ファイルはyourdomain.logです。
Copyright © 2005, 2010, Oracle and/or its affiliates. All rights reserved.