ヘッダーをスキップ

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

XML Gatewayの使用

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

XML Gatewayの概要

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 Gatewayエンベロープ

XMLペイロードでは、発注や請求書などのビジネス文書のみでなく、一連のメッセージ属性も送信されます。これらの属性を総称してXML Gatewayエンベロープと呼びます。次の表は、これらの属性の一部を示しています。

エンベロープの属性
属性 説明
MESSAGE_TYPE ペイロード・メッセージ書式。デフォルトはXMLです。Oracle XML Gatewayで現在サポートされているのはXMLのみです。
MESSAGE_STANDARD 「トランザクションの定義」フォームに表示され、「XML標準の定義」フォームに入力するメッセージ書式の標準。デフォルトはOAGです。インバウンドXML文書については、取引先設定と同じメッセージ標準を入力する必要があります。
TRANSACTION_TYPE 取引先表からのビジネス文書の外部トランザクション・タイプ。インバウンドXML文書については、「取引先」フォームで定義したものと同じトランザクション・タイプを指定する必要があります。
TRANSACTION_SUBTYPE 取引先表からのビジネス文書の外部トランザクション・サブタイプ。インバウンドXML文書については、「取引先」フォームで定義したものと同じトランザクション・サブタイプを指定する必要があります。
DOCUMENT_NUMBER 発注番号や請求書番号など、トランザクションの識別に使用する文書ID。このフィールドは、XML Gatewayでは使用しませんが、インバウンド・メッセージで渡すことができます。
PROTOCOL_TYPE 取引先表で定義されている送信プロトコル。
PROTOCOL_ADDRESS 取引先表で定義されている送信アドレス。
USERNAME 取引先表で定義されているユーザー名。
PASSWORD 取引先表で定義されているユーザー名に関連したパスワード。
PARTY_SITE_ID インバウンドXML文書の場合は、「取引先」フォームで定義されているソース取引先ロケーションと同じパーティ・サイトIDを指定する必要があります。
ATTRIBUTE3 アウトバウンド・メッセージの場合、このフィールドには取引先表の「目的取引先ロケーション・コード」の値が設定されます。インバウンド・メッセージの場合、この値があると、取引先表の「目的取引先ロケーション・コード」で識別された取引先に送信される別のXMLメッセージが生成されます。XMLメッセージを最終受信者に転送するには、この値がハブで認識される必要があります。

注意: 詳細は、『Oracle XML Gatewayユーザーズ・ガイド』取引パートナのロケーション・コードについての説明を参照してください。このガイドは、Oracle Technology Network(OTN)上でアクセスできるOracle E-Business Suite Documentation Libraryの一部です。

PAYLOAD XMLメッセージ。

アプリケーションで定義されるパラメータ

次のパラメータは、ベース・アプリケーションで定義できます。

使用されないパラメータ

次のパラメータは使用されません。

注意: XML Gateway実行エンジン、取引パートナ検証およびその他のXML Gateway情報の詳細は、『Oracle XML Gatewayユーザーズ・ガイド』を参照してください。このガイドは、Oracle Technology Network(OTN)上でアクセスできるOracle E-Business Suite Documentation Libraryの一部です。

XML Gatewayインバウンド・メッセージングの設計時タスク

この項では、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インバウンドを構成する際の前提条件

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」など)のインバウンド・トランザクションに対する詳細は、次のとおりです。

エージェント・リスナーがすべて稼動中かつ実行中であることの確認

また、Oracle E-Business Suiteアプリケーション側で2つのリスナーを構成、スケジュールする必要があります。この2つは、ECXインバウンド・エージェント・リスナーとECXトランザクション・エージェント・リスナーです。この2つのリスナーをOracle E-Business Suiteで構成する手順は、次のとおりです。

  1. 「ワークフロー管理者」の職責でOracle E-Business Suiteにログインします。

  2. 「ナビゲータ」から、「ワークフロー管理者Webアプリケーション」リンクを選択します。

  3. 「Oracle Applicationsマネージャ」の下の「ワークフロー・マネージャ」リンクをクリックします。

  4. 「エージェント・リスナー」の横にあるステータス・アイコンをクリックします。

  5. ECXインバウンド・エージェント・リスナーECXトランザクション・エージェント・リスナーおよび「ワークフロー遅延エージェント・リスナー」を構成してスケジュールします。リスナーを選択し、「処理」ボックスから「開始」を選択します。「進む」をクリックします。

XML Gatewayインバウンド・プロセスの発注XMLトランザクションのビジネス・シナリオに従って、次の設計時タスクについてこの章で説明します。

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

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

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

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

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

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

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

  1. Oracle JDeveloperを起動します。

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

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

    「新規ギャラリ」ページ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    「テンプレート」フィールドで「非同期BPELプロセス」を選択します。「OK」をクリックします。

    receiveアクティビティとreplyアクティビティを持つ非同期BPELプロセスが作成されます。指定した名前(POInboundXMLGateway.bpelやPOInboundXMLGateway.wsdlなど)を使用したbpelおよびwsdlを含む必要なソース・ファイル、およびPOInboundXMLGateway (composite.xml)も生成されます。

パートナ・リンクの作成

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

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

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

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

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

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

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

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

  3. 新規データベース接続を作成することも、既存の接続を使用することもできます。

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

  4. 新規の接続を完了するか、または既存の接続を選択した後、Oracle E-Business Suiteで使用可能なAPIのリストを参照してXML Gatewayインバウンド・マップを追加できます。

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

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

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

    この例では、「いいえ」をクリックします。「操作」ページで「次へ」をクリックして、Oracle E-Business Suiteモジュール・ブラウザを開きます。

  5. 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)」を選択します。

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

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

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

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

  7. 「終了」をクリックして、Oracle E-Business Suite Adapterの構成プロセスを完了します。必要なWSDL設定を使用してパートナ・リンクが作成されます。XMLスキーマに対応するWSDLファイルも生成されます。このWSDLファイルをパートナ・リンクに使用できます。

    パートナ・リンクの詳細を表示するには、新たに生成した「パートナ・リンク(XMLGatewayOrderInbound)」アイコンをダブルクリックします。

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

インバウンド・メッセージを構成する場合は、ファイル・アダプタ用にもう1つパートナ・リンクを追加する必要があります。これにより、サード・パーティ・アプリケーションから受信したXMLファイルをインバウンド・メッセージで取得できます。データは、前に構成したパートナ・リンクを介してOracle E-Business Suiteに挿入されます。

ファイル・アダプタ用パートナ・リンクを追加してXMLメッセージを取得する手順は、次のとおりです。

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

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

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

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

    ファイル・アダプタ・サービスの名前(getOrderXMLなど)を入力します。

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

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

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

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

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

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

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

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

    操作の指定

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

    「次へ」をクリックして、「ファイル・ディレクトリ」ページにアクセスします。

  5. 「物理名」ラジオ・ボタンを選択して、受信ファイルのディレクトリ(/usr/tmpなど)を指定します。

    「正常な取得後にファイルを削除」チェック・ボックスが選択されていないことを確認します。

    入力ファイルの構成

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

    「次へ」をクリックして、「ファイル名」ページを開きます。

  6. 同期Read File操作のファイル名を入力します。たとえば、order_data_xmlg.xmlと入力します。

    「次」をクリックします。「メッセージ」ページが表示されます。

  7. 「スキーマ・ファイルを参照」アイコンを選択して、「タイプ・チューザ」ウィンドウを開きます。

    「プロジェクトのスキーマ・ファイル」→「PROCESS_PO_007.xsd」→「PROCESS_PO_007」をクリックして、ノードを展開します。

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

    メッセージ・スキーマの指定

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

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

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

invokeアクティビティの構成

パートナ・リンクの追加と構成を完了後、次のタスクはBPELプロセスを構成することです。最初に、XML Gatewayインバウンド・メッセージをエンキューしてXML Gatewayヘッダー・プロパティを設定するように「Invoke」プロセス・アクティビティを構成できます。

前に説明したシナリオに基づいて、次の2つのinvokeアクティビティを構成する必要があります。

  1. 入力XMLファイルから同期読取り操作を使用してXMLメッセージの詳細を取得するには、getOrderXMLパートナ・リンクを起動します。

  2. 発注情報をECX_INBOUNDキューにエンキューするには、XMLファイルのXMLGatewayOrderInboundパートナ・リンクを起動します。

    invokeアクティビティによって、XML Gatewayインバウンド・サービスのECXヘッダー・プロパティを設定することもできます。

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

  1. Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。最初の「invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの「receiveInput」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。

  2. invokeアクティビティをgetOrderXMLパートナ・リンク・サービスにリンクします。

    invokeアクティビティの作成

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

  3. 「Invokeの編集」ダイアログの「一般」タブで、invokeアクティビティの名前を入力します。

    「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。たとえば、このinvokeアクティビティはファイル・アダプタ・サービスを起動して入力XMLファイルの同期読取りを行うため、SynchReadが自動的に「操作」フィールドに移入されます。

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

    「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。

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

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

    「Invokeの編集」ダイアログ

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

  6. 「適用」をクリックし、「OK」をクリックします。

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

  1. Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。2番目の「Invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの最初の「invoke」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。

  2. invokeアクティビティをXMLGatewayOrderInboundパートナ・リンク・サービスにリンクします。

  3. 「Invokeの編集」ダイアログの「一般」タブで、invokeアクティビティの名前を入力します。

    「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。このinvokeアクティビティはインバウンド・メッセージ・マップのパートナ・リンクに関連付けられているため、「エンキュー」操作が選択されます。

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

    「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。

    「適用」をクリックします。

  5. ECXヘッダー・メッセージ・プロパティの設定

    XMLトランザクションが正常に完了するために必要な個別のメッセージ・プロパティを渡すには、適切なXML Gatewayヘッダー・プロパティ値を入力する必要があります。

    ECXヘッダー・メッセージ・プロパティを設定する手順は、次のとおりです。

    1. 「Invoke」ダイアログ・ボックスの「プロパティ」タブをクリックします。事前定義済の正規化されたメッセージ・プロパティがすべて表示されます。

    2. 「作成」アイコンをクリックします。「送信先プロパティ」ダイアログが表示されます。

    3. 「名前」ドロップダウン・リストから「jca.apps.ecx.TransactionType」プロパティを選択します。

      選択したプロパティ値の入力

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

    4. メッセージ・タイプとして「式」ボタンを選択します。

      選択したプロパティにプロパティ値を入力します。たとえば、プロパティjca.apps.ecx.TransactionTypeに対して'PO'と入力します。

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

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

    5. ステップ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トランザクションが正常に完了するために必要です。

  6. 「Invoke」ダイアログ・ボックスで、「適用」「OK」を順番にクリックします。

    注意: アウトバウンド・メッセージ用にパートナ・リンクを構成した場合は、「Invoke」アクティビティのかわりに「Receive」アクティビティを構成する必要があります。「Receive」アクティビティは、XML Gatewayアウトバウンド・メッセージのデキューに使用されます。

assignアクティビティの構成

assignアクティビティを使用して、getOrderXMLサービスの出力をXMLGatewayOrderInboundサービスに入力として渡します。

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

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

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

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

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

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

    次の図は、完全なBPELプロセスを示しています。

    BPELプロセス・ダイアグラム

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

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

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

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

XML Gatewayインバウンド・メッセージングの実行時タスク

BPELプロセスを使用したSOAコンポジットを設計したら、次の手順はそれをデプロイ、実行およびモニターすることです。

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

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

  3. Oracle E-Business Suiteでのレコードの検証

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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。

  1. 「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。

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

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

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

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

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

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

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

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

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

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

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

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

    「デプロイメント - ログ」ウィンドウでデプロイメントの成功を確認します。

BPELプロセスを使用したSOAコンポジットのテスト

SOAコンポジット・アプリケーションに含まれるBPELプロセスを一度デプロイしたら、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インフラストラクチャ」メニューを使用できるようになります。

    「SOAインフラストラクチャ」から、開始するSOAコンポジット・アプリケーション('POInboundXMLGateway'など)をクリックします。

    ページの最上部で「テスト」をクリックします。

  4. インスタンスを起動するための「Webサービスのテスト」ページが表示されます。「入力引数」セクションで使用するXMLペイロード・データを指定できます。

    プロセスに必要な入力文字列を入力して、「Webサービスのテスト」をクリックし、プロセスを起動します。

    Webサービスのテスト

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

    完了すると、「レスポンス」タブにテスト結果が表示されます。「Webサービスのテスト」ページの「フロー・トレースの起動」をクリックします。「フローのトレース」ページが表示されます。

  5. 「トレース」セクションにサービス・バインディング・コンポーネント(poinboundxmlgateway_client_ep)、BPELコンポーネント(POInboundXMLGateway)および参照バインディング・コンポーネント(getOrderXML and XMLGatewayOrderInbound)に対するメッセージ・フローの順序が表示されます。関連するすべてのコンポーネントが、メッセージを正常に受信および処理しました。

    テスト中にエラーが発生した場合は、「フォルト」セクションに表示されます。

  6. BPELサービス・コンポーネントのインスタンス・リンク(POInboundXMLGateway)をクリックして「インスタンス」ページを表示し、BPELアクティビティの実行詳細を「監査証跡」タブに表示できます。

    BPELプロセス・フロー・ダイアグラムを確認するには、フロー・タブをクリックします。アクティビティの詳細およびプロセス全体のペイロードのフローを表示するには、プロセス・ダイアグラムのアクティビティをクリックします。

Oracle E-Business Suiteでのレコードの検証

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職責を使用してナビゲートできます。取引モニターの機能は、次のとおりです。

Oracle Transaction Monitorで検証する手順は、次のとおりです。

  1. 「ワークフロー管理者Webアプリケーション」職責でOracle E-Business Suiteにログオンします。「取引モニター」を選択して、オーダーを検索するために検索ウィンドウを開きます。

  2. 「インバウンド・メッセージ」ラジオ・ボタンを選択します。

    取引モニターからの検索

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

    検索ウィンドウに次の情報を入力します。

  3. 「進む」をクリックして、「インバウンド検索結果」リージョンにリストされているすべてのXMLインバウンド・メッセージを取得します。

    「order_xml_01」のトランザクションのステータスが、「成功」であることを確認します。

Oracle Order Managementにオーダーをインポートする手順は、次のとおりです。

  1. フォームベースのOracle E-Business Suiteに、「受注管理スーパーユーザー、Visionオペレーション (USA)」職責でログオンします。

  2. 「受注、返品」: 「受注のインポート」→「受注インポート要求」を選択します。「受注インポート要求」ウィンドウが「パラメータ」ダイアログとともに表示されます。

    受注インポート要求

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

  3. 「パラメータ」ダイアログで「OK」をクリックします。「受注インポート」という要求名がインポート要求ウィンドウに自動的に移入されます。

  4. 「発行」をクリックして要求を発行します。これにより、コンカレント要求番号が表示されます。要求番号を記録します。ただし、別の要求を発行しない「決定」ダイアログでは「No」をクリックします。

  5. アプリケーション・メニューから、「表示」→「要求」を選択して、「要求の検索」ウィンドウを開きます。

  6. 前に記録した要求番号を入力して、「検索」をクリックします。

    これにより、「受注インポート要求」のステータスが表示される場合があります。多くの場合正常に表示され、オーダーがOrder Managementアプリケーションで作成されます。

Oracle Order Managementで検証する手順は、次のとおりです。

  1. フォームベースのOracle E-Business SuiteにOrder Managementの「スーパーユーザー」職責でログオンします。

  2. 「受注、 返品」→「受注」を選択します。受注フォームが開きます。

  3. 発注番号(order_xml_01)を「顧客発注」フィールドに入力してオーダーを検索します。これにより、XML Gatewayインバウンド・マップを使用して新規作成されたオーダーの詳細が表示されます。

    受注

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

    品目の詳細を表示する「品目」タブを選択することもできます。

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ファイルとして書き込まれます。

XML Gatewayアウトバウンドを構成する際の前提条件

相関識別子の設定

アウトバウンド・メッセージ・マップを起動する場合は、Oracle E-Business Suiteで相関識別子を設定する必要があります。相関識別子により、アウトバウンド・キューをリスニングするエージェントが複数存在する場合に、メッセージに特定のエージェントを意味するラベルを付けることができます。特定の相関をリスニングしているエージェントは、そのエージェントの相関識別子と一致するメッセージを取得します。

相関識別子を設定する手順は、次のとおりです。

  1. XML Gatewayの職責を使用してOracle E-Business Suiteにログインします。「ナビゲータ」ページが表示されます。

  2. 「XML Gateway」リンクをクリックします。

  3. 「XML Gateway」の下の「参照値の定義」リンクをクリックして、「XML Gateway参照」フォームを開きます。

    XML Gateway参照

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

  4. in the 「タイプ」フィールドでCOMM_METHODを検索し、システム内に存在することを確認します。

  5. 「コード」フィールドおよび「内容」フィールドに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」など)のアウトバウンド・トランザクションに対する詳細は、次のとおりです。

取引先の設定

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

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. 「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: XMLGatewayOutbound。

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

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

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

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

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

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

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

  8. デフォルトで選択されている「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メッセージ用のパートナ・リンクを追加する必要があります。

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

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

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

    「名前」フィールドに参照名を入力します。たとえば、XMLGatewayPOAckOutboundなど。

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

  2. 「サービス接続」ダイアログが表示されます。

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

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

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

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

  4. 新規のサービス接続の作成を完了した後、Oracle E-Business Suiteで使用可能なAPIのリストを参照してアウトバウンド・メッセージ・マップを追加できます。

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

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

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

    この例では、「操作」ページで「次へ」をクリックして、Oracle E-Business Suiteモジュール・ブラウザを開きます。

  5. 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」を選択します。

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

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

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

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

  7. 「終了」をクリックして手順を完了します。必要なWSDL設定を使用してパートナ・リンクが作成されます。XMLスキーマに対応するWSDLファイルも生成されます。このWSDLファイルをパートナ・リンクに使用できます。

receiveアクティビティの追加

アウトバウンドXML Gatewayマップを使用するようにOracle E-Business Suite Adapterを構成する場合は、関連パートナ・リンク用のreceiveアクティビティを構成する必要があります。receiveアクティビティにより、アウトバウンドXMLメッセージがデキューされます。

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

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

  2. receiveアクティビティを、作成済のパートナ・リンクXMLGatewayPOAckOutboundにリンクします。

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

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

    パートナ・リンクがアウトバウンドXML Gatewayマップで構成されているため、「操作」で自動的に「デキュー」が選択されます。

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

    「変数の作成」ダイアログ・ボックスが表示されます。

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

  5. 「インスタンスの作成」チェック・ボックスを選択します。

    receiveアクティビティの構成

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

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

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

この手順を使用して、発注承認の詳細を出力ファイルとしてXMLファイルに書き込みます。

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

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

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

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

    ファイル・アダプタ・サービスの名前(WriteAckなど)を入力します。

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

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

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

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

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

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

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

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

    操作の指定

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

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

    「アダプタ構成ウィザード」 - 「ファイル構成」ページ

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

  4. 「ディレクトリは次のように指定します」フィールドで、「論理名」を選択します。「発信ファイルのディレクトリ(論理名)」フィールドに、ディレクトリ名(outputDirなど)を入力します。

    出力ファイルの命名規則(POAck%yyMMddJJmmss%.xmlなど)を指定します。

    「メッセージ数の到達」チェック・ボックスを選択して、「1」に設定します。

    「次へ」をクリックして、「メッセージ」ページを開きます。

  5. 「URL」フィールドの横のファイル・スキーマの参照アイコンを選択して、スキーマの場所とスキーマ要素を特定します。

    「タイプ・チューザ」ダイアログ・ボックスが表示されます。「プロジェクトのスキーマ・ファイル」→「CONFIRM_BOD_004.xsd」をクリックして、ノードを展開します。「CONFIRM_BOD_004」を選択して「OK」を選択します。

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

    「アダプタ構成ウィザード」 - 「メッセージ」ページ

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

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

    パートナ・リンクに対応するWSDLファイルWriteAck.wsdlも生成されます。

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

invokeアクティビティの追加

この手順を使用してinvokeアクティビティを構成し、ファイル・アダプタ用のパートナ・リンクを起動することにより、発注承認情報をXMLファイルに書き込みます。

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

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

  2. invokeアクティビティをWriteAckサービスにリンクします。

    「Invokeの編集」ダイアログが表示されます。

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

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

    「適用」をクリックし、「Invokeの編集」ダイアログの「OK」をクリックして、invokeアクティビティの構成を終了します。

    プロセス・ダイアグラムにinvokeアクティビティが表示されます。

assignアクティビティの追加

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

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

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

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

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

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

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

次の図は、完全な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のコンポジット・ダイアグラム

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

XML Gatewayアウトバウンド・メッセージングの実行時タスク

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

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

  2. BPELプロセスを使用したSOAコンポジットのテスト

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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。

  1. 「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。

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

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

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

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

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

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

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

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

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

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

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

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

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

    「デプロイメント - ログ」ウィンドウでデプロイメントの成功を確認します。

BPELプロセスを使用した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コンポジット・アプリケーションを手動でテストする手順は、次のとおりです。

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

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

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

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

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

  5. 作業内容を保存します。

発注承認を正常に生成するには、オーダーを作成してから、Order Managementを使用して手動で記帳する必要があります。

オーダーを作成してから手動で記帳する手順は、次のとおりです。

  1. 「受注管理スーパーユーザー、Visionオペレーション (USA)」職責に切り替え、ナビゲーション・メニューから「顧客」→「標準」を選択し、「顧客の入力」フォームを開きます。

  2. 「名前」フィールドで「Business World」について検索し、「検索」をクリックします。

  3. 検索結果から、次の情報を持つBusiness Worldを選択します。

  4. 次のエントリを含む行を選択します。

  5. 「詳細」をクリックして、「顧客情報」ページを開きます。

  6. 「所在地」が「2391 L Street, San Jose, CA 95106」であり、かつ「国」が「United States of America」であるBusiness Worldを含む行内で、「詳細」をクリックします。これにより、「顧客アカウント」ページが開きます。

  7. EDI事業所フィールドに「BWSANJOSE」と入力します。

  8. 「ビジネス目的」タブで、次の値を含む新規行を作成します。

    作業内容を保存します。

すでに作成したオーダーに対して承認を生成する手順は、次のとおりです。

  1. 「受注管理スーパーユーザー、Visionオペレーション (USA)」職責でOracle E-Business Suiteにログオンします。「受注、返品」→「受注」を選択して、受注フォームを開きます。

  2. 「顧客発注」フィールドでオーダーIDを入力して、前に作成したオーダーを取得します。たとえば、order_id_01と入力します。

  3. 「受注の記帳」をクリックして、オーダーを記帳します。

    オーダーの記帳

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

  4. 「システム管理者」職責に切り替えて、「要求」→「実行」を選択します。

  5. 「単一要求」を選択して「OK」をクリックします。

  6. 「要求の発行」フォームに次の情報を入力します。

    パラメータの指定

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

  7. 「発行」をクリックして承認送信要求を発行します。

  8. 要求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統合で問題が発生した場合は、次のトラブルシューティング手順を実行します。

アダプタのロギングを有効化して、ミドルウェア側に問題がないか確認します。Oracle E-Business Suite Adapterでロギングを有効化する方法の詳細は、「アダプタのロギングの有効化」を参照してください。