ヘッダーをスキップ

Oracle Fusion Middleware Adapter for Oracle Applicationsユーザーズ・ガイド
11g リリース1(11.1.1)
B61389-01
目次へ
目次
戻る
戻る
次へ
次へ

インタフェース表およびビューの使用

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

インタフェース表およびビューの概要

Adapter for Oracle Applicationsでは、Oracle Applicationsへのデータの挿入と更新にインタフェース表を使用し、Oracle Applicationsからのデータ取得にインタフェース・ビューを使用します。この章では、次のインタフェースについて説明します。

インタフェース表

Adapter for Oracle Applicationsでは、オープン・インタフェース表を使用して、Oracle Applicationsにデータを挿入します。たとえば、インタフェース表を使用して、Oracle Applicationsに発注を挿入し、自動的に受注を生成できます。データがOracle Applicationsの実表に直接ロードされることはありません。そのかわりに、データがまずインタフェース表にロードされてから、Oracle提供のコンカレント・プログラムによりデータがインタフェース表から実表に移動されます。これによって、すべてのビジネス・ロジックおよび処理がOracleコンポーネントを使用して処理されるようになります。

Adapter for Oracle Applicationsでは、オープン・インタフェース表を使用し、ダイレクト・データベース・アクセスを介してOracle Applicationsと統合します。また、オープン・インタフェース表にデータを挿入します。これらのインタフェース表は挿入操作専用であり、サポートされているのはOracle Applicationsへのインバウンド接続のみです。

インタフェース表は、データが最初に挿入される中間表です。データは、インタフェース表に挿入された後に検証されてから、実表に転送されます。実表は、アプリケーション・データベースに常駐する実際のアプリケーション表です。インタフェース表に常駐するデータは、コンカレント・プログラムを使用して実表に転送されます。コンカレント・プログラムは、実行ファイルのインスタンスです。Oracle Applicationsでは、インタフェース表から実表にデータを移動するようにコンカレント・プログラムがスケジュールされます。これらのプログラムによりアプリケーション・レベルのチェックが実行され、検証が実行されてから、データが実表に挿入されます。

ビュー

Adapter for Oracle Applicationsでは、ビューを使用してOracle Applicationsからデータを取得します。たとえば、ビューを使用して、Oracle Applicationsの必要な表から顧客に関する情報を取得できます。

Adapter for Oracle Applicationsでは、ビューを使用してOracle Applicationsからデータを取得します。ビューに可能なのは単純な定義のみです。ビューを使用すると、Oracle Applicationsへのデータ・アクセスを同期化できます。Adapter for Oracle Applicationsでは、インタフェース表と実表のビューが作成されます。これらのビューを使用できるのは、選択操作の場合のみです。

Oracle Applicationsリリース11.5.10では、複数のビューでは作業できません。この問題を回避するには、複数のビューにまたがるビューを作成します。

インタフェース表に関する設計時タスク

この項では、インタフェース表を使用するようにAdapter for Oracle Applicationsを構成する方法について説明します。この項では、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してAdapter for Oracle Applicationsを構成する手順について説明します。

BPELプロセスのシナリオ

オープン・インタフェース表(OE_HEADER_IFACE_ALLとOE_LINES_IFACE_ALL)を例として説明します。

オーダー・データをオープン・インタフェース表に挿入するリクエストを受信した場合、同期読取り操作によって入力ファイルからオーダー詳細が受信され、オープン・インタフェース表(OE_HEADER_IFACE_ALLとOE_LINES_IFACE_ALL)に挿入されます。

デプロイ後にBPELプロセスが正常に実行された場合は、SQL文を使用して挿入されたデータをフェッチすることによって、結果を検証できます。

インタフェース表を構成する際の前提条件

BPELプロセス・フロー

設計時タスクを実行するために必要な手順のリストを次に示します。

  1. 新規BPELプロジェクトの作成

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

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

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

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

新規BPELプロジェクトの作成

新規BPELプロジェクトを作成する手順は、次のとおりです。

  1. JDeveloper BPEL Designerを開きます。「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。

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

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

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

  2. 「アプリケーション名」フィールドに適切なアプリケーション名を入力し、「アプリケーション・テンプレート」リストから「SOAアプリケーション」を選択します。

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

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

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

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

  4. 「プロジェクト・テクノロジ」タブで、「SOA」が「使用可能」テクノロジ・リストから選択されて、「選択済」テクノロジ・リストに表示されていることを確認します。

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

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

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

  5. 「BPELプロセス名」フィールドに、内容の説明となる名前を入力します。例: InsertOrder。

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

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

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

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

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

パートナ・リンクの追加

この項では、BPELプロセスにパートナ・リンクを追加する方法について説明します。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。

パートナ・リンクを追加して、選択したオープン・インタフェース表にオーダー詳細を挿入する手順は、次のとおりです。

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

    「Oracle Applications」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。「次」をクリックします。

  2. 「サービス名」フィールドにサービス名を入力します。例: InsertOrder。

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

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

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

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

    注意: Oracle Applicationsを実行しているデータベースに接続する必要があります。

  4. 「サービス接続」ダイアログ・ボックスで「次へ」をクリックします。Oracle Applicationsで使用可能なインタフェース表のリストを参照することにより、インタフェース表を追加できます。

    Oracle E-Business Suiteリリース12の場合

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

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

    リリース11.5.10より前のOracle E-Business Suiteの場合

    リリース11.5.10より前のOracle Applicationsインスタンスに接続している場合は、「アダプタ構成ウィザード」でインタフェース・タイプを選択する必要があります。「表/ビュー/API/コンカレント・プログラム」を選択して次に進んでください。

  5. 「オブジェクト取得」をクリックして「Oracle Applicationsモジュール・ブラウザ」を開きます。

    「Oracle Applicationsモジュール・ブラウザ」からのコンカレント・プログラムの選択

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

    「Oracle Applicationsモジュール・ブラウザ」には、Oracle Applicationsで使用可能な各種の製品ファミリが表示されます。たとえば、Applications TechnologyやOrder Management SuiteはOracle Applicationsの製品ファミリです。製品ファミリには、個別製品が含まれています。たとえば、Order Management SuiteにはOrder Management製品が含まれています。個々の製品には、関連するビジネス・エンティティが含まれています。たとえば、Order Management製品にはSales Orderビジネス・エンティティが含まれています。

    ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェース別にグループ化されています。コンカレント・プログラムは、「OpenInterfaces」カテゴリの下にあります。

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

    注意: 表を検索するには、「オブジェクト名」フィールドにプログラム名を入力する方法もあります。「表」チェック・ボックスを選択して「検索」をクリックします。

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

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

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

  7. 「オブジェクト取得」をクリックして、「Oracle Applicationsモジュール・ブラウザ」をもう一度開き、同じナビゲータ・パス「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「OpenInterfaces」→「Order Management受注オープン・インタフェース (OEOIMP)」→「表」を使用して、別のオープン・インタフェース表OE_LINES_IFACE_ALLを選択します。

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

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

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

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

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

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

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

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

  9. 「次」をクリックします。「表の選択」ページが表示されます。この画面には、以前このJDeveloperプロジェクトにインポートされた表(他のパートナ・リンクについてインポートされた表を含む)が表示されます。これによって、構成済の表定義を複数のパートナ・リンクに再利用できます。

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

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

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

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

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

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

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

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

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

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

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

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

    リレーションシップの定義

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

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

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

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

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

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

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

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

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

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

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

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

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

  14. 「適用」をクリックし、「OK」をクリックします。必要なWSDL設定を使用してパートナ・リンクが作成されます。

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

入力ファイルからペイロードを同期読取りし、発注詳細を取得することにより、BPELプロセスを構成するには、この手順を使用します。

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

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

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

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

  2. 「サービス名」ダイアログで、ファイル・アダプタ・サービスの名前を入力します(getOrderDetailsなど)。

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

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

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

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

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

    操作の指定

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

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

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

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

    入力ファイルの構成

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

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

  6. 同期Read File操作のファイル名を入力します。たとえば、order_data.xmlと入力します。「次へ」をクリックして、「メッセージ」ページを開きます。

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

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

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

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

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

  8. 「次へ」をクリックし、「終了」をクリックします。パートナ・リンクに対応するWSDLファイルが生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルgetOrderDetails.wsdlが指定されています。

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

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

    「適用」をクリックし、「OK」をクリックして構成を完了し、ファイル・アダプタ・サービスに必須のWSDL設定を持つパートナ・リンクを作成します。

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

invokeアクティビティの構成

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

  1. ViewAckパートナ・リンクを起動することによって、確認データを取得します。

  2. ファイル・アダプタのWriteAckdataパートナ・リンクを起動することによって、確認データをXMLファイルに書き込みます。

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

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

    invokeアクティビティの追加

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

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

  3. invokeアクティビティの名前を入力し、「入力変数」フィールドの横にある「作成」アイコンをクリックして、新規変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。

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

  5. 「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。

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

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

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

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

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

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

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

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

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

assignアクティビティの構成

次のタスクは、プロセス・マップにassignアクティビティを追加することです。これは、ファイル・アダプタの同期Read(getOrderDetails)サービスの出力をオープン・インタフェースInsertOrderサービスの入力として渡すために使用されます。

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

  1. JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELアクティビティとコンポーネント」を選択します。

    「Assign」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの前に作成した1番目と2番目の「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。

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

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

  3. 「コピー操作」タブを選択し、「プラス」記号アイコンをクリックして、メニューから「コピー操作」を選択します。「コピー操作の作成」ウィンドウが表示されます。

    コピー操作アクションの指定

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

  4. 次のパラメータ情報を入力します。

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

完成したBPELプロセス・ダイアグラム

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

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

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

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

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

インタフェース表に関する実行時タスク

BPELプロセスの設計後、次のステップはそれをデプロイし、実行し、監視することです。

  1. BPELプロセスのデプロイ

  2. BPELプロセスのテスト

BPELプロセスのデプロイ

BPELプロセスは実行前にデプロイする必要があります。BPELプロセスはコンパイルされてから、接続を確立したアプリケーション・サーバー(Oracle WebLogic Server)にデプロイされます。

前提条件

Oracle JDeveloperを使用してBPELプロセスをデプロイする前に、次のことを確認する必要があります。

BPELプロセスをデプロイする手順は、次のとおりです。

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

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

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

  4. BPELプロセスがコンパイルされ、デプロイされます。「メッセージ」ウィンドウで進行状況を確認できます。

BPELプロセスのテスト

BPELプロセスがデプロイされると、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理および監視できます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。

BPELプロセスを手動で開始および監視する手順は、次のとおりです。

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

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

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

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

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

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

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

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

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

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

    Webサービスのテスト

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

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

  5. BPELプロセス名をクリックして、「インスタンス」タブをクリックします。最後にページのデータがリフレッシュされてからの各インスタンスのSOAコンポジット・アプリケーション・インスタンスID、名前、対話ID、および最新の状態が表示されます。

    「インスタンスID」列で特定のインスタンスIDをクリックすると、様々なサービス・コンポーネントとバインディング・コンポーネントのメッセージ・フローが表示されます。「フローのトレース」ページが表示されます。

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

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

    「フローのトレース」ページ

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

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

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

  7. SQLを使用したレコードの検証

    注意: 選択したオープン・インタフェース表にレコードが挿入されたことを確認するには、SQL SELECT文を記述して、オープン・インタフェース表に最後に挿入されたレコードを示す結果をフェッチします。

ビューに関する設計時タスク

この項では、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してAdapter for Oracle Applicationsを構成する手順について説明します。

BPELプロセスのシナリオ

この例では、Adapter for Oracle Applicationsはインタフェース・ビューOE_HEADER_ACKS_VおよびOE_LINE_ACKS_Vから発注確認情報を取得します。確認情報は確認の出力としてXMLファイルに書き込まれます。

デプロイされたBPELプロセスが正常に実行されて、オーダーが承認されると、同じオーダー・ブック参照IDを持つ出力XMLファイルを検証できます。

ビューを構成する際の前提条件

一意性基準(単一キーまたはコンポジット・キー)を定義する必要があります。

BPELプロセス・フロー

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

  1. 新規BPELプロジェクトの作成

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

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

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

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

新規BPELプロジェクトの作成

新規BPELプロジェクトを作成する手順は、次のとおりです。

  1. JDeveloper BPEL Designerを開きます。「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。

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

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

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

  2. 「アプリケーション名」フィールドに適切なアプリケーション名を入力し、「アプリケーション・テンプレート」リストから「SOAアプリケーション」を選択します。

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

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

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

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

  4. 「プロジェクト・テクノロジ」タブで、「SOA」が「使用可能」テクノロジ・リストから選択されて、「選択済」テクノロジ・リストに表示されていることを確認します。

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

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

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

  5. 「BPELプロセス名」フィールドに、内容の説明となる名前を入力します。例: WriteAck。

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

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

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

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

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

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

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

パートナ・リンクの追加

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

前に説明したシナリオでは、パートナ・リンクを追加し、選択したオープン・インタフェース・ビューからオーダー確認情報を取得する必要があります。

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

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

    「Oracle Applications」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。「次」をクリックします。

  2. 「サービス名」フィールドにサービス名を入力します。例: ViewAck。

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

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

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

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

    注意: Oracle Applicationsを実行しているデータベースに接続する必要があります。

  4. 「サービス接続」ダイアログ・ボックスで「次へ」をクリックします。Oracle Applicationsで使用可能なオープン・インタフェース・ビューのリストを参照することにより、インタフェース・ビューを追加できます。

    Oracle E-Business Suiteリリース12の場合

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

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

    リリース11.5.10より前のOracle E-Business Suiteの場合

    リリース11.5.10より前のOracle Applicationsインスタンスに接続している場合は、「アダプタ構成ウィザード」でインタフェース・タイプを選択する必要があります。「表/ビュー/API/コンカレント・プログラム」を選択して次に進んでください。

  5. 「オブジェクト取得」をクリックして「Oracle Applicationsモジュール・ブラウザ」を開きます。

    「Oracle Applicationsモジュール・ブラウザ」からのビューの選択

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

    「Oracle Applicationsモジュール・ブラウザ」には、Oracle Applicationsで使用可能な各種の製品ファミリが表示されます。たとえば、Applications TechnologyやOrder Management SuiteはOracle Applicationsの製品ファミリです。製品ファミリには、個別製品が含まれています。たとえば、Order Management SuiteにはOrder Management製品が含まれています。個々の製品には、関連するビジネス・エンティティが含まれています。たとえば、Order Management製品にはSales Orderビジネス・エンティティが含まれています。

    ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェース別にグループ化されています。コンカレント・プログラムは、「OpenInterfaces」カテゴリの下にあります。

  6. 「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「Interface_Views」にナビゲートして、「OE_HEADER_ACKS_V」を選択します。

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

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

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

  7. 「オブジェクト取得」をクリックして、「Oracle Applicationsモジュール・ブラウザ」をもう一度開き、同じナビゲータ・パス「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「Interface_Views」を使用して、別のインタフェース・ビューOE_LINE_ACKS_Vを選択します。

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

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

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

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

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

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

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

    「表に対して操作を実行」ラジオ・ボタンを選択し、「選択」チェック・ボックスを選択します。

    注意: インタフェース・ビューを使用できるのは、選択操作の場合のみです。

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

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

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

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

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

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

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

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

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

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

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

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

  11. 「次」をクリックします。「リレーションシップ」ページが表示されます。

    「作成」をクリックして、「リレーションシップの作成」ダイアログを開きます。

    リレーションシップの定義

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

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

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

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

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

    「次」をクリックします。「選択条件の定義」ページが表示されます。

    必要に応じて、「追加」をクリックして新規パラメータを追加します。「編集」をクリックし、グラフィカルな式ビルダーを使用して式を作成します。事前定義されたSQL文字列を変更することにより、独自のカスタムSELECT問合せを定義できます。

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

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

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

    「適用」をクリックし、「OK」をクリックします。必要なWSDL設定を使用してパートナ・リンクが作成されます。

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

ファイル・アダプタ用パートナ・リンクを追加することにより、BPELプロセスを構成するには、この手順を使用します。これにより、確認データをXMLファイルに書き込むことができます。

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

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

    「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンの作成したパートナ・リンクの直後にドラッグ・アンド・ドロップします。「アダプタ構成ウィザード」の「ようこそ」ページが表示されます。

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

  2. 「サービス名」ページで、ファイル・アダプタ・サービスの名前を入力します(WriteAckdataなど)。

    サービス名の指定

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

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

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

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

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

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

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

    操作の指定

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

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

    出力ファイルの構成

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

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

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

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

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

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

  10. 「プロジェクトのスキーマ・ファイル」→「ViewAck_table.xsd」をクリックして、「OeHeaderAcksVCollection」を選択することにより、ノードを展開します。「OK」をクリックします。

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

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

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

  11. 「次へ」をクリックし、「終了」をクリックします。パートナ・リンクに対応するWSDLファイルが生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルを指定します。

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

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

  12. 「適用」をクリックし、「OK」をクリックして構成を完了し、ファイル・アダプタ・サービスに必須のWSDL設定を持つパートナ・リンクを作成します。

invokeアクティビティの構成

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

  1. ViewAckパートナ・リンクを起動することにより、発注確認詳細を取得します。

  2. ファイル・アダプタのWriteAckdataパートナ・リンクを起動することにより、発注確認情報をXMLファイルに書き込みます。

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

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

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

    「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。たとえば、このinvokeアクティビティは「選択」操作のためにのみインタフェース表パートナ・リンクに関連付けられているため、「選択」操作を行う「ViewAckSelect」サービス名が値として移入されます。

  3. invokeアクティビティの名前を入力し、「入力変数」フィールドの横にある「作成」アイコンをクリックして、新規変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。

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

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

    変数の作成

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

  5. 「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。

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

    「OK」をクリックして、「変数の作成」ダイアログを閉じます。

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

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

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

ファイル・アダプタ用パートナ・リンクに対する2番目のinvokeアクティビティを追加し、XMLファイルに確認詳細を書き込む手順は、次のとおりです。

  1. JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELアクティビティとコンポーネント」を選択します。最初の「Invoke」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの最初の「Invoke」アクティビティの直後にドラッグ・アンド・ドロップします。

  2. invokeアクティビティをファイル・アダプタのWriteAckdataサービスにリンクします。「Invokeの編集」ダイアログが表示されます。

  3. invokeアクティビティの名前を入力し、「入力変数」フィールドの横にある「作成」アイコンをクリックして、新規変数を作成します。「変数の作成」ダイアログが表示されます。

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

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

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

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

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

assignアクティビティの構成

次のタスクは、プロセス・マップにassignアクティビティを追加することです。このアクティビティを使用して、入力変数に値を提供します。

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

  1. JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELアクティビティとコンポーネント」を選択します。

    「Assign」アクティビティを、プロセス・ダイアグラムの中央スイムレーンの前に作成した2つの「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。

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

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

  3. 「コピー操作」タブを選択し、「プラス」記号アイコンをクリックして、メニューから「コピー操作」を選択します。「コピー操作の作成」ウィンドウが表示されます。

    コピー操作アクションの指定

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

  4. パラメータ情報を入力します。

    入力変数に値を割り当てた後、「適用」をクリックして、「OK」をクリックします。

    完成したBPELプロセス・ダイアグラムは次のように表示されます。

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

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

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

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

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

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

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

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

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

ビューに関する実行時タスク

BPELプロセスの設計後、次のステップはそれをデプロイし、実行し、監視することです。

  1. BPELプロセスのデプロイ

  2. BPELプロセスのテスト

BPELプロセスのデプロイ

BPELプロセスは実行前にデプロイする必要があります。BPELプロセスはコンパイルされてから、接続を確立したアプリケーション・サーバー(Oracle WebLogic Server)にデプロイされます。

前提条件

Oracle JDeveloperを使用してBPELプロセスをデプロイする前に、次のことを確認する必要があります。

BPELプロセスをデプロイする手順は、次のとおりです。

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

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

  3. BPELプロセスがコンパイルされ、デプロイされます。「メッセージ」ウィンドウでコンパイルの進行状況を確認できます。

    「メッセージ」ウィンドウ

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

BPELプロセスのテスト

BPELプロセスがデプロイされると、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理および監視できます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。

BPELプロセスを手動で開始および監視する手順は、次のとおりです。

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

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

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

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

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

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

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

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

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

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

    Webサービスのテスト

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

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

  5. BPELプロセス名をクリックして、「インスタンス」タブをクリックします。最後にページのデータがリフレッシュされてからの各インスタンスのSOAコンポジット・アプリケーション・インスタンスID、名前、対話ID、および最新の状態が表示されます。

    「インスタンスID」列で特定のインスタンスIDをクリックすると、様々なサービス・コンポーネントとバインディング・コンポーネントのメッセージ・フローが表示されます。「フローのトレース」ページが表示されます。

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

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

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

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

  7. Oracle Applicationsでのレコードの検証

    「購買, Visionオペレーション (USA)」職責でOracle Applicationsにログオンし、ナビゲーション・メニューから「発注」を選択します。

    「発注」フォームとともにOracle Applicationsフォームが表示されます。

  8. 次のヘッダー値を指定して、発注を作成します。

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

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

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

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

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

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

    発注のステータスは「承認」に変更されました。将来参照するために、「発注, 改訂」フィールドの値を書き留めます。例: 発注番号5789。

    発注が承認されると、オーダー詳細がシステムに記録されます。

    BPELプロセスをデプロイすると、OE_HEADER_ACKS_VおよびOE_LINE_ACKS_Vインタフェース・ビューからオーダー確認情報を取得できます。

    xmlファイルを開いて発注詳細を確認することにより、指定した出力ディレクトリにある出力ファイルEventAck%yyMMddHHmmss%.xmlを検証します。xmlファイル内のドキュメント番号は、Oracle Applicationsで承認した番号と同じである必要があります。