Oracle Fusion Middleware Oracle E-Business Suite Adapterユーザーズ・ガイド 12c (12.2.1.1) 部品番号 E79307-01 | ![]() 目次 | ![]() 前 | ![]() 次 |
この章の構成は、次のとおりです。
Oracle E-Business Suite AdapterはOracle E-Business Suiteとサード・パーティ・アプリケーションの間の橋渡しを行います。インバウンドとアウトバウンドのXMLデータは、Oracle E-Business Suiteとサード・パーティ・アプリケーションの間でXML Gatewayを介して交換されます。
Oracle XML Gatewayは、社内および社外の両面で、Oracle E-Business Suiteとサード・パーティ・アプリケーションとのXML統合用に標準ベースの共通アプローチを提供します。XMLは統合ソリューションの鍵であり、データの検索、交換および表現方法を標準化することでサプライ・チェーン全体の相互運用を可能にします。
Oracle XML Gatewayは、主にビジネス・パートナ統合のためのXMLメッセージング・ベースの統合インフラストラクチャであり、Oracle E-Business Suiteとサード・パーティ・アプリケーションとの統合を容易にするサービスのセットが含まれています。Oracle E-Business Suiteでは、Oracle Workflowのビジネス・イベント・システムを使用して、イベント・ベースのXMLメッセージの作成と使用をサポートします。
Oracle E-Business Suite Adapterは、XML Gatewayを使用してサード・パーティ・アプリケーションと相互作用するように構成できます。オープン・インタフェース表による緊密な統合は、取引先が頻繁に変化するシナリオには適しません。オープン規格を使用するサード・パーティ・アプリケーションとの相互作用が必要な場合には、XML Gatewayが理想的なソリューションです。また、取引先が頻繁に変化するシナリオにも適しています。
Oracle XML Gatewayは、すべての業界をサポートする広範囲なビジネス・アプリケーション・ソリューションのプロバイダとして、すべてのDocument Type Definition(DTD)に基づくXML標準をサポートしています。Oracle E-Business Suiteで提供されるOracleの事前作成済メッセージの大多数は、Open Applications Group(OAG)標準を使用して事前にマップされています。Oracle事前作成済メッセージ・マップはすべて、XML Gateway Message Designerを使用して選択した標準に再マップできます。
XML Gatewayは、Oracle E-Business Suiteとの統合を必要とするあらゆるアプリケーションの統合要件に対処できるように、十分な柔軟性を備えたアプリケーション統合インフラストラクチャを提供します。また、XML Gatewayでは、すべての顧客、工場、倉庫、仕入先、運送業者および他の取引先をリンクする効率的でレスポンスの迅速なサプライ・チェーンを作成できます。これらのエンティティはすべて、単一の企業としてシームレスに運用できます。
Oracle XML Gatewayは、Business-to-Business(B2B)およびApplication-to-Application(A2A)イニシアティブの両方をサポートします。B2Bイニシアティブには、ビジネス文書の通信と業界間のデータ交換への参加が含まれます。レガシー・システムや異機種システムとのデータ統合は、A2Aイニシアティブの一例です。
XML Gatewayは、Oracle E-Business Suiteとの双方向統合を実現するために、Oracle E-Business Suiteのデータの挿入や取得を可能にします。Oracle E-Business Suite Adapterでは、インバウンドおよびアウトバウンドのXML Gatewayメッセージ処理がサポートされています。XML Gatewayインバウンド・メッセージ処理の場合、インバウンド・メッセージはECX_INBOUNDキューに置かれます。ECX_INBOUNDに対して実行されているエージェント・リスナーにより、実行エンジンがさらに処理を行うことができます。Oracle XML GatewayによってこのXMLメッセージが取得され、取引先検証が実行されて、Oracle E-Business Suiteにデータが挿入されます。XML Gatewayアウトバウンド・メッセージ処理の場合、アウトバウンド・メッセージは最初にECX_OUTBOUNDキューにエンキューされます。Oracle BPEL PMによって、同じ相関ID BPELを持つメッセージに対するECX_OUTBOUNDキューがリスニングされます。その後、メッセージがデキューされ、Oracle E-Business Suiteからアウトバウンド・データの取得が行われます。取得したデータは、メッセージにサブスクライブしている取引パートナまたはコンシューマに渡すことができます。
XML Gatewayの統合アーキテクチャ
XML Gatewayでは、一般的なエラー・キューを使用するのみでなく、特にプロセスの2箇所でキューを使用します。1箇所目は、トランスポート・エージェント・モジュールとXML Gatewayの間のトランスポート・エージェント・レベルです。2箇所目は、Oracle E-Business Suiteアプリケーション製品とXML Gatewayの間のトランスポート・レベルです。
インバウンド・メッセージ・キューは、Oracle E-Business SuiteへのXMLメッセージのインバウンドに使用されます。インバウンド・メッセージ・キューは、トランスポート・エージェントとOracle Workflowビジネス・イベント・システムの間に位置します。
メッセージは、XML Gatewayのエンベロープ・メッセージ書式に従って書式設定する必要があります。エンベロープ・メッセージ書式については、「XML Gatewayエンベロープ」を参照してください。インバウンド・メッセージは、Oracle Workflowビジネス・イベント・システムにより適切なインバウンド・トランザクション・キューにコピーされます。
アウトバウンド・メッセージ・キューは、Oracle E-Business SuiteへのXMLメッセージからのアウトバウンドに使用されます。アウトバウンド・メッセージ・キューは、XML Gatewayとトランスポート・エージェントの間に位置します。
XML Gatewayでは、XMLメッセージが作成されてから、このキューにエンキューされます。メッセージはトランスポート・エージェントによりデキューされ、取引先に配信されます。
XMLペイロードでは、発注や請求書などのビジネス文書のみでなく、一連のメッセージ属性も送信されます。これらの属性を総称してXML Gatewayエンベロープと呼びます。次の表は、これらの属性の一部を示しています。
次のパラメータは、ベース・アプリケーションで定義できます。
ATTRIBUTE1
ATTRIBUTE2
ATTRIBUTE4
ATTRIBUTE5
次のパラメータは使用されません。
PARTYID
PARTYTYPE
注意: XML Gateway実行エンジン、取引パートナ検証およびその他のXML Gateway情報の詳細は、『Oracle XML Gatewayユーザーズ・ガイド』を参照してください。このガイドは、Oracle Technology Network(OTN)上でアクセスできるOracle E-Business Suite Documentation Libraryの一部です。
この項では、XML Gatewayを使用するようにOracle E-Business Suite Adapterを構成する方法について説明します。ここでは、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してOracle E-Business Suite Adapterを構成するために必要なタスクを説明します。
BPELプロセスを使用したSOAコンポジット・アプリケーションのシナリオ
XML Gatewayインバウンド・プロセスの発注XML トランザクションを例として、BPELプロセス作成について説明します。この例では、XML Gatewayインバウンド・メッセージ・マップが、PROCESS_PO_007インバウンド・マップによりWebサービスとして公開されています。これにより、関連する発注の作成時に、ヘッダーおよび明細品目などの受注データをOrder Managementシステムに挿入できます。
取引先が発注を送信すると、この発注データは、ECXヘッダー・プロパティ(jca.apps.ecx.TransactionTypeなど)とともにBPELプロセスへの入力として使用されます。その後、BPELプロセスにより、この発注はECX_INBOUNDキューにプッシュされます。ECX_INBOUNDに対して実行されているエージェント・リスナーにより、実行エンジンがさらに処理を行うことができます。Oracle XML GatewayによってこのXMLメッセージが取得され、取引先検証が実行されて、Order Managementアプリケーションにこのオーダー・データが挿入されます。
BPELプロセスを使用したSOAコンポジット・アプリケーションがデプロイメント後に正常に実行された場合は、発注の作成時にOrder Management表に挿入されたものと同じオーダー情報を取得する必要があります。
XML Gatewayのヘッダー・プロパティの設定
Oracle E-Business Suiteアプリケーションのコンテキスト情報を提供するには、BPELプロセスに特定の変数を移入する必要があります。このことは、以前のリリースで使用されていたSYSTEM.ECXMSGオブジェクトから、ヘッダー・プロパティとして個別のフィールドを設定することによって実行できます。
ヘッダー・プロパティにはjca.apps.ecx.TransactionType、jca.apps.ecx.TransactionSubtype、jca.apps.ecx.PartySiteId、jca.apps.ecx.MessageType、jca.apps.ecx.MessageStandard、jca.apps.ecx.DocumentNumberなどがあり、XMLトランザクションを正常に完了するには、これらのプロパティを移入する必要があります。
これらのヘッダー・プロパティ値はinvokeアクティビティの「プロパティ」タブで定義できます。詳細は、「invokeアクティビティの構成」を参照してください。
XML Gateway取引先の設定
「XML Gateway」職責を使用して、「取引先の設定」フォームで有効なインバウンドXML Gateway取引先が定義されていることを確認する必要があります。
たとえば、「取引先」(サイト情報が「2391 L Street San Jose CA 95106」、取引先タイプが「顧客」である「Business World」など)のインバウンド・トランザクションに対する詳細は、次のとおりです。
トランザクション・タイプ: ONT
トランザクション・サブタイプ: POI
標準コード: OAG
外部トランザクション・タイプ: PO
外部トランザクション・サブタイプ: PROCESS
方向: IN
マップ: ONT_3A4R_OAG72_IN
ソース取引先ロケーション・コード: BWSANJOSE
エージェント・リスナーがすべて稼動中かつ実行中であることの確認
また、Oracle E-Business Suiteアプリケーション側で2つのリスナーを構成、スケジュールする必要があります。この2つは、ECXインバウンド・エージェント・リスナーとECXトランザクション・エージェント・リスナーです。この2つのリスナーをOracle E-Business Suiteで構成する手順は、次のとおりです。
「ワークフロー管理者」の職責でOracle E-Business Suiteにログインします。
「ナビゲータ」から、「ワークフロー管理者Webアプリケーション」リンクを選択します。
「Oracle Applicationsマネージャ」の下の「ワークフロー・マネージャ」リンクをクリックします。
「エージェント・リスナー」の横にあるステータス・アイコンをクリックします。
ECXインバウンド・エージェント・リスナー、ECXトランザクション・エージェント・リスナーおよび「ワークフロー遅延エージェント・リスナー」を構成してスケジュールします。リスナーを選択し、「処理」ボックスから「開始」を選択します。「進む」をクリックします。
XML Gatewayインバウンド・プロセスの発注XMLトランザクションのビジネス・シナリオに従って、次の設計時タスクについてこの章で説明します。
BPELプロセスを使用した新しいSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。
Oracle JDeveloperを起動します。
「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。
「新規ギャラリ」ページが表示されます。項目リストで「SOAアプリケーション」を選択します。
「新規ギャラリ」ページ
「OK」をクリックします。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ
「アプリケーション名」フィールドにアプリケーションに適した名前を入力します。
「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ
「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: POInboundXMLGateway。
「プロジェクトの機能」セクションに「SOAスイート」が表示されます。
「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。
「SOAアプリケーションの作成 - SOA設定の構成」ページ
「開始」フィールドでは、デフォルトで選択されている「標準コンポジット」をそのままにします。
「標準コンポジット」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。
「BPELプロセスの作成」ページが表示されます。
デフォルトで選択されている「BPEL 2.0仕様」をそのままにします。BPEL 2.0仕様をサポートするBPELプロジェクトが作成されます。
「BPELプロセスの作成」ページ
「名前」フィールドに適切なBPELプロセス名を入力します。例: POInboundXMLGateway。
「テンプレート」フィールドで「非同期BPELプロセス」を選択します。「OK」をクリックします。
receiveアクティビティとreplyアクティビティを持つ非同期BPELプロセスが作成されます。指定した名前(POInboundXMLGateway.bpelやPOInboundXMLGateway.wsdlなど)を使用したbpelおよびwsdlを含む必要なソース・ファイル、およびPOInboundXMLGateway (composite.xml)も生成されます。
次のタスクは、BPELプロセスにパートナ・リンクを追加することです。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
パートナ・リンクを追加する手順は、次のとおりです。
「コンポーネント・パレット」で「BPELサービス」をクリックします。
Oracle E-Business Suite」(旧称Oracle Applications)を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「Oracle E-Business Suite Reference」ページが表示されます。
「名前」フィールドに参照名を入力します。例: XMLGatewayOrderInbound。
「次」をクリックします。「サービス接続」ダイアログが表示されます。
データベース・サービス接続の指定
新規データベース接続を作成することも、既存の接続を使用することもできます。
注意: Oracle E-Business Suiteが実行されているデータベースに接続する必要があります。
新規データベース接続を作成する手順は、次のとおりです。
「サービス接続」ページから、「新規データベース接続を作成します」アイコンをクリックします。
「データベース接続の作成」ページが表示されます。
次の情報を入力します。
「接続名」フィールドで、データベース接続の一意の名前を指定します。
「接続タイプ」リストから、データベースの接続タイプ(Oracle(JDBC)など)を選択します。
「ユーザー名」フィールドで、データベース接続の一意の名前を指定します。
「パスワード」フィールドで、データベース接続のパスワードを指定します。
「Oracle (JDBC)設定」の「ドライバ」リストから、「Thin」を選択します。
「ホスト名」フィールドで、データベース接続のホスト名を指定します。
「JDBCポート」フィールドで、データベース接続のポート番号を指定します。
「SID」フィールドで、データベース接続の一意のSID値を指定します。
「接続のテスト」をクリックし、指定した情報によってデータベースとの接続が確立されるかどうかを判断します。
ステータス・メッセージ「成功」は、有効な接続を示します。
「OK」をクリックします。
「サービス接続」ダイアログ・ボックスに、データベース接続の要約が表示されます。
既存のデータベース接続の選択:
新規データベース接続を作成するかわりに、構成済の既存のデータベース接続を使用できます。
「サービス接続」ページの「接続」ドロップダウン・リストから、適切な接続を選択します。
「サービス接続」ページが開いて、選択した接続情報が表示されます。データベース接続に対応するJNDI(Java Naming and Directory Interface)名が、「データベース・サーバーのJNDI名」フィールドに自動的に表示されます。JNDI名を指定することもできます。
注意: JNDI名を指定する場合、データベースにアクセスするには、Oracle E-Business Suite Adapterのデプロイメント・ディスクリプタにより、このJNDI名をアダプタで必要な構成プロパティに関連付ける必要があります。
JNDI名は、サービスがBPELサーバーにデプロイされるときに使用される接続のプレースホルダとなります。これによって、開発用とその後の本番用とで異なるデータベースを使用できます。
注意: JNDIの概念の詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。
新規の接続を完了するか、または既存の接続を選択した後、Oracle E-Business Suiteで使用可能なAPIのリストを参照してXML Gatewayインバウンド・マップを追加できます。
「次」をクリックします。
Oracle E-Business Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。これは、ワークスペース内で接続中のデータベースに対応するOracle Integration Repositoryデータ・ファイルが見つからないことを示します。データファイルがないと、Integration Repositoryツリーの参照や検索がかなり低速になります。データファイルを抽出し、Integration Repositoryデータファイルのローカル・コピーを作成するように選択できます。正常に作成されたローカル・コピーは、次回にアダプタにより自動的に使用され、ローカルIntegration Repositoryからデータが取得されます。
次のいずれかのオプションを選択できます。
Integration Repositoryデータファイルを抽出するには、「はい」をクリックします。
システムによりIntegration Repositoryデータファイルのローカル・コピーが正常に作成されると、データベースへの次回接続時には、「操作」ダイアログに「IRepデータ・ファイル」フィールドが表示されます。これは、ファイル名の一部に作成日時を含んだローカル・コピーが存在することを示します。
接続中の本番データベースからIntegration Repositoryデータファイルを問い合せてIntegration Repositoryツリーを表示するには、「いいえ」をクリックします。
この例では、「いいえ」をクリックします。「操作」ページで「次へ」をクリックして、Oracle E-Business Suiteモジュール・ブラウザを開きます。
Oracle E-Business Suiteモジュール・ブラウザは、Oracle Integration Repositoryからのインタフェース・データを、Oracle E-Business Suite Adapterでサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。
モジュール・ブラウザからのインバウンドXML Gatewayメッセージ・マップの指定
注意: Oracle E-Business Suiteモジュール・ブラウザには、Oracle E-Business Suiteで使用可能な各種の製品ファミリが表示されます。各製品ファミリには、個別製品が含まれています。各製品には、関連するビジネス・エンティティが含まれています。ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェースに従ってグループ化されています。
Navigate to 「Order Management Suite」→「Order Management」→「受注」→「XML Gateway」にナビゲートして、「Inbound: Process Purchase Order XML Transaction (ONT_3A4R_OAG72_IN)」を選択します。
「OK」をクリックします。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「次」をクリックします。
「終了」をクリックして、Oracle E-Business Suite Adapterの構成プロセスを完了します。必要なWSDL設定を使用してパートナ・リンクが作成されます。XMLスキーマに対応するWSDLファイルも生成されます。このWSDLファイルをパートナ・リンクに使用できます。
パートナ・リンクの詳細を表示するには、新たに生成した「パートナ・リンク(XMLGatewayOrderInbound)」アイコンをダブルクリックします。
インバウンド・メッセージを構成する場合は、ファイル・アダプタ用にもう1つパートナ・リンクを追加する必要があります。これにより、サード・パーティ・アプリケーションから受信したXMLファイルをインバウンド・メッセージで取得できます。データは、前に構成したパートナ・リンクを介してOracle E-Business Suiteに挿入されます。
ファイル・アダプタ用パートナ・リンクを追加してXMLメッセージを取得する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。
「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。ファイル・アダプタ参照ページが表示されます。
ファイル・アダプタ参照ページ
ファイル・アダプタ・サービスの名前(getOrderXMLなど)を入力します。
「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。
アダプタ・インタフェースの指定
「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。
ファイル・サーバーの接続ページが表示されます。「ファイル・サーバーのJNDI名」フィールドのデフォルト値は変更せず、そのままにします。
「次へ」をクリックします。
「操作」ページで、操作タイプを指定します。たとえば、「同期Read File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。
操作の指定
「次へ」をクリックして、「ファイル・ディレクトリ」ページにアクセスします。
「物理名」ラジオ・ボタンを選択して、受信ファイルのディレクトリ(/usr/tmpなど)を指定します。
「正常な取得後にファイルを削除」チェック・ボックスが選択されていないことを確認します。
「次へ」をクリックして、「ファイル名」ページを開きます。
同期Read File操作のファイル名を入力します。たとえば、order_data_xmlg.xmlと入力します。
「次」をクリックします。「メッセージ」ページが表示されます。
「スキーマ・ファイルを参照」アイコンを選択して、「タイプ・チューザ」ウィンドウを開きます。
「プロジェクトのスキーマ・ファイル」→「PROCESS_PO_007.xsd」→「PROCESS_PO_007」をクリックして、ノードを展開します。
選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
メッセージ・スキーマの指定
「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。パートナ・リンクに対応するWSDLファイルgetOrderXML.wsdlも生成されます。
BPELプロセス・ダイアグラムにgetOrderXMLパートナ・リンクが表示されます。「パートナ・リンク」サービス・アイコンをダブルクリックします。パートナリンクの編集 ダイアログが開き、詳細が表示されます。
パートナ・リンクの追加と構成を完了後、次のタスクはBPELプロセスを構成することです。最初に、XML Gatewayインバウンド・メッセージをエンキューしてXML Gatewayヘッダー・プロパティを設定するように「Invoke」プロセス・アクティビティを構成できます。
前に説明したシナリオに基づいて、次の2つのinvokeアクティビティを構成する必要があります。
入力XMLファイルから同期読取り操作を使用してXMLメッセージの詳細を取得するには、getOrderXMLパートナ・リンクを起動します。
発注情報をECX_INBOUNDキューにエンキューするには、XMLファイルのXMLGatewayOrderInboundパートナ・リンクを起動します。
invokeアクティビティによって、XML Gatewayインバウンド・サービスのECXヘッダー・プロパティを設定することもできます。
最初のinvokeアクティビティを構成する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。最初の「invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの「receiveInput」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。
invokeアクティビティをgetOrderXMLパートナ・リンク・サービスにリンクします。
invokeアクティビティの作成
「Invokeの編集」ダイアログの「一般」タブで、invokeアクティビティの名前を入力します。
「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。たとえば、このinvokeアクティビティはファイル・アダプタ・サービスを起動して入力XMLファイルの同期読取りを行うため、SynchReadが自動的に「操作」フィールドに移入されます。
Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
「出力」タブで「出力変数」ラジオ・ボタンが選択されていることを確認します。「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックして、「Invokeの編集」ダイアログに戻ります。
「Invokeの編集」ダイアログ
「適用」をクリックし、「OK」をクリックします。
2番目のinvokeアクティビティを構成する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。2番目の「Invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの最初の「invoke」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。
invokeアクティビティをXMLGatewayOrderInboundパートナ・リンク・サービスにリンクします。
「Invokeの編集」ダイアログの「一般」タブで、invokeアクティビティの名前を入力します。
「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。このinvokeアクティビティはインバウンド・メッセージ・マップのパートナ・リンクに関連付けられているため、「エンキュー」操作が選択されます。
「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
「適用」をクリックします。
ECXヘッダー・メッセージ・プロパティの設定
XMLトランザクションが正常に完了するために必要な個別のメッセージ・プロパティを渡すには、適切なXML Gatewayヘッダー・プロパティ値を入力する必要があります。
ECXヘッダー・メッセージ・プロパティを設定する手順は、次のとおりです。
「Invoke」ダイアログ・ボックスの「プロパティ」タブをクリックします。事前定義済の正規化されたメッセージ・プロパティがすべて表示されます。
「作成」アイコンをクリックします。「送信先プロパティ」ダイアログが表示されます。
「名前」ドロップダウン・リストから「jca.apps.ecx.TransactionType」プロパティを選択します。
プロパティの選択
メッセージ・タイプとして「式」ボタンを選択します。
選択したプロパティにプロパティ値を入力します。たとえば、プロパティjca.apps.ecx.TransactionTypeに対して'PO'と入力します。
プロパティ値の入力
「OK」をクリックします。
ステップ2から4を繰り返して、次のプロパティ値を設定します。
jca.apps.ecx.MessageType: 'XML'
jca.apps.ecx.TransactionSubType: 'PROCESS'
jca.apps.ecx.PartySiteId: 'BWSANJOSE'
jca.apps.ecx.MessageType: 'XML'
jca.apps.ecx.MessageStandard: 'OAG'
jca.apps.ecx.DocumentNumber: 'order_xml_01'
注: 以前のリリースでは、MESSAGE_TYPE、MESSAGE_STANDARD、TRANSACTION_TYPE、TRANSACTION_SUBTYPE、DOUCMENT_NUMBERおよびPARTY_SITE_IDなどのXML Gatewayヘッダー変数はSYSTEM.ECXMSGオブジェクトに含まれます。Oracle E-Business Suite AdapterによってSYSTEM.ECXMSGオブジェクトが正規化され、invokeアクティビティの「プロパティ」タブで個別のメッセージ・プロパティを作成して設定できるようになりました。これらのヘッダー・プロパティは、XMLトランザクションが正常に完了するために必要です。
「Invoke」ダイアログ・ボックスで、「適用」と「OK」を順番にクリックします。
注意: アウトバウンド・メッセージ用にパートナ・リンクを構成した場合は、「Invoke」アクティビティのかわりに「Receive」アクティビティを構成する必要があります。「Receive」アクティビティは、XML Gatewayアウトバウンド・メッセージのデキューに使用されます。
assignアクティビティを使用して、getOrderXMLサービスの出力をXMLGatewayOrderInboundサービスに入力として渡します。
assignアクティビティを追加する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した2つの「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。
「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。
「一般」タブをクリックして、assignアクティビティの名前を入力します。例: SetOrderXML。
「コピー・ルール」タブを選択してターゲット・ツリーを展開します。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_SynchRead_OutputVariable」の順にナビゲートして、「本体」を選択します。
「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_Enqueue_InputVariable」にナビゲートして、「PROCESS_PO_007」を選択します。
ソース・ノード(本体)を、選択したターゲット・ノード(PROCESS_PO_007)にドラッグします。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。
パラメータの割当て
「適用」をクリックして、「OK」をクリックし、assignアクティビティの構成を完了します。
次の図は、完全なBPELプロセスを示しています。
BPELプロセス・ダイアグラム
「POInboundXMLGateway (composite.xml)」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。
Oracle JDeveloperのコンポジット・ダイアグラム
BPELプロセスを使用したSOAコンポジットを設計したら、次の手順はそれをデプロイ、実行およびモニターすることです。
SOAコンポジットに含まれるBPELクライアントからXML Gatewayインバウンド・サービスを起動するには、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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。
「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。
プロジェクト名を右クリックします。表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。
接続が適切にセットアップされていれば、たとえば、「デプロイ」→「POInboundXMLGateway」→「soa-server1」を選択してプロセスをデプロイできます。
注意: サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。
「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。
新規リビジョンID: 1.0
コンポジット・リビジョンをデフォルトとしてマークします: このチェック・ボックスを選択します。
同じリビジョンIDで既存のコンポジットを上書きします: このチェック・ボックスを選択します。
JDeveloperからOracle WebLogic Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。
「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。
アプリケーション・サーバーの選択
「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。
デフォルトのSOAサーバーの識別
「次へ」をクリックし、「終了」をクリックします。
Oracle JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Oracle SOA Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。
デプロイメント処理が開始されます。「SOA - ログ」ウィンドウでデプロイメントの進行とコンパイルの成功を確認します。
「デプロイメント - ログ」ウィンドウでデプロイメントの成功を確認します。
SOAコンポジット・アプリケーションに含まれるBPELプロセスを一度デプロイしたら、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理およびモニターできます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。
BPELプロセスを使用したデプロイ済SOAコンポジットをテストする手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。
Oracle Enterprise Manager Fusion Middleware Controlコンソール
ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。
複数のターゲットOracle Enterprise Manager Fusion Middleware Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。
ファームのベース・ドメインで、「SOA」→「soa-infra (soa_server1)」→「デフォルト」を展開して、SOAインフラストラクチャ・ホーム・ページとメニューをナビゲートし、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。
注意: 「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。
「SOAインフラストラクチャ」から、開始するSOAコンポジット・アプリケーション('POInboundXMLGateway'など)をクリックします。
ページの最上部で「テスト」をクリックします。
インスタンスを起動するための「Webサービスのテスト」ページが表示されます。「入力引数」セクションで使用するXMLペイロード・データを指定できます。
プロセスに必要な入力文字列を入力して、「Webサービスのテスト」をクリックし、プロセスを起動します。
Webサービスのテスト
完了すると、「レスポンス」タブにテスト結果が表示されます。「Webサービスのテスト」ページの「フロー・トレースの起動」をクリックします。「フローのトレース」ページが表示されます。
「トレース」セクションにサービス・バインディング・コンポーネント(poinboundxmlgateway_client_ep)、BPELコンポーネント(POInboundXMLGateway)および参照バインディング・コンポーネント(getOrderXML and XMLGatewayOrderInbound)に対するメッセージ・フローの順序が表示されます。関連するすべてのコンポーネントが、メッセージを正常に受信および処理しました。
テスト中にエラーが発生した場合は、「フォルト」セクションに表示されます。
BPELサービス・コンポーネントのインスタンス・リンク(POInboundXMLGateway)をクリックして「インスタンス」ページを表示し、BPELアクティビティの実行詳細を「監査証跡」タブに表示できます。
BPELプロセス・フロー・ダイアグラムを確認するには、フロー・タブをクリックします。アクティビティの詳細およびプロセス全体のペイロードのフローを表示するには、プロセス・ダイアグラムのアクティビティをクリックします。
SOAコンポジット・アプリケーションに含まれるBPELプロセスが正常に開始されて完了すると、Oracle E-Business Suiteアプリケーションの関連モジュールを使用してプロセスを検証できます。
たとえば、Oracle Transaction Monitorを使用し、プロセスが正常に完了したことを確認してプロセスを検証した後、オーダーをOrder Managementアプリケーションにインポートできます。次に、Oracle Order Managementでオーダーを検証して、そのオーダーが存在することを確認します。
Oracle Transaction Monitorを使用して検証する手順は、次のとおりです。
また、取引モニターから検証することもできます。取引モニターは、Oracle E-Business Suiteアプリケーションとの間でやりとりされ、XML Gatewayで処理されてOracle Transport Agentにより配信または受信されるインバウンド・トランザクションとアウトバウンド・トランザクションのステータスをモニタリングするためのツールです。これらの文書の完全な履歴と監査証跡が表示されます。
「取引モニター」ページには、「ワークフロー管理者」Web職責を使用してナビゲートできます。取引モニターの機能は、次のとおりです。
特定の文書または文書グループへのアクセスをサポートする柔軟な検索基準
文書IDでのドリルダウンによる文書ヘッダー・レベルの検索結果
アウトバウンド・メッセージの再送信機能
XMLメッセージ・コンテンツの表示機能
注意: 取引モニターの使用方法の詳細は、『Oracle XML Gatewayユーザーズ・ガイド』を参照してください。このガイドは、Oracle Technology Network(OTN)上でアクセスできるOracle E-Business Suite Documentation Libraryの一部です。
Oracle Transaction Monitorで検証する手順は、次のとおりです。
「ワークフロー管理者Webアプリケーション」職責でOracle E-Business Suiteにログオンします。「取引モニター」を選択して、オーダーを検索するために検索ウィンドウを開きます。
「インバウンド・メッセージ」ラジオ・ボタンを選択します。
取引モニターを使用した検索の実行
検索ウィンドウに次の情報を入力します。
パーティ・タイプ: 顧客
文書ID: ヘッダー・メッセージ・プロパティに対して定義した文書IDを入力(例: oder_xml_01)
「進む」をクリックして、「インバウンド検索結果」リージョンにリストされているすべてのXMLインバウンド・メッセージを取得します。
「order_xml_01」のトランザクションのステータスが、「成功」であることを確認します。
Oracle Order Managementにオーダーをインポートする手順は、次のとおりです。
フォームベースのOracle E-Business Suiteに、「受注管理スーパーユーザー、Visionオペレーション (USA)」職責でログオンします。
「受注、返品」: 「受注のインポート」→「受注インポート要求」を選択します。「受注インポート要求」ウィンドウが「パラメータ」ダイアログとともに表示されます。
受注インポートの同時リクエストのパラメータの入力
「パラメータ」ダイアログで「OK」をクリックします。「受注インポート」という要求名がインポート要求ウィンドウに自動的に移入されます。
「発行」をクリックして要求を発行します。これにより、コンカレント要求番号が表示されます。要求番号を記録します。ただし、別の要求を発行しない「決定」ダイアログでは「No」をクリックします。
アプリケーション・メニューから、「表示」→「要求」を選択して、「要求の検索」ウィンドウを開きます。
前に記録した要求番号を入力して、「検索」をクリックします。
これにより、「受注インポート要求」のステータスが表示される場合があります。多くの場合正常に表示され、オーダーがOrder Managementアプリケーションで作成されます。
Oracle Order Managementで検証する手順は、次のとおりです。
フォームベースのOracle E-Business SuiteにOrder Managementの「スーパーユーザー」職責でログオンします。
「受注、 返品」→「受注」を選択します。受注フォームが開きます。
発注番号(order_xml_01)を「顧客発注」フィールドに入力してオーダーを検索します。これにより、XML Gatewayインバウンド・マップを使用して新規作成されたオーダーの詳細が表示されます。
必要な販売注文の表示
品目の詳細を表示する「品目」タブを選択することもできます。
アウトバウンドXML Gatewayマップ・インタフェースの場合、アウトバウンド・メッセージは最初にECX_OUTBOUNDキューにエンキューされるため、Oracle BPEL PMによって、同じ相関IDを持つメッセージに対するECX_OUTBOUNDキューがリスニングされます。その後、メッセージがデキューされ、Oracle E-Business Suiteからアウトバウンド・データの取得が行われます。取得したデータは、メッセージにサブスクライブしている取引パートナまたはコンシューマに渡すことができます。
BPELプロセスを使用したSOAコンポジット・アプリケーションのシナリオ
XML Gatewayアウトバウンド・インタフェースの発注承認XMLトランザクションを例として説明します。XML Gatewayアウトバウンド・インタフェースは、ECX_CBODO_OAG72_OUT_CONFIRMアウトバウンド・マップによりWebサービスとして公開されます。
発注が作成されて承認されると、発注が承認されるときにワークフローがトリガーされます。このワークフローによって発注承認フローが作成され、作成された発注承認がXMLファイルとして送信されます。ワークフローによって、他のシステムに配信するために、確認BODが発注承認としてECX_OUTBOUNDキューに配信されます。
このメッセージの相関IDはBPELに設定されており、Oracle BPEL PMによって、相関IDがBPELのメッセージに対するECX_OUTBOUNDキューがリスニングされます。発注承認としての確認BODが、ファイル・アダプタを使用して出力XMLファイルとして書き込まれます。
相関識別子の設定
アウトバウンド・メッセージ・マップを起動する場合は、Oracle E-Business Suiteで相関識別子を設定する必要があります。相関識別子により、アウトバウンド・キューをリスニングするエージェントが複数存在する場合に、メッセージに特定のエージェントを意味するラベルを付けることができます。特定の相関をリスニングしているエージェントは、そのエージェントの相関識別子と一致するメッセージを取得します。
相関識別子を設定する手順は、次のとおりです。
XML Gatewayの職責を使用してOracle E-Business Suiteにログインします。「ナビゲータ」ページが表示されます。
「XML Gateway」リンクをクリックします。
「XML Gateway」の下の「参照値の定義」リンクをクリックして、「XML Gateway参照」フォームを開きます。
XML Gateway参照
in the 「タイプ」フィールドでCOMM_METHODを検索し、システム内に存在することを確認します。
「コード」フィールドおよび「内容」フィールドにBPELと入力し、COMM_METHODタイプに対して新規レコードを追加します。説明を入力してレコードを保存します。
Oracle XML Gatewayでは、メッセージをECX_OUTBOUNDキューにエンキューするときに、BPELの相関が設定されます。
XML Gateway取引先の設定
相関識別子を適切に設定した後、「XML Gateway」職責を使用して、「取引先の設定」フォームのアウトバウンドXML Gateway取引先が有効であることを確認する必要もあります。「プロトコル・タイプ」フィールドが「BPEL」に設定されている必要があります。
たとえば、「取引先」(サイト情報が「2391 L Street San Jose CA 95106」、取引先タイプが「顧客」である「Business World」など)のアウトバウンド・トランザクションに対する詳細は、次のとおりです。
トランザクション・タイプ: ECX
トランザクション・サブタイプ: CBODO
標準コード: OAG
外部トランザクション・タイプ: BOD
外部トランザクション・サブタイプ: CONFIRM
方向: OUT
マップ: ECX_CBODO_OAG72_OUT_CONFIRM
接続/ハブ: DIRECT
プロトコル・タイプ: BPEL
ソース取引先ロケーション・コード: BWSANJOSE
取引先の設定
BPELプロセスを使用したSOAコンポジット・アプリケーションの作成フロー
発注承認XMLトランザクションのシナリオに従って、次の設計時タスクについてこの章で説明します。
BPELプロセスを使用したSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。
Oracle JDeveloperを起動します。
「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。
「新規ギャラリ」ページが表示されます。項目リストで「SOAアプリケーション」を選択します。
「新規ギャラリ」ページ
「OK」をクリックします。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ
「アプリケーション名」フィールドにアプリケーションに適した名前を入力します。
「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ
「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: XMLGatewayOutbound。
「プロジェクトの機能」セクションに「SOAスイート」が表示されます。
「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。
「SOAアプリケーションの作成 - SOA設定の構成」ページ
「開始」フィールドでは、デフォルトで選択されている「標準コンポジット」をそのままにします。
「標準コンポジット」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。
「BPELプロセスの作成」ページが表示されます。
デフォルトで選択されている「BPEL 2.0仕様」をそのままにします。BPEL 2.0仕様をサポートするBPELプロジェクトが作成されます。
「名前」フィールドに適切なBPELプロセス名を入力します。例: XMLGatewayOutbound。
「テンプレート」フィールドで「サービスを後で定義」を選択します。「OK」をクリックします。
BPELプロセスの作成
空のBPELプロセスが作成されます。指定した名前(XMLGatewayOutbound.bpelやXMLGatewayOutbound.wsdlなど)を使用したbpelおよびwsdlを含む必要なソース・ファイル、およびXMLGatewayOutbound (composite.xml)も生成されます。
空のBPELプロセス
この項では、BPELプロセスにパートナ・リンクを追加してアプリケーション・サービス用のOracle E-Business Suite Adapterを作成する方法について説明します。BPELパートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
receiveアクティビティによって後からデキューできるよう、アウトバウンドXMLメッセージ用のパートナ・リンクを追加する必要があります。
パートナ・リンクを追加する手順は、次のとおりです。
「コンポーネント・パレット」で「BPELサービス」をクリックします。
Oracle E-Business Suite」(旧称Oracle Applications)を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「Oracle E-Business Suite Reference」ページが表示されます。
「名前」フィールドに参照名を入力します。たとえば、XMLGatewayPOAckOutboundなど。
「次」をクリックします。
「サービス接続」ダイアログが表示されます。
データベース・サービス接続の指定
データベース接続については次のいずれかのオプションを実行できます。
注意: Oracle E-Business Suiteが実行されているデータベースに接続する必要があります。
新しいデータベース接続を作成するには、「新規データベース接続を作成します」アイコンをクリックします。
新しいデータベース接続を定義する方法は、「新規データベース接続の作成」を参照してください。
以前に構成した既存のデータベース接続は、「接続」ドロップダウン・リストから選択できます。
「サービス接続」ページが開いて、選択した接続情報が表示されます。データベース接続に対応するJNDI(Java Naming and Directory Interface)名が、「データベース・サーバーのJNDI名」フィールドに自動的に表示されます。JNDI名を指定することもできます。
注意: JNDI名を指定する場合、データベースにアクセスするには、Oracle E-Business Suite Adapterのデプロイメント・ディスクリプタにより、このJNDI名をアダプタで必要な構成プロパティに関連付ける必要があります。
JNDI名は、サービスがBPELサーバーにデプロイされるときに使用される接続のプレースホルダとなります。これによって、開発用とその後の本番用とで異なるデータベースを使用できます。
注意: JNDIの概念の詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。
新規のサービス接続の作成を完了した後、Oracle E-Business Suiteで使用可能なAPIのリストを参照してアウトバウンド・メッセージ・マップを追加できます。
「次」をクリックします。
Oracle E-Business Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。これは、ワークスペース内で接続中のデータベースに対応するOracle Integration Repositoryデータ・ファイルが見つからないことを示します。データファイルがないと、Integration Repositoryツリーの参照や検索がかなり低速になります。データファイルを抽出し、Integration Repositoryデータファイルのローカル・コピーを作成するように選択できます。正常に作成されたローカル・コピーは、次回にアダプタにより自動的に使用され、ローカルIntegration Repositoryからデータが取得されます。
次のいずれかのオプションを選択できます。
Integration Repositoryデータファイルを抽出するには、「はい」をクリックします。
システムによりIntegration Repositoryデータファイルのローカル・コピーが正常に作成されると、データベースへの次回接続時には、「操作」ダイアログに「IRepデータ・ファイル」フィールドが表示されます。これは、ファイル名の一部に作成日時を含んだローカル・コピーが存在することを示します。
ローカルIntegration Repositoryデータファイルの使用
接続中の本番データベースからIntegration Repositoryデータファイルを問い合せてIntegration Repositoryツリーを表示するには、「いいえ」をクリックします。
この例では、「操作」ページで「次へ」をクリックして、Oracle E-Business Suiteモジュール・ブラウザを開きます。
Oracle E-Business Suiteモジュール・ブラウザは、Oracle Integration Repositoryからのインタフェース・データを、Oracle E-Business Suite Adapterでサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。
モジュール・ブラウザからのAPIの指定
注意: Oracle E-Business Suiteモジュール・ブラウザには、Oracle E-Business Suiteで使用可能な各種の製品ファミリが表示されます。各製品ファミリには、個別製品が含まれています。各製品には、関連するビジネス・エンティティが含まれています。ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェースに従ってグループ化されています。
「その他インタフェース」→カスタム・オブジェクト→「XMLゲートウェイ・マップ」→「アウトバウンド」にナビゲートして、アウトバウンド・マップ「ECX_CBODO_OAG72_OUT_CONFIRM」を選択します。
「OK」をクリックします。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「次」をクリックします。
「終了」をクリックして手順を完了します。必要なWSDL設定を使用してパートナ・リンクが作成されます。XMLスキーマに対応するWSDLファイルも生成されます。このWSDLファイルをパートナ・リンクに使用できます。
アウトバウンドXML Gatewayマップを使用するようにOracle E-Business Suite Adapterを構成する場合は、関連パートナ・リンク用のreceiveアクティビティを構成する必要があります。receiveアクティビティにより、アウトバウンドXMLメッセージがデキューされます。
receiveアクティビティを構成する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Receive」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンにドラッグ・アンド・ドロップします。
receiveアクティビティを、作成済のパートナ・リンクXMLGatewayPOAckOutboundにリンクします。
「受信」ダイアログが表示されます。
receiveアクティビティの適切な名前を入力します。
パートナ・リンクがアウトバウンドXML Gatewayマップで構成されているため、「操作」で自動的に「デキュー」が選択されます。
「変数」を指定して、パートナ・リンクからメッセージ・データを受信するには、「変数」フィールドの右側にある「作成」アイコンをクリックします。
「変数の作成」ダイアログ・ボックスが表示されます。
「OK」をクリックして、デフォルトの名前を受け入れます。
「インスタンスの作成」チェック・ボックスを選択します。
receiveアクティビティの構成
「受信」ダイアログで「適用」をクリックし、「OK」をクリックします。
この手順を使用して、発注承認の詳細を出力ファイルとしてXMLファイルに書き込みます。
ファイル・アダプタ用パートナ・リンクを追加する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。ファイル・アダプタ参照ページが表示されます。
ファイル・アダプタ参照ページ
ファイル・アダプタ・サービスの名前(WriteAckなど)を入力します。
「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。
アダプタ・インタフェースの指定
「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。
ファイル・サーバーの接続ページが表示されます。「ファイル・サーバーのJNDI名」フィールドのデフォルト値は変更せず、そのままにします。
「次へ」をクリックします。
「操作」ページで、操作タイプを指定します。たとえば、「Write File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。
操作の指定
「次へ」をクリックして、「ファイル構成」ページにアクセスします。
「アダプタ構成ウィザード」 - 「ファイル構成」ページ
「ディレクトリは次のように指定します」フィールドで、「論理名」を選択します。「発信ファイルのディレクトリ(論理名)」フィールドに、ディレクトリ名(outputDirなど)を入力します。
出力ファイルの命名規則(POAck%yyMMddJJmmss%.xmlなど)を指定します。
「メッセージ数の到達」チェック・ボックスを選択して、「1」に設定します。
「次へ」をクリックして、「メッセージ」ページを開きます。
「URL」フィールドの横のファイル・スキーマの参照アイコンを選択して、スキーマの場所とスキーマ要素を特定します。
「タイプ・チューザ」ダイアログ・ボックスが表示されます。「プロジェクトのスキーマ・ファイル」→「CONFIRM_BOD_004.xsd」をクリックして、ノードを展開します。「CONFIRM_BOD_004」を選択して「OK」を選択します。
選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
「アダプタ構成ウィザード」 - 「メッセージ」ページ
「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。
パートナ・リンクに対応するWSDLファイルWriteAck.wsdlも生成されます。
BPELプロセス・ダイアグラムにWriteAckパートナ・リンクが表示されます。「パートナ・リンク」サービス・アイコンをダブルクリックします。パートナリンクの編集 ダイアログが開き、詳細が表示されます。
この手順を使用してinvokeアクティビティを構成し、ファイル・アダプタ用のパートナ・リンクを起動することにより、発注承認情報をXMLファイルに書き込みます。
invokeアクティビティを追加する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの「Receive」アクティビティの後ろにドラッグ・アンド・ドロップします。
invokeアクティビティをWriteAckサービスにリンクします。
「Invokeの編集」ダイアログが表示されます。
Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
「適用」をクリックし、「Invokeの編集」ダイアログの「OK」をクリックして、invokeアクティビティの構成を終了します。
プロセス・ダイアグラムにinvokeアクティビティが表示されます。
assignアクティビティを使用して、receiveアクティビティから出力を取得してinvokeアクティビティに入力します。
assignアクティビティを追加する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した「Receive」と「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。
「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。
「一般」タブをクリックして、assignアクティビティの名前を入力します。
「コピー・ルール」タブを選択してターゲット・ツリーを展開します。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Receive_DEQUEUE_InputVariable」の順にナビゲートして、「CONFIRM_BOD_004」を選択します。
「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_Write_InputVariable」の順にナビゲートして、「本体」を選択します。
ソース・ノード(CONFIRM_BOD_004)を、選択したターゲット・ノード(本体)にドラッグします。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。
パラメータの割当て
「適用」をクリックして、「OK」をクリックし、assignアクティビティの構成を完了します。
次の図は、完全なBPELプロセス・ダイアグラムを示しています。
BPELプロセス・ダイアグラム
注意: 「XMLGatewayOutbound (composite.xml)」の「ソース」タブをクリックして、参照WriteEventDataの物理ディレクトリoutputDirの値を入力します(/usr/tmpなど)。
<property name="outputDir" type="xs:string" many="false" override="may">/usr/tmp</property>
「XMLGatewayOutbound (composite.xml)」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。
Oracle JDeveloperのコンポジット・ダイアグラム
BPELプロセスを使用したSOAコンポジット・アプリケーションを設計したら、それをコンパイル、デプロイおよびテストできます。
XML Gatewayアウトバウンド・メッセージ・マップ用にBPELプロセスを持つ新しいSOAコンポジット・アプリケーションを作成したら、それをOracle WebLogic管理対象サーバーにデプロイする必要があります。それには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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。
「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。
プロジェクト名を右クリックします。表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。
接続が適切にセットアップされていれば、たとえば、「デプロイ」→「XMLGatewayOutbound」→「soa-server1」を選択してプロセスをデプロイできます。
注意: サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。
「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。
新規リビジョンID: 1.0
コンポジット・リビジョンをデフォルトとしてマークします: このチェック・ボックスを選択します。
同じリビジョンIDで既存のコンポジットを上書きします: このチェック・ボックスを選択します。
JDeveloperからOracle WebLogic Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。
「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。
「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。
「次へ」をクリックし、「終了」をクリックします。
Oracle JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Oracle SOA Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。
デプロイメント処理が開始されます。「SOA - ログ」ウィンドウでデプロイメントの進行とコンパイルの成功を確認します。
「デプロイメント - ログ」ウィンドウでデプロイメントの成功を確認します。
Oracle E-Business Suiteでは、XML Gatewayにより処理され、Transaction Agentに配信されたアウトバウンド・トランザクションを、取引モニターでチェックできます。また、取引モニターを使用すると、必要に応じてアウトバウンド文書を再送信することもできます。
注意: 取引モニターの使用方法の詳細は、『Oracle XML Gatewayユーザーズ・ガイド』を参照してください。このガイドは、Oracle Technology Network(OTN)上でアクセスできるOracle E-Business Suite Documentation Libraryの一部です。
Oracle E-Business Suiteからファイルへのアウトバウンド・メッセージを書出すためにファイル・アダプタを使用した場合、SOAコンポジット・アプリケーションに含まれるBPELプロセスの後に、これらのファイルが存在するかどうかを出力ディレクトリの場所で確認できます。
前に作成した設計時タスクを検証するには、Oracle E-Business Suiteにログインしてオーダーを手動で作成して記帳できます。また、ワークフロー・バックグラウンド・プロセスのコンカレント要求を発行することによりオーダー承認を生成することもできます。
BPELプロセスを使用したSOAコンポジット・アプリケーションを手動でテストする手順は、次のとおりです。
XML Gatewayの職責を使用してOracle E-Business Suiteにログインします。
これにより、発注において、定義された有効な顧客が指定されるように、XML Gateway取引先が適切に設定されていることを確認できます。
ナビゲーション・メニューから「取引先の定義」を選択して、「取引先の設定」ウィンドウにアクセスします。
次のように、「取引先設定」フォームでヘッダー値を入力します。
取引先タイプ: 顧客
取引先名: Business World
◦取引先サイト: 取引先サイトの情報を入力します。たとえば、2391 L Street, San Jose, CA 95106と入力します。
会社管理者Eメール: 有効なEメール・アドレスを入力します。
次の取引先の詳細を入力します。
トランザクション・タイプ: ECX
トランザクション・サブタイプ: CBODO
標準コード: OAG
外部トランザクション・タイプ: BOD
外部トランザクション・サブタイプ: CONFIRM
方向: OUT
マップ: ECX_CBODO_OAG72_OUT_CONFIRM
接続/ハブ: DIRECT
プロトコル・タイプ: BPEL
ユーザー名: operation
パスワード: 該当するパスワードを2回入力します。
プロトコル・アドレス: 'http://example.com'
ソース取引先ロケーション・コード: BWSANJOSE
作業内容を保存します。
発注承認を正常に生成するには、オーダーを作成してから、Order Managementを使用して手動で記帳する必要があります。
オーダーを作成してから手動で記帳する手順は、次のとおりです。
「受注管理スーパーユーザー、Visionオペレーション (USA)」職責に切り替え、ナビゲーション・メニューから「顧客」→「標準」を選択し、「顧客の入力」フォームを開きます。
「名前」フィールドで「Business World」について検索し、「検索」をクリックします。
検索結果から、次の情報を持つBusiness Worldを選択します。
アカウント名: Business World
レジストリID: 2813
識別チェック・ボックス: 選択
所在地: 2391 L Street, San Jose, CA 95106
国: United States of America
次のエントリを含む行を選択します。
アカウント番号: 1608
アカウント摘要: Business World
ステータス: 有効
「詳細」をクリックして、「顧客情報」ページを開きます。
「所在地」が「2391 L Street, San Jose, CA 95106」であり、かつ「国」が「United States of America」であるBusiness Worldを含む行内で、「詳細」をクリックします。これにより、「顧客アカウント」ページが開きます。
EDI事業所フィールドに「BWSANJOSE」と入力します。
「ビジネス目的」タブで、次の値を含む新規行を作成します。
使用: 販売先
「第1」チェック・ボックス: 選択
作業内容を保存します。
すでに作成したオーダーに対して承認を生成する手順は、次のとおりです。
「受注管理スーパーユーザー、Visionオペレーション (USA)」職責でOracle E-Business Suiteにログオンします。「受注、返品」→「受注」を選択して、受注フォームを開きます。
「顧客発注」フィールドでオーダーIDを入力して、前に作成したオーダーを取得します。たとえば、order_id_01と入力します。
「受注の記帳」をクリックして、オーダーを記帳します。
オーダーの記帳
「システム管理者」職責に切り替えて、「要求」→「実行」を選択します。
「単一要求」を選択して「OK」をクリックします。
「要求の発行」フォームに次の情報を入力します。
パラメータの指定
名前: ワークフロー・バックグラウンド・プロセス
次のパラメータを入力します。
品目タイプ: OM: 通知の送信
処理繰延: Y
処理タイムアウト: N
処理スタック: N
「OK」をクリックします。
「発行」をクリックして承認送信要求を発行します。
要求IDを入力して要求を表示し、要求のステータスが「成功」であることを確認します。
オーダーの承認時にOracle E-Business Suiteによってワークフローがトリガーされます。このワークフローにより発注承認フローが作成され、発注承認がXMLファイルとして送信されます。ワークフローによって、他のシステムに配信するために確認BODが発注承認としてECX_OUTBOUNDキューに配信されます。
一方、Oracle BPEL PMによって、相関IDがBPEL(このアウトバウンド・メッセージと同じID)のメッセージに対するECX_OUTBOUNDキューがリスニングされます。発注承認としての確認BODが、ファイル・アダプタを使用してXMLファイルとして書き込まれます。
SOAコンポジット・アプリケーションに含まれるBPELプロセスBPELプロセスがデプロイされると、このプロセスにより発注承認に対するECX_OUTBOUNDキューが継続的にポーリングされます。また、発注承認がXML Gateway ECX_OUTBOUNDキューから受信されると、受信された発注承認がcomposite.xmlに指定された物理ディレクトリに書き込まれます。
ファイルをテキスト・エディタで開き、ORIGREF要素を検索できます。この値は、オーダーが記帳されたオーダーID (order_id_01)と同じである必要があります。
出力ファイルのテキスト・エディタでの検証
Oracle XML Gateway統合で問題が発生した場合は、次のトラブルシューティング手順を実行します。
取引先設定の次の要素について、設定が正しいことを確認します。
標準コード
トランザクション・タイプ
トランザクション・サブタイプ
ソース取引先ロケーション・コード(パーティ・サイトID)
取引先に対して正しいトランザクションが有効になっていることを確認します。
取引モニターでXMLトランザクションのステータスをチェックします。
このトランザクション・タイプ内で文書番号が一意であることを確認します。
インバウンド・トランザクションの場合、ECXリスナーが実行されていることを確認します。
アウトバウンド・トランザクションの場合、バックグラウンド・エンジンが実行されていることを確認します。
取引先設定で、「プロトコル・タイプ」が「BPEL」に設定されていることを確認します。
AdapterとOracle E-Business Suiteには同一の相関IDを指定します。
「アダプタ構成ウィザード」は、インバウンドまたはアウトバウンド・インタフェースのXML Gatewayトランザクションの相関IDを指定しません。かわりに、BPELのデフォルト相関IDがWSDLファイルで自動的に設定されます。この構成を機能させるには、対応するXML GatewayトランザクションにBPELと同一の相関ID値を設定するようにOracle E-Business Suiteを構成する必要があります。
Adapterでデフォルトと異なる相関IDを使用するには、Oracle E-Business Suiteで相関IDを構成した後、アダプタ・サービスWSDLの<jca:operation>セクションに含まれるCorrelation="BPEL"行を編集する必要があります。「BPEL」を、Oracle E-Business Suiteで指定した相関IDの文字列値に置き換えます。
アダプタのロギングを有効化して、ミドルウェア側に問題がないか確認します。Oracle E-Business Suite Adapterでロギングを有効化する方法の詳細は、「アダプタのロギングの有効化」を参照してください。
Copyright © 2005, 2016, Oracle and/or its affiliates. All rights reserved.