ヘッダーをスキップ

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

コンカレント・プログラムの使用

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

コンカレント・プログラムの概要

コンカレント・プログラムは、実行ファイルのインスタンスです。コンカレント・プログラムでは、コンカレント・プログラム実行可能ファイルを使用して適切な実行ファイルが検出されます。複数のコンカレント・プログラムが同じ実行ファイルを使用し、それぞれパラメータのデフォルト値が異なる特定のタスクを実行できます。コンカレント・マネージャはバックグラウンドで実行され、コンカレント・プログラムが実行されるのを待機します。コンカレント・プログラムが実行されると、ただちにコンカレント・マネージャによって実行キューに入れられます。コンカレント・マネージャはコンカレント・プログラムのコンカレント実行も管理します。

オープン・インタフェース表に関連付けられているコンカレント・プログラムは、インタフェース表から実表にデータを移動します。他のコンカレント・プログラムは、Oracle E-Business Suiteのビジネス・ロジック・レベルおよびアプリケーション・レベルの処理を実行します。

コンカレント・プログラムへのアクセス

コンカレント・プログラムにアクセスするには、Oracle E-Business Suiteモジュール・ブラウザを使用して製品ファミリを表示するか、検索機能を使用して希望するコンカレント・プログラムを見つけます。

カスタムのコンカレント・プログラム

カスタムのコンカレント・プログラムは、Oracle E-Business Suiteモジュール・ブラウザで「その他インタフェース」→「カスタム・オブジェクト」→「コンカレント・プログラム」ノードの下に表示されます。

カスタム・コンカレント・プログラムが強調表示されたOracle E-Business Suiteモジュール・ブラウザ

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

別の方法としては、検索を実行して希望するカスタムのコンカレント・プログラムを見つけることもできます。

カスタム・コンカレント・プログラムを検索するために検索基準が入力されたOracle E-Business Suiteモジュール・ブラウザ

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

コンカレント・プログラムに関する設計時タスク

この項では、コンカレント・プログラムを使用するようにOracle E-Business Suite Adapterを構成する方法について説明します。

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

オープン・インタフェース: オーダー・インポート・コンカレント・プログラム(OEOIMP)を例として説明します。このコンカレント・プログラムを使用すると、オーダー・インポート処理を実行して、Order Managementのオープン・インタフェース表からオーダー詳細を取得し、受注を作成できます。

オーダー作成のリクエストを受信すると、オーダー詳細がオープン・インタフェース表(OE_HEADER_IFACE_ALLOE_LINES_IFACE_ALL)に渡されて挿入されます。挿入が完了すると、コンカレント・プログラムが起動され、オーダー・データをオープン・インタフェース表からOrder Managementの実表にインポートします。

BPELプロセスを使用したSOAコンポジット・アプリケーションがデプロイ後に正常に実行されると、オーダーがOracle E-Business Suiteに作成されます。購買オーダーIDはペイロードの入力値と同じである必要があります。

コンカレント・プログラムを構成する際の前提条件

アプリケーション・コンテキストのヘッダー変数の移入

Oracle E-Business Suiteのコンテキスト情報を提供するには、BPEL PMに特定の変数を移入する必要があります。十分な権限を持つOracle E-Business Suiteユーザーがプログラムを実行するには、トランザクションのコンテキスト情報が必要です。

コンテキストはヘッダー・プロパティ(「ユーザー名」「職責」「職責アプリケーション」「セキュリティ・グループ」および「NLS言語」を含む)に渡される値を考慮して設定されます。新しいヘッダー・プロパティ「職責アプリケーション」「セキュリティ・グループ」および「NLS言語」の値が渡されない場合、コンテキスト情報は「ユーザー名」「職責」に基づいて判断されます。

デフォルトの「ユーザー名」は「SYSADMIN」、デフォルトの「職責」は「システム管理者」、デフォルトのセキュリティ・グループ・キーは「標準」、デフォルトの「NLS言語」は「US」です。

生成WSDLに指定されているデフォルト値は変更できます。これは、コンテキスト情報を静的に変更する方法です。これらの値は、デプロイ済のビジネス・プロセスのすべての起動に適用されます。ただし、ビジネス・プロセスの起動ごとに異なるコンテキスト情報を提供する必要がある場合は、ヘッダー値に動的に値を移入できます。コンテキスト情報はinvokeアクティビティを構成することにより指定できます。

アプリケーション・コンテキストの詳細は、「正規化されたメッセージ・プロパティのサポート」を参照してください。

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

この章では、プロセス・シナリオに基づき、次の設計時タスクについて説明します。

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

  2. パートナ・リンクの追加

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

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

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

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

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

  1. JDeveloper BPEL Designerを開きます。

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

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

    「新規ギャラリ」ページ

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

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

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

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

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

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

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

    「プロジェクト名」フィールドに、プロジェクトの適切な名前(OrderImportConcurrentProgramなど)を入力します。

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

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

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

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

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

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

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

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

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

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

  7. SOAフォルダにナビゲートして「OrderImportConcurrentProgram」(composite.xml)をクリックすると、コンポジット・ダイアグラムが表示されます。

    「OrderImportConcurrentProgram」コンポーネントをダブルクリックすると、BPELプロセスが開きます。

パートナ・リンクの追加

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

前に説明したBPELプロセス・シナリオに基づいて、次の2つのパートナ・リンクを構成する必要があります。

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

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

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

    「名前」フィールドに、サービス名(InsertOrderなど)を入力します。

    アダプタ構成ウィザード - E-Business Suiteアダプタ参照ページ

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

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

  2. 「サービス接続」ページが表示されます。

    アダプタ構成ウィザード - サービス接続ページ

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

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

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

  3. 「サービス接続」ダイアログ・ボックスで「次へ」をクリックします。Oracle E-Business Suiteで使用可能なコンカレント・プログラムのリストを参照することにより、コンカレント・プログラムを追加できます。

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

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

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

  4. Oracle E-Business Suiteモジュール・ブラウザには、Oracle E-Business Suiteで使用可能な各種の製品ファミリが表示されます。ツリー・ノードを展開して、目的のインタフェースを探します。コンカレント・プログラムはオープン・インタフェース・カテゴリの下にあります。

    「Order Management Suite (OM_PF)」→「受注管理(ONT)」→「販売オーダー(ONT_SALES_ORDER)」→「OpenInterfaces」→「受注管理販売オーダー・オープン・インタフェース(OEOIMP)」→「表」にナビゲートして、「OE_HEADERS_IFACE_ALL」を選択します。

    カスタム・コンカレント・プログラムが選択されたOracle E-Business Suiteモジュール・ブラウザ

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

    注意: 選択したインタフェース表で、事前構成済みのフレックスフィールド・マッピングが使用できる場合、ポップアップ・ウィンドウが表示され、このような事前構成済みマッピングを使用するかどうかを指定できます。「はい」をクリックすると、「フレックスフィールドの構成」領域にフレックスフィールドの定義の一部として、これらのマッピングが表示されます。これらは必要に応じて、後で変更できます。

    これらのマッピングを使用しない場合は「いいえ」をクリックして、ポップアップ・ウィンドウを閉じます。

    選択したオープン・インタフェース表でのフレックスフィールド・マッピング・データの構成

    ただし、この例では、パートナ・リンク作成の一環として、オープン・インタフェース表が選択されています。Oracle E-Business Suite Adapterはオープン・インタフェース表にフレックスフィールド・サポートを提供します。モジュール・ブラウザで表を選択したら、Oracle E-Business Suiteで定義されたフレックスフィールドを持つ表のフレックスフィールド・マッピングを構成することも、または、それ以上フレックスフィールド・マッピングを構成せずに現在のデータを使用することもできます。

    Oracle E-Business Suiteモジュール・ブラウザで次のタスクの1つを実行します。

  5. この例では、「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択したオープン・インタフェース表が表示されます。

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

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

  6. 「オブジェクト取得」をクリックしてモジュール・ブラウザをもう一度開き、同じナビゲーション・パス「Order Management Suite (OM_PF)」→「受注管理(ONT)」→「販売オーダー(ONT_SALES_ORDER)」→「OpenInterfaces」→「受注管理販売オーダー・オープン・インタフェース(OEOIMP)」→「表」>を使用して「OE_LINES_IFACE_ALL」を選択することにより、別のオープン・インタフェース表「OE_LINES_IFACE_ALL」を選択します。

    「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択した2つの表が表示されます。

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

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

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

  7. 「次」をクリックします。「操作タイプ」ページが表示されます。

    「アダプタ構成ウィザード」 - 「操作タイプ」ページ

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

    「表に対して操作を実行」ラジオ・ボタンを選択し、「挿入」チェック・ボックスを選択します。「選択」チェック・ボックスが選択解除されていることを確認します。

  8. 「次」をクリックします。「表の選択」ページが表示されます。

    「アダプタ構成ウィザード」 - 「表の選択」ページ

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

    このサービスの問合せのルート・データベース表としてOE_HEADERS_IFACE_ALLを選択します。

  9. 「次」をクリックします。「主キーの定義」ページが表示されます。

    「アダプタ構成ウィザード」 - OE_HEADERS_IFACE_ALLの「主キーの定義」ページ

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

    OE_HEADERS_IFACE_ALL表に対して次の主キーを選択します。

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

    OE_LINES_IFACE_ALL表に対して同じ主キーを選択します。

  10. 「次」をクリックします。「リレーションシップ」ページが表示されます。「作成」をクリックして、「リレーションシップの作成」ダイアログを開きます。

    「リレーションシップの作成」ダイアログ

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

    次の情報を入力して、ヘッダーと詳細表間のリレーションシップを定義します。

    「OK」をクリックします。「リレーションシップ」ページに、新しく作成されたリレーションシップ情報が表示されます。

    「アダプタ構成ウィザード」 - 「リレーションシップ」ページ

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

  11. 「次」をクリックします。「属性のフィルタ処理」ページが表示されます。デフォルトで選択されている内容を変更せずにそのままにします。

    「アダプタ構成ウィザード」 - 「属性のフィルタ処理」ページ

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

    「次」をクリックします。「詳細オプション」ページが表示されます。

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

  12. 「終了」をクリックします。選択したインタフェースに対応するWSDLファイルが生成されます。このWSDLファイルをパートナ・リンクに使用できます。

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

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

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

    アダプタ構成ウィザード - E-Business Suiteアダプタ参照ページ

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

    「名前」フィールドに、サービス名(ImportOrderCPなど)を入力します。

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

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

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

  4. 新規のサービス接続の作成を完了した後、Oracle E-Business Suiteで使用可能なリストを参照してコンカレント・プログラムを追加できます。

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

    Oracle E-Business Suiteリリース12に接続している場合は、IREPファイルがありませんというダイアログが表示されます。これは、ワークスペース内でOracle E-Business Suite Adapterに接続中のデータベースに対応する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でサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。

    「Order Management Suite (OM_PF)」→「受注管理(ONT)」→「販売オーダー(ONT_SALES_ORDER)」→「OpenInterfaces」→「受注管理販売オーダー・オープン・インタフェース」→「ConcurrentPrograms」にナビゲートして、コンカレント・プログラム「OEOIMP (OEOIMP)」を選択します。

    カスタム・コンカレント・プログラムが選択されたOracle E-Business Suiteモジュール・ブラウザ

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

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

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

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

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

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

入力ファイルからペイロードを同期読取りしてオーダー詳細とコンカレント・プログラムの詳細を取得することによって、BPELプロセスを構成するには、このステップを使用します。

次の2つのパートナ・リンクを構成します。

  1. 同期Read操作を使用して入力ファイルからオーダー詳細を取得します。

  2. 同期Read操作を使用して入力ファイルからコンカレント・プログラムの詳細を取得します。

最初のファイル・アダプタ用パートナ・リンクを追加して、オーダー詳細を読み取る手順は、次のとおりです。

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

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

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

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

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

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

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

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

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

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

    「操作」ページ

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

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

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

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

    「ファイル・ディレクトリ」ページ

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

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

  5. 同期Read File操作のファイル名を入力します。たとえば、order_data.xmlと入力します。「次」をクリックします。「メッセージ」ページが表示されます。

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

    「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「InsertOrder_table.xsd」→「OeHeadersIfaceAllCollection」を選択します。「OK」をクリックします。

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

    「メッセージ」ページ

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

  7. 「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。パートナ・リンクに対応するWSDLファイルも生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルgetOrderDetails.wsdlが指定されています。

    BPELプロセス・ダイアグラムにgetOrderDetailsパートナ・リンクが表示されます。

2番目のファイル・アダプタ用パートナ・リンクを追加して、コンカレント・プログラムの詳細を読み取る手順は、次のとおりです。

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

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

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

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

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

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

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

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

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

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

    「操作」ページ

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

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

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

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

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

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

    「ファイル名」ページ

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

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

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

    「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「ImportOrderCP_sp.xsd」→「InputParameters」を選択します。「OK」をクリックします。

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

  7. 「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。パートナ・リンクに対応するWSDLファイルも生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルgetCPDetails.wsdlが指定されています。

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

invokeアクティビティの構成

パートナ・リンクを追加および構成した後、次の4つのinvokeアクティビティを構成する必要があります。

  1. 同期Read操作を使用してgetOrderDetailsパートナ・リンクを起動することによって、オーダー詳細を取得し、入力ファイルからオーダーを読み取ります。

  2. 同期Read操作を使用してgetCPDetailsパートナ・リンクを起動することにより、コンカレント・プログラムの詳細を取得して、入力ファイルからコンカレント・プログラム情報を読み取ります。

  3. InsertOrderパートナ・リンクを起動することにより、オーダー・データをオープン・インタフェース表に挿入します。

  4. ImportOrderCPコンカレント・プログラムのパートナ・リンクを起動することにより、オーダー・データをオープン・インタフェース表からOracle E-Business Suiteにインポートします。

パートナ・リンクに対する最初のinvokeアクティビティを追加して、オーダー詳細を取得する手順は、次のとおりです。

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

  2. InvokeアクティビティをgetOrderDetailsサービスにリンクします。「Invokeの編集」ダイアログが表示されます。

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

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

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

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

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

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

パートナ・リンクに対する2番目のinvokeアクティビティを追加して、コンカレント・プログラムの詳細を取得する手順は、次のとおりです。

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

  2. InvokeアクティビティをgetCPDetailsサービスにリンクします。「Invokeの編集」ダイアログが表示されます。

  3. 最初のinvokeアクティビティの手順で説明したステップ3から6を繰り返します。

    入力変数と出力変数は、「Invokeの編集」ダイアログ・ボックスで移入します。

    getCPDetailsを起動するための「Invokeの編集」ダイアログ

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

パートナ・リンクに対する3番目のinvokeアクティビティを追加して、オープン・インタフェース表にオーダー・データを挿入する手順は、次のとおりです。

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

  2. InvokeアクティビティをInsertOrderサービスにリンクします。「Invokeの編集」ダイアログ・ボックスが表示されます。

  3. 最初のinvokeアクティビティの手順で説明したステップ3から4を繰り返します。「Invokeの編集」ダイアログ・ボックスの「OK」をクリックして、2番目のinvokeアクティビティの構成を終了します。

    InsertOrderを起動するための「Invokeの編集」ダイアログ

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

パートナ・リンクに対する4番目のinvokeアクティビティを追加し、Oracle E-Business Suiteでオーダー情報をインポートする手順は、次のとおりです。

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

  2. InvokeアクティビティをImportOrderCPサービスにリンクします。「Invokeの編集」ダイアログ・ボックスが表示されます。

  3. 最初のinvokeアクティビティの手順で説明したステップ3から6を繰り返します。

    入力変数と出力変数は、「Invokeの編集」ダイアログ・ボックスで移入します。

  4. アプリケーション・コンテキストのヘッダー・プロパティの設定

    BPELプロセスを完了するために必要なアプリケーション・コンテキストに渡す必要があるヘッダー・メッセージ・プロパティを設定するには、次のステップを使用します。

    1. 「Invokeの編集」ダイアログ・ボックスの「プロパティ」タブを選択します。

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

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

      「Invokeの編集」ダイアログ: 「プロパティ」タブ

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

    4. 「式」ラジオ・ボタンを選択し、プロパティ値として'OPERATIONS'を入力します。

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

    5. ステップ2からステップ4を繰り返して、次のプロパティを割り当てます。

      • jca.apps.Responsibility: 受注管理スーパーユーザー、Visionオペレーション(USA)

      • jca.apps.ORG_ID: 204

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

assignアクティビティの構成

BPELプロセス・シナリオに基づいて、次の2つのassignアクティビティを構成する必要があります。

  1. ファイル・アダプタの同期Read (getOrderDetails)サービスの出力をオープン・インタフェースInsertOrderサービスの入力として渡します。

  2. コンカレント・プログラム(ImportOrderCP)サービスのペイロードを設定します。

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

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

    1番目の「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した1番目と2番目の「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。

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

    「一般」タブをクリックして、assignアクティビティの名前を入力します。たとえば、SetOrderDetailsなどです。

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

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

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

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

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

    2番目の「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した3番目と4番目の「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。

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

    「一般」タブをクリックして、assignアクティビティの名前を入力します。たとえば、SetCPDetailsなどです。

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

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

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

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

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

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

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

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

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

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

コンカレント・プログラムに関する実行時タスク

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

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

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

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

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

SOAコンポジットに含まれるBPELクライアントからサービスを起動するには、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]を選択します。

    接続が適切にセットアップされていれば、たとえば、「デプロイ」→「OrderImportConcurrentProgram」→「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://<servername>:<portnumber>/em)にナビゲートします。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。

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

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

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

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

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

    デプロイ済SOAコンポジットが表示されたOracle Enterprise Manager Fusion Middleware Controlコンソール

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

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

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

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

    テスト・データが入力された「入力引数」セクション

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

    完了すると、「レスポンス」タブにテスト結果が表示されます。

  5. 「Webサービスのテスト」ページ: 「レスポンス」タブ

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

    「Webサービスのテスト」ページの「フロー・トレースの起動」をクリックします。「フローのトレース」ページが表示されます。

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

    「トレース」セクションに実行ステータスが表示された「フローのトレース」ページ

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

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

  6. BPELサービス・コンポーネント・インスタンスのリンク(OrderImportConcurrentProgramなど)をクリックすると、「インスタンス」ページが表示され、「監査証跡」タブにBPELアクティビティの実行詳細が表示されます。

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

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

BPELプロセスを検証するには、Oracle E-Business Suiteフォームにログオンして、コンカレント・プログラムの実行のステータスをチェックします。それが正常に実行された後、購買オーダーもOracle E-Business Suiteアプリケーションに作成する必要があります。

Oracle E-Business Suiteアプリケーションでレコードを検証する手順は、次のとおりです。

  1. 受注管理スーパーユーザー、Visionオペレーション(USA)職責を持つユーザーとして、Oracle E-Business Suiteにログインします。

  2. 「受注、返品」→「受注」を選択して、「受注」ウィンドウを開きます。

    「受注」ウィンドウ

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

  3. [F11]キーを押して、オーダーを検索します。「顧客発注」フィールドに、xmlファイルに存在するオーダーIDを入力します。たとえば、order_id_01と入力し、[CTRL]+[F11]キーを押して、問合せを実行します。

  4. 新しく作成されたオーダーが、オーダーID order_id_01として表示されます。

    「明細項目」タブを選択して、オーダーの数量と品目タイプがxmlファイルに存在する値と同じであるかどうかを確認します。

  5. または、次のSQL文を使用して、データベースに問合せることにより、結果を検証することもできます。

    Select orig_sys_document_ref from oe_order_headers_all where orig_sys_document_ref = 'order_id_01';

トラブルシューティング

コンカレント・プログラムの統合で問題が発生した場合は、次のトラブルシューティング・ステップを実行します。

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