Oracle Fusion Middleware Oracle E-Business Suite Adapterユーザーズ・ガイド 12c (12.2.1.2.0) 部品番号E82667-01 | ![]() 目次 | ![]() 前 | ![]() 次 |
この章の構成は、次のとおりです。
インタフェース表はOracle E-Business Suiteへのデータの挿入と更新に、またインタフェース・ビューはOracle E-Business Suiteからのデータの取得に使用できます。この章では、次のインタフェースについて説明します。
インタフェース表
インタフェース・ビュー
インタフェース表はOracle E-Business Suiteへのデータの挿入と更新に使用できます。たとえば、Oracle E-Business Suiteに発注を挿入して、受注を自動的に生成できます。データがOracle E-Business Suiteアプリケーションの実表に直接ロードされることはありません。そのかわりに、データがまずインタフェース表にロードされてから、Oracle提供のコンカレント・プログラムによりデータがインタフェース表から実表に移動されます。これによって、すべてのビジネス・ロジックおよび処理がOracleコンポーネントを使用して処理されるようになります。
Oracle E-Business Suite Adapterはオープン・インタフェース表を使用して、直接、データベースにアクセスすることにより、Oracle E-Business Suiteアプリケーションと統合します。Oracle E-Business Suite Adapterはオープン・インタフェース表にデータを挿入します。これらのインタフェース表は挿入操作専用であり、サポートされているのはOracle E-Business Suiteへのインバウンド接続のみです。
インタフェース表は、データが最初に挿入される中間表です。データは、インタフェース表に挿入された後に検証されてから、実表に転送されます。実表は、アプリケーション・データベースに常駐する実際のアプリケーション表です。インタフェース表に常駐するデータは、コンカレント・プログラムを使用して実表に転送されます。コンカレント・プログラムは、実行ファイルのインスタンスです。Oracle E-Business Suiteでは、インタフェース表から実表にデータを移動するようにコンカレント・プログラムがスケジュールされます。これらのプログラムによりアプリケーション・レベルのチェックが実行され、検証が実行されてから、データが実表に挿入されます。
Oracle E-Business Suite AdapterはOracle E-Business Suiteアプリケーションからのデータの取得にビューを使用します。たとえば、Oracle E-Business Suiteの必要な表から顧客に関する情報を取得できます。
ビューに可能なのは単純な定義のみです。ビューを使用して、Oracle E-Business Suiteへの同期データ・アクセスができます。Oracle E-Business Suite Adapterでは、インタフェース表と実表のビューが作成されます。これらのビューは、選択操作でのみ使用できます。
Oracle E-Business Suite 11.5.10リリースでは、複数のビューでは作業できません。この問題を回避するには、複数のビューにまたがるビューを作成します。
この項では、インタフェース表を使用するようにOracle E-Business Suite Adapterを構成する方法について説明します。Oracle JDeveloperで「アダプタ構成ウィザード」を使用してアダプタを構成する手順について説明します。
BPELプロセスを使用したSOAコンポジット・アプリケーションのシナリオ
オープン・インタフェース表(OE_HEADER_IFACE_ALLとOE_LINES_IFACE_ALL)を例として説明します。
オーダー・データをオープン・インタフェース表に挿入するリクエストを受信した場合、同期読取り操作によって入力ファイルからオーダー詳細が受信され、オープン・インタフェース表(OE_HEADER_IFACE_ALLとOE_LINES_IFACE_ALL)に挿入されます。
BPELプロセスを使用したSOAコンポジット・アプリケーションがデプロイ後に正常に実行された場合は、SQL文を使用して挿入されたデータをフェッチすることによって、結果を検証できます。
使用するすべてのインタフェース表の主キーを定義します。
選択したすべてのインタフェース表間の親子関係を定義します。
BPELプロセスを使用したSOAコンポジット・アプリケーションのフロー
設計時タスクを実行するために必要な手順のリストを次に示します。
BPELプロセスを使用した新しいSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。
JDeveloper BPEL Designerを開きます。
「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。
「新規ギャラリ」ページが表示されます。項目リストで「SOAアプリケーション」を選択します。
「新規ギャラリ」ページ
「OK」をクリックします。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ
「アプリケーション名」フィールドにアプリケーションに適した名前を入力します。
「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: InsertOrder。
「プロジェクトの機能」セクションに「SOAスイート」が表示されます。
「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ
「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。
「SOAアプリケーションの作成 - SOA設定の構成」ページ
「開始」フィールドでは、デフォルトで選択されている「標準コンポジット」をそのままにします。
「標準コンポジット」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。
「BPELプロセスの作成」ページが表示されます。
デフォルトで選択されている「BPEL 2.0仕様」をそのままにします。BPEL 2.0仕様をサポートするBPELプロジェクトが作成されます。
「名前」フィールドに適切なBPELプロセス名を入力します。例: InsertOrder。
「テンプレート」フィールドで「非同期BPELプロセス」を選択します。「OK」をクリックします。
receiveアクティビティとreplyアクティビティを持つ非同期BPELプロセスが作成されます。指定した名前を使用したbpelおよびwsdlファイル(例: InsertOrder.bpelとInsertOrder.wsdl)を含む必要なソース・ファイルとInsertOrder (composite.xml)も生成されます。
この項では、BPELプロセスにパートナ・リンクを追加する方法について説明します。パートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
パートナ・リンクを追加して、選択したオープン・インタフェース表にオーダー詳細を挿入する手順は、次のとおりです。
「コンポーネント・パレット」で「BPELサービス」をクリックします。
Oracle E-Business Suite」(旧称Oracle Applications)を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「Oracle E-Business Suite Reference」ページが表示されます。
「名前」フィールドにサービス名を入力します。例: InsertOrder。
「次」をクリックします。「サービス接続」ダイアログが表示されます。
データベース接続については次のいずれかのオプションを実行できます。
注意: 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で使用可能なインタフェース表のリストを参照することにより、インタフェース表を追加できます。
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でサポートされるその他のインタフェースに関する情報と組み合せて、ツリー階層を作成します。
注意: Oracle E-Business Suiteモジュール・ブラウザには、Oracle E-Business Suiteで使用可能な各種の製品ファミリが表示されます。たとえば、Applications TechnologyやOrder Management SuiteはOracle E-Business Suiteの製品ファミリです。製品ファミリには、個別製品が含まれています。たとえば、Order Management SuiteにはOrder Management製品が含まれています。個々の製品には、関連するビジネス・エンティティが含まれています。たとえば、Order Management製品にはSales Orderビジネス・エンティティが含まれています。
ビジネス・エンティティには、統合用に公開されている各種アプリケーション・モジュールが含まれています。これらのモジュールは、提供するインタフェース別にグループ化されています。コンカレント・プログラムは、「OpenInterfaces」カテゴリの下にあります。
「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「OpenInterfaces」→「Order Management受注オープン・インタフェース (OEOIMP)」→「表」にナビゲートして、「OE_HEADERS_IFACE_ALL」を選択します。
注意: 表を検索するには、「オブジェクト名」フィールドにプログラム名を入力する方法もあります。「表」チェック・ボックスを選択して「検索」をクリックします。
Oracle E-Business Suite Adapterはオープン・インタフェース表にフレックスフィールド・サポートを提供します。選択した表がOracle E-Business Suiteモジュール・ブラウザに表示されたら、Oracle E-Business Suiteで定義されたフレックスフィールドを持つ表のフレックスフィールド・マッピングを構成することも、または、それ以上フレックスフィールドを構成せずに現在のデータを使用することもできます。
モジュール・ブラウザで選択したインタフェース表の表示
注意: 選択したインタフェース表で、事前構成済みのフレックスフィールド・マッピングが使用できる場合、ポップアップ・ウィンドウが表示され、このような事前構成済みマッピングを使用するかどうかを指定できます。「はい」をクリックすると、「フレックスフィールドの構成」領域にフレックスフィールドの定義の一部として、これらのマッピングが表示されます。これらは必要に応じて、後で変更できます。
これらのマッピングを使用しない場合は「いいえ」をクリックして、ポップアップ・ウィンドウを閉じます。
選択したオープン・インタフェース表でのフレックスフィールド・マッピング・データの構成
Oracle E-Business Suiteモジュール・ブラウザで次のタスクの1つを実行します。
それ以上構成せずに既存のデータを使用するには、 「OK」をクリックして続行します。
既存のフレックスフィールド・マッピングを使用するか、必要があれば、フレックスフィールド・ウィザードを使用して新しいマッピングを作成し、フレックスフィールド・マッピング・データを構成します。
新しいマッピングの作成
選択したオープン・インタフェース表に新しいマッピングを作成するには、「フレックスフィールド・メタデータ」セクションで「マッピングの追加」を選択します。新しいフレックスフィールド・マッピング・ウィザードが表示され、各構成ページを案内します。それらのページでキー・フレックスフィールドや付加フレックスフィールドを追加したり、選択したインタフェース表の列とOracle E-Business Suiteインスタンスに定義されたフレックスフィールドとの間のフレックスフィールド・マッピングを構成できます。
新規マッピングの作成とキー・フレックスフィールドおよび付加フレックスフィールドの構成方法について、詳細は次を参照してください。
既存マッピングのインポート
新しいマッピングを作成するかわりに、「フレックスフィールド・メタデータ」セクションで 「ファイルからインポート」を選択して作成された既存のマッピングを使用できます。これにより選択したインタフェース表に対して希望するフレックスフィールド・マッピングを選択できます。希望するマッピングがインポートされたら、付加フレックスフィールドのコンテキスト値を変更し、必要に応じてキー・フレックスフィールドの構造を変更できます。
「既存のフレックスフィールド・マッピングのインポート」の項を参照してください。
オープン・インタフェース表でのフレックスフィールドのサポート、および既存のマッピング構成の変更方法は、PL/SQL APIとオープン・インタフェース表でのフレックスフィールドのサポートを参照してください。
この例では、「OK」をクリックして続行します。「アプリケーション・インタフェース」ページが開き、選択したオープン・インタフェース表が表示されます。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「オブジェクト取得」をクリックして、Oracle E-Business Suiteモジュール・ブラウザをもう一度開き、同じナビゲータ・パス「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「OpenInterfaces」→「Order Management受注オープン・インタフェース (OEOIMP)」→「表」を使用して、別のオープン・インタフェース表OE_LINES_IFACE_ALLを選択します。
この例では、「OK」をクリックし、選択したインタフェース表でフレックスフィールドを構成せずに、パートナ・リンクの作成を続行します。
注意: 選択したオープン・インタフェース表でのフレックスフィールド・マッピング・データの構成
選択したインタフェース表で、事前構成済みのフレックスフィールド・マッピングが使用できる場合、ポップアップ・ウィンドウが表示され、このような事前構成済みマッピングを使用するかどうかを指定できます。
「はい」をクリックすると、「フレックスフィールドの構成」領域にフレックスフィールドの定義の一部として、これらのマッピングが表示されます。これらは必要に応じて、後で変更できます。
これらのマッピングを使用しない場合は「いいえ」をクリックして、ポップアップ・ウィンドウを閉じます。
事前定義済みのフレックスフィールド・マッピングを使用せずに、フレックスフィールド・マッピングを構成する場合は、必要に応じて、フレックスフィールド・ウィザードを使って、新しいマッピングを作成できます。選択したオープン・インタフェース表でフレキシブルフィールド・データを構成する方法について、詳細は以下を参照してください。
「アプリケーション・インタフェース」ページが開き、選択した2つの表が表示されます。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「OK」をクリックします。
「次」をクリックします。「操作タイプ」ページが表示されます。
「アダプタ構成ウィザード」 - 「操作タイプ」ページ
「表に対して操作を実行」ラジオ・ボタンを選択し、「挿入」チェック・ボックスを選択します。「選択」チェック・ボックスが選択解除されていることを確認します。
「次」をクリックします。「表の選択」ページが表示されます。この画面には、以前このJDeveloperプロジェクトにインポートされた表(他のパートナ・リンクについてインポートされた表を含む)が表示されます。これによって、構成済の表定義を複数のパートナ・リンクに再利用できます。
「アダプタ構成ウィザード」 - 「表の選択」ページ
このサービスの問合せのルート・データベース表としてOE_HEADERS_IFACE_ALLを選択します。
「次」をクリックします。「主キーの定義」ページが表示されます。
「アダプタ構成ウィザード」 - OE_HEADERS_IFACE_ALLの「主キーの定義」ページ
OE_HEADERS_IFACE_ALL表に対して次の主キーを選択します。
ORDER_SOURCE_ID
ORIG_SYS_DOCUMENT_REF
「次」をクリックします。
OE_LINES_IFACE_ALL表に対して同じ主キーを選択します。
「次」をクリックします。「リレーションシップ」ページが表示されます。「作成」をクリックして、「リレーションシップの作成」ダイアログを開きます。
リレーションシップの定義
次の情報を入力して、ヘッダーと詳細表間のリレーションシップを定義します。
親表としてOE_HEADERS_IFACE_ALL、および子表としてOE_LINES_IFACE_ALLを選択します。
マッピング・タイプ「OE_HEADERS_IFACE_ALLとOE_LINES_IFACE_ALLのリレーションシップは1対多」を選択します。
注意: 表どうしの外部キー制約がすでにデータベースに存在する場合、表のインポート中に2つのリレーションシップが自動的に作成されます。1つは、ソース表(外部キー制約が含まれる表)からターゲット表への1対多リレーションシップです。もう1つのリレーションシップは、ターゲット表からソース表への1対1バック・ポインタです。
「私有」チェック・ボックスを選択します。
主キー・フィールドに外部キー・フィールドを関連付けます。
OE_HEADERS_IFACE_ALL.ORDER_SOURCE_ID: ORDER_SOURCE_ID
OE_HEADERS_IFACE_ALL.ORIG_SYS_DOCUMENT_REF: ORIG_SYS_DOCUMENT_REF
「リレーションシップ名」フィールドは、デフォルトでは自動的に移入されます。必要に応じて、作成しているリレーションシップに新しい名前を指定できます。
「OK」をクリックします。「リレーションシップ」ページに、新しく作成されたリレーションシップ情報が表示されます。
「アダプタ構成ウィザード」 - 「リレーションシップ」ページ
「次」をクリックします。「属性のフィルタ処理」ページが表示されます。デフォルトで選択されている内容を変更せずにそのままにします。
「アダプタ構成ウィザード」 - 「属性のフィルタ処理」ページ
「次」をクリックします。「詳細オプション」ページが表示されます。
「次」をクリックします。
「終了」をクリックします。選択したインタフェースに対応するWSDLファイルが生成されます。このWSDLファイルをパートナ・リンクに使用できます。
入力ファイルからペイロードを同期読取りし、発注詳細を取得することにより、BPELプロセスを構成するには、この手順を使用します。
ファイル・アダプタ用パートナ・リンクを追加して、オーダー詳細を読み取る手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。
「ファイル・アダプタ」を「BPELサービス」リストから、右側の「パートナ・リンク」スイムレーンの最初のパートナ・リンクInsertOrderの前にドラッグ・アンド・ドロップします。ファイル・アダプタ参照ページが表示されます。
ファイル参照名の指定
ファイル・アダプタ・サービスの名前(getOrderDetailsなど)を入力します。
「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。
アダプタ・インタフェースの指定
「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。
ファイル・サーバーの接続ページが表示されます。「ファイル・サーバーのJNDI名」フィールドのデフォルト値は変更せず、そのままにします。
ファイル・サーバーのJNDI名の指定
「操作」ページで、操作タイプを指定します。たとえば、「同期Read File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。
操作の指定
「次へ」をクリックして、「ファイル・ディレクトリ」ページにアクセスします。
「論理名」ラジオ・ボタンを選択して、受信ファイルのディレクトリ(inputDirなど)を指定します。
「正常な取得後にファイルを削除」チェック・ボックスが選択されていないことを確認します。
入力ファイルの構成
「次へ」をクリックして、「ファイル名」ページを開きます。
同期Read File操作のファイル名を入力します。たとえば、order_data.xmlと入力します。「次へ」をクリックして、「メッセージ」ページを開きます。
「URL」フィールドの横の「スキーマ・ファイルを参照」アイコンを選択して、「タイプ・チューザ」を開きます。
「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「InsertOrder_table.xsd」→「OeHeadersIfaceAllCollection」を選択します。「OK」をクリックします。
選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
メッセージ・スキーマの指定
「次へ」をクリックし、「終了」をクリックします。これで構成が完成し、必要なWSDL設定を使ったファイル・アダプタ・サービスでのパートナ・リンクが作成されます。パートナ・リンクに対応するWSDLファイルも生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルgetOrderDetails.wsdlが指定されています。
BPELプロセス・ダイアグラムにgetOrderDetailsパートナ・リンクが表示されます。
パートナ・リンクを構成した後、次の2つのinvokeアクティビティを構成する必要があります。
ViewAckパートナ・リンクを起動することによって、確認データを取得します。
ファイル・アダプタのWriteAckdataパートナ・リンクを起動することによって、確認データをXMLファイルに書き込みます。
パートナ・リンクに対する最初のinvokeアクティビティを追加して、確認データを取得する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。1番目の「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの「receiveInput」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。
invokeアクティビティの追加
invokeアクティビティをViewAckサービスにリンクします。「Invokeの編集」ダイアログが表示されます。
Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
「出力」タブで「出力変数」ラジオ・ボタンが選択されていることを確認します。「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックします。
Invokeの詳細の表示
「適用」をクリックし、「Invokeの編集」ダイアログ・ボックスの「OK」をクリックして、invokeアクティビティの構成を終了します。
プロセス・ダイアグラムにinvokeアクティビティが表示されます。
パートナ・リンクに対する2番目のinvokeアクティビティを追加して、オープン・インタフェース表にオーダー・データを挿入する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。2番目の「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの1番目の「Invoke」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。
invokeアクティビティをInsertOrderサービスにリンクします。「Invokeの編集」ダイアログ・ボックスが表示されます。
最初のinvokeアクティビティの手順で説明したステップ3とステップ4を繰り返します。「適用」をクリックし、「Invokeの編集」ダイアログ・ボックスの「OK」をクリックして、2番目のinvokeアクティビティの構成を終了します。
Invokeの詳細の表示
次のタスクは、プロセス・マップにassignアクティビティを追加することです。これは、ファイル・アダプタの同期Read(getOrderDetails)サービスの出力をオープン・インタフェースInsertOrderサービスの入力として渡すために使用されます。
assignアクティビティを追加する手順は、次のとおりです。
JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。
「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した1番目と2番目の「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。
「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。
「一般」タブをクリックして、assignアクティビティの名前を入力します。例: SetOrderDetails。
次のパラメータ情報を入力します。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_SynchRead_OutputVariable」の順にナビゲートして、「本体」を選択します。
「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_insert_InputVariable」の順にナビゲートして、「OeHeadersIfaceAllCollection」を選択します。
ソース・ノード(本体)を、選択したターゲット・ノード(OeHeadersIfaceAllCollection)にドラッグします。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。
パラメータの割当て
「適用」をクリックして、「OK」をクリックし、assignアクティビティの構成を完了します。
BPELプロセス・ダイアグラム
「InsertOrder (composite.xml)」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。
注意: 「InsertOrder (composite.xml)」の「ソース」タブをクリックして、参照getOrderDetailsの物理ディレクトリinputDirの値を入力します(/usr/tmpなど)。
<property name="inputDir" type="xs:string" many="false" override="may">/usr/tmp</property>
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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。
「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。
プロジェクト名を右クリックし、表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。
接続が適切にセットアップされていれば、たとえば、「デプロイ」→「InsertOrder」→「soa-server1」を選択してプロセスをデプロイできます。
注意: サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。
「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。
新規リビジョンID: 1.0
コンポジット・リビジョンをデフォルトとしてマークします: このチェック・ボックスを選択します。
同じリビジョンIDで既存のコンポジットを上書きします: このチェック・ボックスを選択します。
JDeveloperからOracle WebLogic Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。
「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。
「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。
「次へ」をクリックし、「終了」をクリックします。
Oracle JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Oracle SOA Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。
デプロイメント処理が開始されます。「SOA - ログ」ウィンドウと「デプロイメント - ログ」ウィンドウでデプロイメントの進行とコンパイルの成功を確認します。
BPELプロセスを使用したSOAコンポジット・アプリケーションを一度デプロイしたら、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理およびモニターできます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。
BPELプロセスを使用したデプロイ済SOAコンポジット・アプリケーションを手動で開始およびモニターする手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。
ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。
複数のターゲットOracle Enterprise Manager Fusion Middleware Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。
ファームのベース・ドメインで、「SOA」→「soa-infra (soa_server1)」→「デフォルト」を展開して、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。
注意: 「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。
SOAインフラストラクチャから、開始するSOAコンポジット・アプリケーション(「OrderInsert」など)をクリックします。
ページの最上部で「テスト」をクリックします。
インスタンスを起動するための「Webサービスのテスト」ページが表示されます。「入力引数」セクションで使用するXMLペイロード・データを指定できます。
プロセスに必要な入力文字列を入力して、「Webサービスのテスト」をクリックし、プロセスを起動します。
Webサービスのテスト
完了すると、「レスポンス」タブにテスト結果が表示されます。
「Webサービスのテスト」ページの「フロー・トレースの起動」をクリックします。「フローのトレース」ページが表示されます。
「トレース」セクションに、一連のメッセージ・フロー(サービス・バインディング・コンポーネント(insertorder_client_ep)、BPELコンポーネント(InsertOrder)および参照バインディング・コンポーネント(getOrderDetailsとInsertOrder))が表示されます。関連するすべてのコンポーネントが、メッセージを正常に受信および処理しました。
テスト中にエラーが発生した場合は、「フォルト」セクションに表示されます。
「フローのトレース」ページ
BPELサービス・コンポーネント・インスタンスのリンク(InsertOrderなど)をクリックすると、「インスタンス」ページが表示され、「監査証跡」タブで、BPELアクティビティの実行詳細を表示できます。
BPELプロセス・フロー・ダイアグラムを確認するには、フロー・タブをクリックします。アクティビティの詳細およびプロセス全体のペイロードのフローを表示するには、プロセス・ダイアグラムのアクティビティをクリックします。
SQLを使用したレコードの検証
注意: 選択したオープン・インタフェース表にレコードが挿入されたことを確認するには、SQL SELECT文を記述して、オープン・インタフェース表に最後に挿入されたレコードを示す結果をフェッチします。
この項では、Oracle JDeveloperで「アダプタ構成ウィザード」を使用してOracle E-Business Suite Adapterを構成する手順について説明します。
BPELプロセスを使用したSOAコンポジット・アプリケーションのシナリオ
この例では、Oracle E-Business Suite Adapterはインタフェース・ビューOE_HEADER_ACKS_VおよびOE_LINE_ACKS_Vから発注確認情報を取得します。確認情報は確認の出力としてXMLファイルに書き込まれます。
BPELプロセスを使用したSOAコンポジット・アプリケーションがデプロイ後に正常に実行されて、オーダーが承認されると、同じオーダー・ブック参照IDを持つ出力XMLファイルを検証できます。
一意性基準(単一キーまたはコンポジット・キー)を定義する必要があります。
BPELプロセスを使用したSOAコンポジット・アプリケーションのフロー
この章では、シナリオに基づき、次の設計時タスクについて説明します。
BPELプロセスを使用した新しいSOAコンポジット・アプリケーションを作成する手順は、次のとおりです。
Oracle JDeveloperを起動します。
「アプリケーション・ナビゲータ」で「新規アプリケーション」をクリックします。
「新規ギャラリ」ページが表示されます。項目リストで「SOAアプリケーション」を選択します。
「新規ギャラリ」ページ
「OK」をクリックします。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページが表示されます。
「SOAアプリケーションの作成 - アプリケーションの名前付け」ページ
「アプリケーション名」フィールドにアプリケーションに適した名前を入力します。
「次」をクリックします。「SOAアプリケーションの作成 - プロジェクトの名前付け」ページが表示されます。
「プロジェクト名」フィールドに適切なプロジェクト名を入力します。例: WriteAck。
「SOAアプリケーションの作成 - プロジェクトの名前付け」ページ
「プロジェクトの機能」セクションに「SOAスイート」が表示されます。
「次」をクリックします。「SOAアプリケーションの作成 - SOA設定の構成」ページが表示されます。
「SOAアプリケーションの作成 - SOA設定の構成」ページ
「開始」フィールドでは、デフォルトで選択されている「標準コンポジット」をそのままにします。
「標準コンポジット」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。新しいアプリケーションとSOAプロジェクトが作成されました。これにより、SOAコンポジットが自動的に作成されます。
「BPELプロセスの作成」ページが表示されます。
デフォルトで選択されている「BPEL 2.0仕様」をそのままにします。BPEL 2.0仕様をサポートするBPELプロジェクトが作成されます。
「名前」フィールドに適切なBPELプロセス名を入力します。例: WriteAck。
「テンプレート」フィールドで「非同期BPELプロセス」を選択します。「OK」をクリックします。
receiveアクティビティとreplyアクティビティを持つ非同期BPELプロセスが作成されます。指定した名前を使用したbpelおよびwsdlファイル(例: WriteAck.bpelとWriteAck.wsdl)を含む必要なソース・ファイルとWriteAck.bpel (composite.xml)も生成されます。
SOAフォルダにナビゲートしてWriteAck.bpel (composite.xml)をクリックすると、コンポジット・ダイアグラムが表示されます。
コンポジット・ダイアグラムの表示
「WriteAckcomponent」をダブルクリックするとBPELプロセスが開きます。
BPELパートナ・リンクは、パートナ・サービスと相互動作するBPELプロセスのリンク名、タイプおよびロールを定義するものです。
前に説明したシナリオでは、パートナ・リンクを追加し、選択したオープン・インタフェース・ビューからオーダー確認情報を取得する必要があります。
パートナ・リンクを追加する手順は、次のとおりです。
「コンポーネント・パレット」で「BPELサービス」をクリックします。
Oracle E-Business Suite」(旧称Oracle Applications)を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンにドラッグ・アンド・ドロップします。「Oracle E-Business Suite Reference」ページが表示されます。
「名前」フィールドに参照名を入力します。例: ViewAck。
「次」をクリックします。「サービス接続」ダイアログが表示されます。
データベース接続については次のいずれかのオプションを実行できます。
注意: 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で使用可能なオープン・インタフェース・ビューのリストを参照することにより、インタフェース・ビューを追加できます。
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 E-Business Suiteで使用可能な各種の製品ファミリが表示されます。
「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「Interface_Views」にナビゲートして、「OE_HEADER_ACKS_V」を選択します。
モジュール・ブラウザからのビューの選択
「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択したインタフェース・ビューが表示されます。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「オブジェクト取得」をクリックして、Oracle E-Business Suiteモジュール・ブラウザをもう一度開き、同じナビゲータ・パス「Order Management Suite (OM_PF)」→「Order Management (ONT)」→「受注 (ONT_SALES_ORDER)」→「Interface_Views」を使用して、別のインタフェース・ビューOE_LINE_ACKS_Vを選択します。
「OK」をクリックします。「アプリケーション・インタフェース」ページが開き、選択した2つのビューが表示されます。
「アダプタ構成ウィザード」 - 「アプリケーション・インタフェース」ページ
「次」をクリックします。「操作タイプ」ページが表示されます。
「アダプタ構成ウィザード」 - 「操作タイプ」ページ
「表に対して操作を実行」ラジオ・ボタンを選択し、「選択」チェック・ボックスを選択します。
注意: インタフェース・ビューを使用できるのは、選択操作の場合のみです。
「次」をクリックします。「表の選択」ページが表示されます。
「アダプタ構成ウィザード」 - 「表の選択」ページ
このサービスの問合せのルート・データベース表としてOE_HEADERS_ACKS_Vを選択します。
「次」をクリックします。「主キーの定義」ページが表示されます。
「アダプタ構成ウィザード」 - OE_HEADERS_ACKS_Vの「主キーの定義」ページ
OE_HEADERS_ACKS_V表に対して次の主キーを選択します。
ORIG_SYS_DOCUMENT_REF
ORDER_SOURCE_ID
「次」をクリックします。
OE_LINE_ACKS_V表に対して同じ主キーを選択します。
「アダプタ構成ウィザード」 - OE_LINE_ACKS_Vの「主キーの定義」ページ
「次」をクリックします。「リレーションシップ」ページが表示されます。
「作成」をクリックして、「リレーションシップの作成」ダイアログを開きます。
リレーションシップの定義
次の情報を入力して、ヘッダーと詳細表間のリレーションシップを定義します。
親表としてOE_HEADERS_ACKS_V、および子表としてOE_LINES_ACKS_Vを選択します。
マッピング・タイプ「OE_HEADERS_ACKS_VとOE_LINES_ACKS_Vのリレーションシップは1対多」を選択します。
注意: 表どうしの外部キー制約がすでにデータベースに存在する場合、表のインポート中に2つのリレーションシップが自動的に作成されます。1つは、ソース表(外部キー制約が含まれる表)からターゲット表への1対多リレーションシップです。もう1つのリレーションシップは、ターゲット表からソース表への1対1バック・ポインタです。
「私有」チェック・ボックスを選択します。
主キー・フィールドに外部キー・フィールドを関連付けます。
OE_HEADERS_ACKS_V.ORDER_SOURCE_ID: ORDER_SOURCE_ID
OE_HEADERS_ACKS_V.ORIG_SYS_DOCUMENT_REF: ORIG_SYS_DOCUMENT_REF
「リレーションシップ名」フィールドは、デフォルトでは自動的に移入されます。必要に応じて、作成しているリレーションシップに新しい名前を指定できます。
「OK」をクリックします。「リレーションシップ」ページに、新しく作成されたリレーションシップ情報が表示されます。
「次」をクリックします。「属性のフィルタ処理」ページが表示されます。デフォルトで選択されている内容を変更せずにそのままにします。
「アダプタ構成ウィザード」 - 「属性のフィルタ処理」ページ
「次」をクリックします。「選択条件の定義」ページが表示されます。
必要に応じて、「追加」をクリックして新規パラメータを追加します。「編集」をクリックし、グラフィカルな式ビルダーを使用して式を作成します。事前定義されたSQL文字列を変更することにより、独自のカスタムSELECT問合せを定義できます。
「次」をクリックします。「詳細オプション」ページが表示されます。
「次」をクリックします。
「終了」をクリックします。選択したインタフェースに対応するWSDLファイルが生成されます。このWSDLファイルをパートナ・リンクに使用できます。
ファイル・アダプタ用パートナ・リンクを追加することにより、BPELプロセスを構成するには、この手順を使用します。これにより、確認データをXMLファイルに書き込むことができます。
ファイル・アダプタ用パートナ・リンクを追加する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELサービス」をクリックします。
「ファイル・アダプタ」を「BPELサービス」リストからプロセス・ダイアグラムの右側の「パートナ・リンク」スイムレーンの作成されたパートナ・リンクの直後にドラッグ・アンド・ドロップします。ファイル・アダプタ参照ページが表示されます。
ファイル・アダプタ参照名の指定
ファイル・アダプタ・サービスの名前(WriteAckdataなど)を入力します。
「次」をクリックします。「アダプタ・インタフェース」ページが表示されます。
アダプタ・インタフェースの指定
「操作およびスキーマから定義(後で指定)」ラジオ・ボタンを選択し、「次へ」をクリックします。
ファイル・サーバーの接続ページが表示されます。「ファイル・サーバーのJNDI名」フィールドのデフォルト値は変更せず、そのままにします。
ファイル・サーバーのJNDI名の指定
「操作」ページで、操作タイプを指定します。たとえば、「Write File」ラジオ・ボタンを選択します。この操作タイプは、「操作名」フィールドに自動的に移入されます。
操作の指定
「次へ」をクリックして、「ファイル構成」ページにアクセスします。
出力ファイルの構成
「ディレクトリは次のように指定します」フィールドで、「論理名」ラジオ・ボタンを選択します。「発信ファイルのディレクトリ(論理名)」にOutputDirと入力し、出力ファイルの命名規則(EventAck%yyMMddHHmmss%.xmlなど)を指定します。
ヒント: パーセント記号(%)を入力する場合、ファイル名の一部として日付変数のリストまたは順序番号変数(SEQ)から選択できます。
デフォルトの書込み条件「メッセージ数の到達 1」を確認します。
「次へ」をクリックすると、「メッセージ」ページが表示されます。書き込まれる出力ファイルの場合、スキーマを指定する必要があります。
「参照」をクリックして、「タイプ・チューザ」にアクセスします。
「プロジェクトのスキーマ・ファイル」→「ViewAck_table.xsd」をクリックして、「OeHeaderAcksSelectInputParameters」を選択することにより、ノードを展開します。「OK」をクリックします。
選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
選択したメッセージ・スキーマの移入
「次へ」をクリックし、「終了」をクリックします。パートナ・リンクに対応するWSDLファイルが生成されます。メインの「パートナ・リンクの作成」ダイアログ・ボックスが表示され、新規WSDLファイルを指定します。
前に説明したシナリオに基づいて、次の2つのinvokeアクティビティを構成する必要があります。
ViewAckパートナ・リンクを起動することにより、発注確認詳細を取得します。
ファイル・アダプタのWriteAckdataパートナ・リンクを起動することにより、発注確認情報をXMLファイルに書き込みます。
パートナ・リンクに対する最初のinvokeアクティビティを追加して、確認詳細を取得する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。1番目の「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの「receiveInput」アクティビティと「callbackClient」アクティビティの間にドラッグ・アンド・ドロップします。
invokeアクティビティをViewAckサービスにリンクします。「Invokeの編集」ダイアログが表示されます。
「操作」フィールドの値は、関連付けられているパートナ・リンクに基づいて自動的に選択されます。たとえば、このinvokeアクティビティは「選択」操作のためにのみインタフェース表パートナ・リンクに関連付けられているため、「選択」操作を行う「ViewAckSelect」サービス名が値として移入されます。
Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。
「OK」をクリックします。
「出力」タブで「出力変数」ラジオ・ボタンが選択されていることを確認します。「出力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。
「OK」をクリックして、「変数の作成」ダイアログを閉じます。
Invokeの詳細の表示
「適用」をクリックし、「Invokeの編集」ダイアログ・ボックスの「OK」をクリックして、invokeアクティビティの構成を終了します。
プロセス・ダイアグラムにinvokeアクティビティが表示されます。
ファイル・アダプタ用パートナ・リンクに対する2番目のinvokeアクティビティを追加し、XMLファイルに確認詳細を書き込む手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。1番目の「Invoke」アクティビティを、「Web Service」セクションから、プロセス・ダイアグラムの中央スイムレーンの1番目の「Invoke」アクティビティの直後にドラッグ・アンド・ドロップします。
invokeアクティビティをファイル・アダプタのWriteAckdataサービスにリンクします。「Invokeの編集」ダイアログが表示されます。
Invokeアクティビティの名前を入力します。「入力」タブで「入力変数」ラジオ・ボタンが選択されていることを確認します。「入力変数」フィールドの横にある「作成」アイコンをクリックして、新しい変数を作成します。「変数の作成」ダイアログ・ボックスが表示されます。
「グローバル変数」を選択し、変数の名前を入力します。デフォルト名を受け入れることもできます。「OK」をクリックして、「Invokeの編集」ダイアログ・ボックスに戻ります。
Invokeの詳細の表示
「適用」をクリックして、「OK」をクリックし、invokeアクティビティの構成を完了します。
プロセス・ダイアグラムに2番目のinvokeアクティビティが表示されます。
次のタスクは、プロセス・マップにassignアクティビティを追加することです。このアクティビティを使用して、入力変数に値を提供します。
assignアクティビティを構成する手順は、次のとおりです。
Oracle JDeveloper BPEL Designerの「コンポーネント・パレット」で、「BPELコンストラクト」を展開します。
「Assign」アクティビティを、「基本アクティビティ」セクションから、プロセス・ダイアグラムの中央スイムレーンにある、さきほど作成した2つの「Invoke」アクティビティの間にドラッグ・アンド・ドロップします。
「Assign」アクティビティをダブルクリックして、「Assignの編集」ダイアログにアクセスします。
「一般」タブをクリックして、assignアクティビティの名前を入力します。例: setAckdata。
「コピー・ルール」タブを選択してターゲット・ツリーを展開します。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「 Invoke_ViewAckSelect_OutputVariaable」の順にナビゲートして、「ViewAckSelect_inputParameters」を選択します。
「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「 Invoke1_Write_InputVariable」の順にナビゲートして、「本体」を選択します。
ソース・ノード(ViewAckSelect_inputParameters)を、選択したターゲット・ノード(本体)にドラッグします。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。
パラメータの割当て
「適用」をクリックし、「OK」をクリックします。
BPELダイアグラムが完成します。
BPELプロセス・ダイアグラムの表示
「WriteAck (composite.xml)」をクリックして、Oracle JDeveloperのコンポジット・ダイアグラムを表示します。
注意: 「WriteAck (composite.xml)」の「ソース」タブをクリックして、参照WriteAckdataの物理ディレクトリoutputDirの値を入力します(/usr/tmpなど)。
<property name="outputDir" type="xs:string" many="false" override="may">/usr/tmp</property>
コンポジット・ダイアグラムの表示
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コンポジット・アプリケーションをデプロイする手順は、次のとおりです。
「アプリケーション・ナビゲータ」でSOAコンポジット・プロジェクトを選択します。
プロジェクト名を右クリックし、表示されるメニューから「デプロイ」→[プロジェクト名]→[serverConnection]を選択します。
接続が適切にセットアップされていれば、たとえば、「デプロイ」→「WriteAck」→「soa-server1」を選択してプロセスをデプロイできます。
注意: サーバー接続を初めてセットアップすると、「デプロイメント・アクション」ウィンドウが表示されます。「アプリケーション・サーバーにデプロイ」を選択して、「次へ」をクリックします。
「構成のデプロイ」ウィンドウで、次の情報が選択されていることを確認してから「次へ」をクリックすると新しいアプリケーション・サーバーが追加されます。
新規リビジョンID: 1.0
コンポジット・リビジョンをデフォルトとしてマークします: このチェック・ボックスを選択します。
同じリビジョンIDで既存のコンポジットを上書きします: このチェック・ボックスを選択します。
JDeveloperからOracle WebLogic Server接続を新規作成する手順は、「アプリケーション・サーバー接続の作成」に記載されています。
「サーバーの選択」ページで、前に確立したサーバー接続「soa-server1」を選択します。「次」をクリックします。
「SOAサーバー」ページでデフォルトのターゲットSOAサーバー('soa-server1')の選択を受け入れます。
「次へ」をクリックし、「終了」をクリックします。
Oracle JDeveloperセッションからコンポジットを初めてデプロイする場合は、「認証リクエスト」画面が表示されます。Oracle SOA Suiteのインストール中に、指定されたユーザー名とパスワードを入力します。「OK」をクリックします。
SOAコンポジット・アプリケーションに含まれるBPELプロセスがコンパイルおよびデプロイされます。「メッセージ」ウィンドウでコンパイルの進行状況を確認できます。
SOAコンポジット・アプリケーションを一度デプロイしたら、Oracle Enterprise Manager Fusion Middleware Controlコンソールからプロセスを管理およびモニターできます。また、プロセスを手動で開始して、プロセスと統合インタフェースをテストすることもできます。
BPELプロセスを使用したデプロイ済SOAコンポジット・アプリケーションを手動で開始およびモニターする手順は、次のとおりです。
Oracle Enterprise Manager Fusion Middleware Controlコンソールにナビゲートします(http://<サーバー名>:<ポート番号>/em)。デプロイしたコンポジットが「アプリケーション・ナビゲーション」ツリーに表示されます。
ユーザー名(weblogicなど)とパスワードを入力して、「ログイン」をクリックし、ファームにログインします。
複数のターゲットOracle Enterprise Manager Fusion Middleware Controlコンソール・ファームがある場合は、適切なターゲット・インスタンス・ファームを選択する必要がある場合があります。
ファームのベース・ドメインで、「SOA」→「soa-infra (soa_server1)」→「デフォルト」を展開して、SOAインフラストラクチャ・ホーム・ページとメニューをナビゲートし、その管理対象サーバーのSOAインフラストラクチャで実行されているデプロイ済のSOAコンポジット・アプリケーションにアクセスします。
注意: 「ファーム」メニューは常にナビゲータの最上部に表示されます。ナビゲータで「SOA」フォルダを展開し、その下に表示されるリンクをクリックすると、ページの最上部で「SOAインフラストラクチャ」メニューを使用できるようになります。
SOAインフラストラクチャから、開始するSOAコンポジット・アプリケーション(「WriteAck」など)をクリックします。
ページの最上部で「テスト」をクリックします。
インスタンスを起動するための「Webサービスのテスト」ページが表示されます。「入力引数」セクションで使用するXMLペイロード・データを指定できます。
プロセスに必要な入力文字列を入力して、「Webサービスのテスト」をクリックし、プロセスを起動します。
Webサービスのテスト
完了すると、「レスポンス」タブにテスト結果が表示されます。
「Webサービスのテスト」ページの「フロー・トレースの起動」をクリックします。「フローのトレース」ページが表示されます。
「トレース」セクションに、一連のメッセージ・フロー(サービス・バインディング・コンポーネント(writeack_client_ep)、BPELコンポーネント(WriteAck)および参照バインディング・コンポーネント(ViewAckとWriteAckdata))が表示されます。関連するすべてのコンポーネントが、メッセージを正常に受信および処理しました。
テスト中にエラーが発生した場合は、「フォルト」セクションに表示されます。
BPELサービス・コンポーネント・インスタンスのリンク(WriteAckなど)をクリックすると、「インスタンス」ページが表示され、「監査証跡」タブで、BPELアクティビティの実行詳細を表示できます。
BPELプロセス・フロー・ダイアグラムを確認するには、フロー・タブをクリックします。アクティビティの詳細およびプロセス全体のペイロードのフローを表示するには、プロセス・ダイアグラムのアクティビティをクリックします。
Oracle E-Business Suiteでのレコードの検証
「購買、Visionオペレーション (USA)」職責でOracle E-Business Suiteにログオンし、ナビゲーション・メニューから「発注」を選択します。
購買オーダー・フォームが表示されます。
次のヘッダー値を指定して、発注を作成します。
仕入先: 仕入先の情報(「Advanced Network Devices」など)を入力します。
サイト: サイトの情報(「SANTA CLARA-ERS」など)を選択します。
「明細」タブで、次の値を使用してデータ行を入力します。
タイプ: 商品
品目: CM13139
数量: 1
摘要: ハード・ドライブ - 8GB
約束の日: dd-mmm-yyyyという書式で将来の日付(23-JUN-2009など)を入力します。
発注を保存します。発注のステータスは「未完了」になっています。
「承認」をクリックします。「ドキュメントの承認」フォームが表示されます。
「OK」をクリックして、承認を確定します。
注意: 取引先が設定され有効になっているため、送信方法は自動的にXMLに設定されます。
注文書の承認
発注のステータスは「承認」に変更されました。将来参照するために、「発注、改訂」フィールドの値を書き留めます。例: 発注番号5789。
発注が承認されると、オーダー詳細がシステムに記録されます。
SOAコンポジット・アプリケーションに含まれるBPELプロセスをデプロイすると、OE_HEADER_ACKS_VおよびOE_LINE_ACKS_Vインタフェース・ビューからオーダー確認情報を取得できます。
xmlファイルを開いて発注詳細を確認することにより、指定した出力ディレクトリにある出力ファイルEventAck%yyMMddHHmmss%.xmlを検証します。xmlファイル内のドキュメント番号は、Oracle E-Business Suiteで承認した番号と同じである必要があります。
Copyright © 2005, 2016, Oracle and/or its affiliates. All rights reserved.