ヘッダーをスキップ
Oracle Application Server Adapter for J.D. Edwards OneWorldユーザーズ・ガイド
10g リリース3(10.1.3.4.0)
B53280-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 Oracle BPEL Process Managerとの統合

OracleAS Adapter for J.D. Edwards OneWorldは、Webサービス統合を容易にするために、ビジネス・プロセス実行言語(BPEL)Process Managerとシームレスに統合されています。Oracle BPEL Process Managerは、サービス指向アーキテクチャ(SOA)に基づいています。 BPEL Process Managerは、Web Service Definition Language(WSDL)文書として公開されているアダプタ・サービスを使用します。

この章の項目は次のとおりです。

アダプタとOracle BPEL Process Managerとの統合の概要

OracleAS Adapter for J.D. Edwards OneWorldをOracle BPEL Process Managerと統合するには、Oracle BPEL Process Managerと同じOC4JコンテナにOracleAS Adapter for J.D. Edwards OneWorldをデプロイする必要があります。基礎となるアダプタ・サービスはWSDLファイルとして公開される必要があります。このWSDLファイルは、設計時に、アダプタのリクエスト/レスポンス・サービス(アウトバウンド)とイベント通知サービス(インバウンド)の両方に対して、Oracle Application Server Adapter Application Explorer(Application Explorer)で生成されます。 詳細は、「WSDLの生成(J2CA構成のみ)」を参照してください。

生成されたWSDLファイルは、インバウンドまたはアウトバウンドのアダプタ・サービスに対して適切なBPELプロセスを設計するために使用されます。 完成したBPELプロセスは、JDeveloperで正常にコンパイルし、BPELサーバーにデプロイする必要があります。 BPELサーバーへのデプロイ時には、新規に作成されたプロセスはすべてOracle BPEL Consoleに自動的にデプロイされ、このコンソールでは、BPELプロセスを実行、監視および管理したり、アダプタ・イベントをリスニングします。

OracleASにインストールされているOracle BPEL Process Managerとともにアダプタを使用する場合、BPEL PMホーム・ディレクトリはOC4J_SOAで、次の場所にあります。

OracleAS_home\j2ee\OC4J_SOA

関連項目:

  • 『Oracle Application Server Adapter 概要』

  • 『Oracle BPEL Process Manager開発者ガイド』


アダプタのデプロイ

インストール時に、OracleAS Adapter for J.D. Edwards OneWorldは、OC4J J2CAコンテナ内のJ2CA 1.0リソース・アダプタとしてデプロイされます。 このアダプタは、Oracle BPEL Process Managerと同じOC4Jコンテナ内にデプロイする必要があります。


関連項目:


『Oracle Application Server Adapter 概要』

設計時

アダプタの設計時の構成を完了するには、次のツールが必要です。


注意:


この章の例では、JDeveloperが使用されています。

BPELプロセスを設計する前に、Application Explorerを使用してWSDLを生成する必要があります。詳細は、「WSDLの生成(J2CA構成のみ)」を参照してください。Application Explorerで生成されたWSDLは、BPELプロセスでパートナ・リンクとして使用されます。

ネームスペース要件

XMLネームスペースの目的は、グローバルな環境でのXMLボキャブラリ(要素と属性名を定義する)のデプロイを可能にし、複数のボキャブラリが使用されるドキュメント内で名前が衝突する可能性を低くすることです。修飾されたネームスペースは、より厳密なスキーマ検証に使用されます。この仕様に準拠しているドキュメントでは、要素および属性名は、修飾名で使用されます。構文的には、名前には接頭辞が使用されている場合と使用されていない場合があります。接頭辞をネームスペース名にバインドし、接頭辞のない要素名に適用されるデフォルトのネームスペースをバインドするために、属性ベースの宣言構文が使用されます。これらの宣言は、出現する要素に対して有効範囲が設定されるため、ドキュメントの別々の部分で異なるバインディングを適用できます。この仕様に準拠するプロセッサは、これらの宣言および接頭辞を認識し、これらに対応する必要があります。

10.1.3.1.0 SOAリリースでは、BPEL統合の際、厳密なネームスペース検証を実行することを推奨しています。 その結果として、Application Explorerでは、「修飾済」のマークが付いたネームスペースを持つバックエンド用のWebサービスが生成されます。 これは、BPELによるこのサービスのテスト・フェーズまたは使用フェーズでは、使用されるリクエストXML文書が、スキーマおよびWSDL文書に準拠している必要があることを意味します。ネームスペースが修飾されていることを覚えておくことが重要です。この点をさらに理解できるよう、次の例に違いを示します。

  1. 修飾されていないネームスペースに基づいたBPELの入力XML:

    <?xml version='1.0' encoding='utf-8' ?><jdeRequest type="callmethod" user="PSFT" pwd="PSFT" environment="DV810" session=""><callMethod name="GetEffectiveAddress">  <params>    <param name="mnAddressNumber">1001</param>  </params></callMethod></jdeRequest>
    
  2. 修飾されたネームスペースに基づいたBPELの入力XML:

    <jdeRequest xmlns="urn:iwaysoftware:jde/services/CALLBSFN/AddressBook/GetEffectiveAddress" type="callmethod" session="" sessionidle=""><callMethod runOnError="" trans="String" name="GetEffectiveAddress" app="string" returnNullData="yes">  <params>    <mnAddressNumber>1001</mnAddressNumber>    </params>  <onError abort="Yes"/> </callMethod></jdeRequest>
    

注意: 修飾されたネームスペースを想定しているWSDL文書に対して、未修飾の入力を渡すと、BPELによって、入力XMLを処理できないことを示す例外がスローされます。

リクエスト/レスポンス・サービス(アウトバウンド)用のBPELプロセスの設計

アウトバウンドBPELプロセスは、PartnerLink、InvokeおよびAssignの各プロセス・アクティビティで構成されます。 最初に、新規のアプリケーション・サーバー接続、統合サーバー接続および同期BPELプロセス・テンプレートを新規に作成する必要があります。

新規アプリケーション・サーバー接続の作成

新規アプリケーション・サーバー接続を作成する手順は、次のとおりです。

  1. 接続を表示するには、JDeveloperの左上ペインの最上部にある「接続ナビゲータ」タブをクリックします。

    「接続」ウィンドウ
    図bpel_30.gifの説明

  2. 「アプリケーション・サーバー」を右クリックして「アプリケーション・サーバー接続の作成」を選択します。

    「アプリケーション・サーバー接続の作成 - ようこそ」ダイアログ・ボックスが表示されます。

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

    「アプリケーション・サーバー接続の作成 - ステップ 1/4: タイプ」ダイアログ・ボックスが表示されます。

    アプリケーション・サーバー接続ウィザード
    図bpel_32.gifの説明

  4. アプリケーション・サーバー接続に一意の名前を指定し、接続タイプを選択して「次へ」をクリックします。

    「アプリケーション・サーバー接続の作成 - ステップ 2/4: 認証」ダイアログ・ボックスが表示されます。

    認証情報の指定
    図bpel_33.gifの説明

  5. 接続先アプリケーション・サーバーの有効なユーザー名とパスワードを指定します。

  6. 「パスワードを配布」を選択します。

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

    「アプリケーション・サーバー接続の作成 - ステップ 3/4: 接続」ダイアログ・ボックスが表示されます。

    接続情報の指定
    図bpel_33a.gifの説明

  8. 「シングル・インスタンス」接続オプションを選択します。

  9. 「ホスト名」にlocalhost、「OPMNポート」に6003と入力します。

  10. 「OC4Jインスタンス名」にhomeと入力します。

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

    「アプリケーション・サーバー接続の作成 - ステップ 4/4: テスト」ダイアログ・ボックスが表示されます。

    接続のテスト
    図bpel_33b.gifの説明

  12. 「接続のテスト」をクリックします。

    テストが完了し、接続に成功すると、ステータス領域に「成功」というメッセージが表示されます。

  13. 「終了」をクリックします。

    新規に作成したアプリケーション・サーバー接続が、「接続ナビゲータ」タブの「アプリケーション・サーバー」ノード下に表示されます。

    追加されたアプリケーション・サーバー接続
    図bpel_34.gifの説明

新規統合サーバー接続の作成

新規の統合サーバー接続を作成する手順は、次のとおりです。

  1. 接続を表示するには、JDeveloperの左上ペインの最上部にある「接続ナビゲータ」タブをクリックします。

    「接続」ウィンドウ
    図bpel_int1.gifの説明

  2. 「統合サーバー」を右クリックして「新規統合サーバー接続」を選択します。

    「統合サーバー接続の作成 - ようこそ」ダイアログ・ボックスが表示されます。

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

    「統合サーバー接続の作成 - ステップ 1/3: 名前」ダイアログ・ボックスが表示されます。

    統合サーバー接続ウィザード
    図bpel_int2.gifの説明

  4. 一意の名前を指定し、「次へ」をクリックします。

    「統合サーバー接続の作成 - ステップ 2/3: 接続」ダイアログ・ボックスが表示されます。

    接続情報の指定
    図bpel_int3.gifの説明

  5. 作成済のアプリケーション・サーバー接続を選択します。

  6. 「ホスト名」にlocalhost、「ポート番号」に8888と入力します。

  7. 「プロキシ例外リストにホスト名を追加」を選択し、「次へ」をクリックします。

    「統合サーバー接続の作成 - ステップ 3/3: 接続のテスト」ダイアログ・ボックスが表示されます。

    接続のテスト
    図bpel_int4.gifの説明

  8. 「接続のテスト」をクリックします。

    テストが完了し、接続に成功すると、ステータス領域に「成功」というメッセージが表示されます。

  9. 「終了」をクリックします。

    新規に作成した統合サーバー接続が、「接続ナビゲータ」タブの「統合サーバー」ノード下に表示されます。

    追加された統合サーバー接続
    図bpel_int5.gifの説明

アウトバウンドBPELおよびESBプロセスのテスト

BPELコンソールでは、デプロイされたBPELプロセスをテストできます。プロセスをデプロイした後、コンソールの「開始」タブを使用して管理、モニターおよびエンドツーエンド・シナリオを実行できます。OracleAS Adapter for J.D. Edwards OneWorldは、XMLペイロード・オプションを使用したテスト、およびJava Delivery APIを使用して実行したテストのオプションが動作確認されています。OracleAS Adapter for J.D. Edwards OneWorldをテストするには、この方法をお薦めします。

BPELコンソールからアウトバウンドBPELプロセスをテスト場合、またはEnterprise ManagerコンソールからアウトバウンドESBプロセスをテストする場合は、これらのコンソールで生成したXMLエンベロープを使用しないでください。XMLエンベロープは削除し、かわりにスキーマが生成するXMLペイロードを使用してください。これらはWSDLのネームスペース制限に準拠します。

ESBデータ・フローは、Enterprise Managerコンソールを使用してテストできます。ESBデータ・フローおよび相互作用を作成する際、WebサービスがOracle Application Serverで作成され、登録されます。 ESBアウトバウンド・プロセスの作成の詳細は、第5章「ESBの統合の例」を参照してください。

J.D. Edwards OneWorldサービスの統合

この項では、J.D. Edwardsサービスの統合について説明します。 次に、設計時と実行時の手順について説明します。

設計時の構成

リクエスト/レスポンス・サービス用のWSDLの生成

アウトバウンド相互作用のWSDLを生成する手順は、次のとおりです。

  1. Application Explorerを起動して、定義済のJ.D. Edwardsターゲットに接続します。

  2. 「サービス」「JDEJAVA_CFIN」「B0100033」を順番に開き、「GetEffectiveAddress」を選択します。

  3. 「GetEffectiveAddress」を右クリックします。

    次のメニューが表示されます。

    「WSDLのエクスポート」ダイアログ・ボックス
    図wlae_exportwsdl.gifの説明

  4. 「アウトバウンドJCAサービスの作成」を選択します。

    「WSDLのエクスポート」ダイアログ・ボックスが表示されます。

    「WSDLのエクスポート」ダイアログ・ボックス
    図wlae_exportwsdl2.gifの説明

  5. ファイルのデフォルト名をそのまま使用します。

    .wsdlというファイル拡張子が自動的に追加されます。

  6. 修飾された名前がデフォルトの要素フォームとして選択されていることを確認します。

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

    WSDLファイルが作成されます。

BPEL PMサーバー接続の作成

アウトバウンドBPELプロセスを設計するには、その前に、Oracle JDeveloperで新規のアプリケーション・サーバーおよび統合サーバー接続を構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。

同期BPELプロセス用のBPELプロジェクトの作成

同期BPELプロセス用のBPELプロジェクトを作成する手順は、次のとおりです。

  1. 左上ペインの最上部にある「アプリケーション・ナビゲータ」タブをクリックし、アプリケーションを選択します。 アプリケーションが存在しない場合は、作成する必要があります。

    JDeveloperの「アプリケーション」タブ
    図bpel_34a.gifの説明

  2. アプリケーションを右クリックして「新規プロジェクト」を選択します。

    「新規ギャラリ」ウィンドウが表示されます。

    新規ギャラリ
    図bpel_1.gifの説明

  3. 「項目」リストから「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。

    「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックスが表示されます。

    「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックス
    図bpel_2a.gifの説明

  4. 次の手順を実行します。

    1. BPELプロジェクトに名前(JDE_Serviceなど)を指定します。

      「ネームスペース」フィールドが自動的に更新されます。

    2. 「テンプレート」リストから「同期BPELプロセス」を選択します。

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

GetEffectiveAddress(アウトバウンド・サービス)用のBPELプロセスの設計

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

  1. 右側の「サービス」ペインからPartnerLinkをビジュアル・エディタにドラッグ・アンド・ドロップします。

    「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    「パートナ・リンクの作成」ウィンドウ
    図bpel_4.gifの説明

  2. 「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの前にある左から2番目のアイコン)をクリックします。

    「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。

    「サービス・エクスプローラ」ダイアログ・ボックス
    図bpel_5.gifの説明

  3. 「アダプタ・サービス」下の新規接続を開き、「アダプタ」「アプリケーション」を順番に開きます。

    「サービス・エクスプローラ」ダイアログ・ボックスに表示されるWSDLツリーには、Application Explorerを使用して作成したWSDLファイルがリストされます。WSDLツリーは、BPELサーバーのインストールの一部として自動的にデプロイされたWSDLサーブレットによって生成されます。

    「サービス・エクスプローラ」ダイアログ・ボックス
    図bpel_6.gifの説明

  4. 「GetEffectiveAddress_invoke.wsdl」を選択して「OK」をクリックします。

    「パートナ・リンクの作成」ダイアログ・ボックスの「WSDLファイル」フィールドに、選択したWSDLファイルの名前と場所が表示されます。 「パートナ・リンク・タイプ」フィールドで、WSDLファイルに定義されているパートナ・リンクを指定します。

    「パートナ・リンクの作成」
    図bpel_7.gifの説明

    次の手順を実行します。

    1. 「マイ・ロール」フィールドは指定しないままにします。ロールはBPELプロセスから同期で起動するため、PartnerLinkのロールはNULLになります。

    2. 「パートナ・ロール」リストから、デフォルト値「GetEffectiveAddressRole」を選択します。これがBPELプロセスのロールです。

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

    ビジュアル・エディタに新しいPartnerLinkが表示されます。

  6. 「ファイル」メニューから「保存」を選択します。

  7. 右側の「プロセス・アクティビティ」ペインからInvokeアクティビティをビジュアル・エディタにドラッグし、Receiveアクティビティ(receiveInput)とReplyアクティビティ(replyOutput)の間に配置します。

    Invokeプロセス・アクティビティは次の図に示すように表示されます。

    新規アクティビティを表示するJDeveloperの図
    図bpel_42.gifの説明

  8. Invoke_1の右の矢印をドラッグして、JDE_Service_PL PartnerLinkに接続します。

    「Invokeの編集」ダイアログ・ボックスが表示されます。

    「Invokeの編集」ダイアログ・ボックス
    図bpel_43.gifの説明

    次の手順を実行します。

    1. 「JDE_GetEffectiveAddress」など、Invokeアクティビティの名前を指定します。

    2. 「入力変数」フィールドの右側にある最初のアイコンをクリックし、表示された「変数の作成」ウィンドウで「OK」をクリックします。

    3. 同様の手順を繰り返して、「出力変数」フィールドのデフォルト値を作成します。

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

  10. Assignプロセス・アクティビティをドラッグし、receiveInputJDE_GetEffectiveAddressの間にドロップします。

    次のイメージは、JDeveloperビジュアル・エディタの新規Assignアクティビティを示しています。

    新規プロセス・アクティビティを表示するJDeveloperの図
    図bpel_44.gifの説明

  11. Assignアクティビティ・アイコンをダブルクリックします。

    「Assign」ダイアログ・ボックスが表示されます。

    「Assign」ダイアログ・ボックス
    図bpel_14.gifの説明

  12. 「コピー操作」タブで、「作成」をクリックし、「コピー操作」を選択します。

    「コピー操作の作成」ダイアログ・ボックスが表示されます。

    1. 「From」ペインで「変数」「inputVariable」を順番に開き、「ペイロード」を強調表示します。

    2. 「To」ペインで「変数」「JDE_GetEffectiveAddress_GetEffectiveAddress_InputVariable」を順番に開き、「input_GetEffectiveAddress」を強調表示します。

    「コピー操作の作成」ダイアログ・ボックスが次のように表示されます。

    「コピー操作の作成」ダイアログ・ボックス
    図bpel_10a.gifの説明

  13. 「コピー操作の作成」ダイアログ・ボックスおよび「Assign」ダイアログ・ボックスを閉じるには、「OK」をクリックします。

  14. 右側の「プロセス・アクティビティ」ペインから別のAssignアクティビティをビジュアル・エディタにドラッグし、Invokeアクティビティ(JDE_GetEffectiveAddress)とReplyアクティビティ(replyOutput)の間に配置します。

  15. Assignアクティビティ・アイコンをダブルクリックして、「作成」をクリックします。

  16. 「JDE_GetEffectiveAddress_GetEffectiveAddress_OutputVariable」「output_GetEffectiveAddress」「outputVariable」「payload」にマップします。

    次に示すように、すべての変数がマップされていることを確認します。

    「コピー操作の作成」ダイアログ・ボックス
    図bpel_10b.gifの説明

  17. 「OK」をクリックし、再度「OK」をクリックします。

  18. 「ファイル」メニューから「保存」を選択します。

これで、BPELプロセスの設計が完了します。

GetEffectiveAddress(アウトバウンド・サービス)用のBPELプロセスのデプロイ

JDeveloperでは、BPELプロセスがOracle BPEL Consoleに直接デプロイされます。

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

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

  2. 「デプロイ」作成したBPEL PMサーバー接続「デフォルト・ドメインにデプロイ」の順に選択します。

    デプロイ処理が自動的に開始されます。

  3. ウィンドウの最下部にある「メッセージ」ログを確認します。

    「メッセージ」ログには、デプロイのステータスが表示されます。この例では、プロセスで正常にデプロイされたことを示すメッセージが表示されています。

    「メッセージ」ログ
    図bpel_45.gifの説明

    デプロイに失敗した場合は、「コンパイラ」タブをクリックして、デプロイメント・プロセス中に生成されたエラー・メッセージと警告メッセージをすべて表示します。

アダプタ・リクエスト/レスポンス・サービスのOracle BPEL Process Managerからの起動

OracleAS Adapter for J.D. Edwards OneWorldのリクエスト/レスポンス・サービスは、バックエンド・データの作成、削除、更新、問合せ、およびバックエンドのワークフローとトランザクションのコールに使用されます。 この項では、アダプタの同期リクエスト/レスポンス・サービス(アウトバウンド相互作用)を起動する方法と、Oracle BPEL Consoleでプロセスを管理する方法について説明します。

Oracle BPEL Consoleでのデプロイ済アウトバウンド・プロセスの管理

JDeveloperで開発されたプロセスはOracle BPEL Consoleに直接デプロイされ、そこでBPELプロセスを実行、監視および管理できます。

アダプタ・リクエスト/レスポンス・サービスを起動する手順は、次のとおりです。

  1. ブラウザに次のURLを入力してOracle BPEL Consoleを起動します。

    http://host:port/BPELConsole
    
  2. 有効なユーザー名およびパスワードを入力します。

    Oracle BPEL Consoleのメイン・ページが表示されます。「ダッシュボード」タブに、すべてのデプロイ済BPELプロセスがリストされます。

    新規にデプロイされたBPELプロセスを表示するBPEL Console
    図bpel_17.gifの説明

  3. 「BPELプロセス」タブをクリックします。

    このタブには、各デプロイ済プロセスの詳細が表示されます。

    BPEL Consoleの「BPELプロセス」タブ
    図bpel_18.gifの説明

  4. J.D. Edwardsアウトバウンド・プロセス・リンクをクリックします。

    「管理」ウィンドウには、このBPELプロセスを管理するためのオプションが表示されます。 次に示すデフォルト設定は変更しないでください。

    Oracle BPEL Consoleの「管理」タブ
    図bpel_19.gifの説明

  5. 「開始」タブをクリックします。

    「開始」タブでは、BPELプロセスをテストできます。

    Oracle BPEL Consoleの「開始」ウィンドウ
    図bpel_20.gifの説明

    次の手順を実行します。

    1. 「テスト・インスタンスを起動しています」リストから、「XMLソース」を選択します。

    2. テスト領域の右側にある「Java配信API使用」リンクを選択します。

    3. XML入力用のテキスト領域に、次のコードを入力します。

      <?xml version="1.0" encoding="UTF-8"?>
      <jdeRequest type="callmethod"><callMethod name="GetEffectiveAddress" runOnError="no"><params><param name="mnAddressNumber">99999</param><param name="jdDateBeginningEffective"/><param name="cEffectiveDateExistence10"/><param name="szAddressLine1"/><param name="szAddressLine2"/><param name="szAddressLine3"/><param name="szAddressLine4"/><param name="szZipCodePostal"/><param name="szCity"/><param name="szCountyAddress"/><param name="szState"/><param name="szCountry"/><param name="szUserid"/><param name="szProgramid"/><param name="jdDateupdated"/><param name="szWorkstationid"/><param name="mnTimelastupdated"/><param name="szNamealpha"/></params><onError abort="yes"/></callMethod></jdeRequest>
      
  6. 「XMLメッセージの転送」をクリックします。

  7. 「インスタンス」タブをクリックしてから、「監査」タブをクリックすると、J.D. Edwards OneWorldシステムから受信したレスポンスが表示されます。


関連項目:


『Oracle Application Server Adapter 概要』

J.D. Edwards OneWorldイベントの統合

この例は、OracleAS Adapter for J.D. Edwards OneWorldとJ.D. Edwards OneWorldを統合してイベント・データを受信する方法を示しています。 設計時および実行時の構成手順については、次の各項で説明します。

設計時の構成

JDeveloperを使用してBPELプロセスを設計する前に、すべてのJ2CAイベントについて個別にチャネルを作成し、Application Explorerを使用してインバウンド相互作用のためのWSDLを生成するときに、そのチャネルを選択する必要があります。


注意:


2つ以上のイベントで同じチャネルを共有すると、イベント・メッセージが正しいBPELプロセスに配信されない可能性があります。

Application Explorerでのチャネルの作成

チャネルを作成する手順は、次のとおりです。

  1. Application Explorerで、「JDEdwards」ノードを開きます。

  2. 「チャネル」ノードを右クリックして「チャネルの追加」を選択します。

    「チャネルの追加」ダイアログ・ボックスが表示されます。

    「チャネルの追加」ダイアログ・ボックス
    図add_channel_dialog.gifの説明

  3. 「名前」フィールドにわかりやすいチャネル名を入力します。

  4. 「説明」フィールドに説明を入力します(オプション)。

  5. 「プロトコル」リストからチャネルのプロトコルを選択します。

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

    選択したリスナー用のダイアログ・ボックスが表示されます。

    「システム」タブ
    図tcp_listener_dialog.gifの説明

  7. 「ポート番号」フィールドにチャネルのポート番号を入力します。

  8. ホスト/IPバインディングフィールドでサーバーの場所を入力します。

  9. 「同期タイプ」リストから同期タイプを選択します。

  10. XML書式ではないデータを送信するイベントの長さ接頭辞を選択します。TCP/IPイベント・アプリケーションでは、データをTCP/IPポートに書き込む際、4バイト・バイナリの長さのフィールドをデータの前に付ける必要があります。

  11. XML書式でデータを返すイベントの「XML」を選択します。プリパーサーは必要ありません。

  12. イベント・トランザクションとチャネル間で持続的な通信を保持するために、キープ・アライブを選択します。

  13. プリパーサー・タブをクリックします。

    「ユーザー」タブ
    図preparser_tab.gifの説明

    表に従って値を入力します。

    パラメータ 説明
    ユーザーID* J.D. Edwards OneWorld用の有効なユーザーID。
    ユーザー・パスワード* ユーザーIDに関連付けられているパスワード。
    JDE環境* ご使用のJ.D. Edwards OneWorld環境。このパラメータの詳細は、J.D. Edwards OneWorldのドキュメントを参照するか、OneWorldシステム管理者にお問い合せください。
    アプリケーション XMLInteropまたはJ.D. Edwards OneWorld内のアプリケーション名。オプション。
    サーバーIPアドレス* J.D. Edwards OneWorldが実行されているサーバーの名前。JDEOWなどのサーバー名または123.45.67.89などのIPアドレスも指定できます。
    サーバー・ポート* 6009など、サーバーがリスニングしているポート番号。
    ユーザー・ロール 要件に応じてユーザー・ロールを定義します。
    スキーマ・スタイル リストからスタイルを選択します。

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

    チャネルが作成され、「チャネル」ノードの下に表示されます。 アイコン上に表示される「X」は、そのチャネルが切断状態になっていることを示します。


    注意:


    Application Explorerで作成したチャネルは、BPEL PMサーバーによって管理されます。 テストとデバッグの目的でチャネルを開始した場合は、実行前に停止してください。

イベント通知用のWSDLの生成(コマンド・プロンプトのみ)

Application Explorerを使用してJ.D. Edwards OneWorldのイベント通知用にWSDLを生成できません。 コマンド・プロンプトからWSDLを生成するには、次の手順を実行する必要があります。

重要: 選択したノードがイベントをサポートしている場合のみ、インバウンドJ2CAサービスを作成できます。

J.D. Edwards OneWorldのイベント通知用のWSDLファイルを生成する手順は、次のとおりです。

  1. Application Explorerの「J.D. Edwardsイベント」ノードの下にチャネルを作成します。 「Application Explorerでのチャネルの作成」を参照してください。

  2. チャネルを開始します。

    重要: チャネルの開始後は、BPEL PM ServerまたはOracle Application Serverを再起動しないでください。

  3. J.D. Edwards OneWorldからインバウンド・メッセージを送信します。

  4. インバウンド・メッセージ・ペイロードを、OracleAS_home\adapters\application\config\jca_sample\log\iwaf_jca15.log内にあるログ・ファイルで取得します。

    または、Application Explorerの「イベント」の下にある「ファイル」プロトコルを使用してポートを作成し、イベント・メッセージをファイル・システムに配置できます。

  5. XMLSpyなどのサード・パーティ・ツールによって、前のステップで取得したXMLペイロードを使用してXSDスキーマを作成します。

  6. orabpel-adapters.jarがクラスパスにあることを確認します。

  7. コマンド・プロンプトを開き、ディレクトリをOracleAS_home\adapters\application\toolsに変更します。

  8. obadapter.batを実行して環境を設定します。 UNIXプラットフォーム上で、Jbadapter.batを実行します。

  9. 次のコマンドを入力してWSDLを生成します。

    java com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser jcaHome adapter target channel schemaPrefix wsdlFileName
    

    各項目の説明は次のとおりです。

    • jcaHomeは、J2CA構成へのパスです。例: OracleAS_home\adapters\application\

    • adapterはアダプタの名前です。例: JDEdwards

    • targetは、Application Explorerの「アダプタ」に作成したアダプタ・ターゲットの名前です。

    • channelは、Application Explorerの「イベント」で作成したチャネルの名前です。

    • schemaPrefixはXSDスキーマの接頭辞です。スキーマ・ファイルは、Javaコマンドを実行するディレクトリと同じディレクトリに存在する必要があります。例: OracleAS_home\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02

    • wsdlFileNameはこの手順で作成したWSDLファイルの名前です。

    次に例を示します。

    C:\soaga\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02>java  com.iwaysoftware.af.container.tools.wsdl.IWayWSILBrowser c:\soaga\adapters\application\  JDEdwards bvision02 JDE PO purchaseorder.wsdl
    

    コマンドが正しく実行されると、コマンド・ウィンドウに次の出力が表示されます。

    Running Inbound WSDL generation tool...  -> user.dir = C:\soaga\adapters\application\config\jca_sample\schemas\JDEdwards\bvision02  -> Generating WSDL...  -> Done.  -> Writing WSDL 'c:\soaga\adapters\application\\wsdls\purchaseorder.wsdl' to disk...  -> Done.
    

    注意:


    イベント通知サービス用に生成されたWSDLファイルの名前に_receiveを追加することをお薦めします。これにより、リクエスト/レスポンス・サービス用に生成されたWSDLファイルと簡単に区別できるようになります。

  10. Application Explorerでチャネルを停止します。


注意:


WSDLファイルをサブフォルダに編成して、独自のWSDL階層構造を作成できます。OracleAS_home\adapters\application\wsdls\の下にフォルダを作成してください。JDeveloperのWSILブラウザに、WSDL階層の完全なツリー構造が表示されます。

WSDLファイルが作成されます。WSDLをパートナ・リンクとして使用するBPELプロセスを作成できます。BPELプロセスはデプロイされているため、チャネルはBPEL PMからアクティブ化されます。次に、J.D. Edwards OneWorldからインバウンド・メッセージを送信した後、メッセージがBPEL PMによって開始されたチャネルで受信されます。次の各項で、これらの手順を詳細に説明します。

BPEL PMサーバー接続の作成

BPELプロセスを設計するには、その前に、Oracle JDeveloperで新規のアプリケーション・サーバーおよび統合サーバー接続を構成する必要があります。 詳細は、第4章「Oracle BPEL Process Managerとの統合」を参照してください。

SalesOrderインバウンド・サービス用のBPELプロジェクトの設計

インバウンド相互作用のためのBPELプロジェクトを設計する手順は、次のとおりです。

  1. 左上ペインの最上部にある「アプリケーション・ナビゲータ」タブをクリックし、アプリケーションを選択します。

    JDeveloperの「アプリケーション」タブ
    図bpel_34a.gifの説明

  2. アプリケーションを右クリックして「新規プロジェクト」を選択します。

    「新規ギャラリ」ウィンドウが表示されます。

    新規ギャラリ
    図bpel_1.gifの説明

  3. 「項目」リストから「BPELプロセス・プロジェクト」を選択し、「OK」をクリックします。

    「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックスが表示されます。

    「BPELプロジェクト作成ウィザード - プロジェクトの設定」ダイアログ・ボックス
    図bpel_22a.gifの説明

  4. 次の手順を実行します。

    1. BPELプロジェクトに名前を指定します。

      「ネームスペース」フィールドが自動的に更新されます。

    2. 「テンプレート」リストから「空のBPELプロセス」を選択します。

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

  5. 右側の「サービス」ペインからパートナ・リンクをビジュアル・エディタにドラッグ・アンド・ドロップします。

    「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    「パートナ・リンクの作成」ウィンドウ
    図bpel_4.gifの説明

  6. 「サービス・エクスプローラ」アイコン(「WSDLファイル」フィールドの前にある左から2番目のアイコン)をクリックします。

    「サービス・エクスプローラ」ダイアログ・ボックスが表示されます。

    「サービス・エクスプローラ」ダイアログ・ボックス
    図bpel_5.gifの説明

  7. 「アダプタ・サービス」下の新規接続を開き、「アダプタ」「アプリケーション」を順番に開きます。

    「サービス・エクスプローラ」ダイアログ・ボックスに表示されるWSDLツリーには、Application Explorerを使用して作成したWSDLファイルがリストされます。WSDLツリーは、BPELサーバーのインストールの一部として自動的にデプロイされたWSDLサーブレットによって生成されます。

    WSDLツリー
    図bpel_6b.gifの説明

  8. 「SalesOrder.wsdl」を選択して「OK」をクリックします。

    「パートナ・リンクの作成」ダイアログ・ボックスが表示されます。

    「パートナ・リンクの作成」ダイアログ・ボックス
    図bpel_24a.gifの説明

    「WSDLファイル」フィールドに、選択したWSDLファイルの名前と場所が表示されます。「パートナ・リンク・タイプ」フィールドには、WSDLファイルで定義したPartnerLinkを指定します。

    次の手順を実行します。

    1. 「マイ・ロール」リストから、デフォルト値「SalesOrderRole」を選択します。

    2. 「パートナ・ロール」フィールドは指定しないままにします。

  9. 「適用」「OK」を順番にクリックします。

    新規のPartnerLinkがビジュアル・エディタに表示されます。

    新規のPartnerLinkを表示するJDeveloperビジュアル・エディタ
    図bpel_25a.gifの説明

  10. 右側の「プロセス・アクティビティ」ペインからReceiveアクティビティをビジュアル・エディタにドラッグし、「アクティビティをここにドロップ」とラベルが付いた指定のプレースホルダに配置します。

  11. ReceiveアクティビティをJDE_event PartnerLinkに接続します。

    「Receiveの編集」ダイアログ・ボックスが表示されます。

    「Receiveの編集」ダイアログ・ボックス
    図bpel_26a.gifの説明

    次の手順を実行します。

    1. Receiveアクティビティに名前(Receive_SalesOrderなど)を指定します。

    2. 「変数」フィールドの右側にある最初のアイコンをクリックし、表示された「変数の作成」ダイアログ・ボックスで「OK」をクリックします。

    3. 「インスタンスの作成」チェック・ボックスが選択されていることを確認します。

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

    警告またはエラーが「Receive」ダイアログ・ボックスに表示されなくなります。

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

  14. 「ファイル」メニューから「保存」を選択します。

インバウンド・サービス用のBPELプロジェクトのデプロイ

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

  2. 「デプロイ」作成したBPEL PMサーバー接続「デフォルト・ドメインにデプロイ」の順に選択します。

    デプロイ処理が自動的に開始されます。

    JDeveloperの正常なコンパイル
    図bpel_46.gifの説明

実行時の構成

イベントは、データベースまたはアプリケーション・システムでのアクティビティによって生成されます。イベントを使用して、アプリケーション内でアクションをトリガーできます。イベントの構成の詳細は、「イベント・アダプタの構成」を参照してください。

J.D. Edwards OneWorldでのイベントの起動

J.D. Edwards OneWorldでイベントを起動する手順は、次のとおりです。

  1. J.D. Edwards OneWorldシステムにログインします。

  2. 「J.D. Edwards OneWorld Explorer」ウィンドウの「略式コマンド」フィールドで、「G4211」と入力して[Enter]を押します。

    「略式コマンド」フィールド
    図jde_eventtrigger.gifの説明

  3. 「受注オーダー明細」(P4210)を右クリックします。

    選択済の「受注オーダー明細」とメニューの表示
    図jde_eventtrigger2.gifの説明

  4. 「プロンプト」「値」を順番に選択します。

    「処理オプション」ダイアログ・ボックスが表示されます。

    「処理オプション」ダイアログ・ボックス
    図jde_eventtrigger3.gifの説明

    次の手順を実行します。

    1. 「インタオペラビリティ」タブをクリックします。

    2. 「トランザクション・タイプ」フィールドに「JDESOOUT」と入力します。

    3. 「変更前/変更後のトランザクション処理」フィールドの値が1であることを確認します。

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

    「受注明細 - (受注残/完了オーダー照会)」ウィンドウが表示されます。

    「受注明細」ウィンドウ
    図jde_eventtrigger4.gifの説明

  6. 「追加」アイコン(左から3番目のアイコン)をクリックします。

  7. 次の画面に表示されている値を入力します。

    別のフィールドに移動するには、キーボードの[Tab]キーを使用します。

    正しいオーダー値
    図jde_eventtrigger5.gifの説明

  8. 「オーダー数量」および「品目番号」の値を入力します。

    次に例を示します。

    「オーダー数量」および「品目番号」のサンプル値
    図jde_eventtrigger6.gifの説明

  9. 2行目の最初のフィールドをクリックし、処理に数秒間を割り当てます。

    2行目を選択
    図jde_eventtrigger7.gifの説明

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

J.D. Edwards OneWorldシステムでイベントが起動されます。

結果の検証

結果を検証する手順は、次のとおりです。

  1. 次のサイトでOracle BPEL Consoleにログインします。

    http://host:port/BPELConsole
    
  2. 有効なユーザー名およびパスワードを入力します。

  3. 「インスタンス」タブをクリックします。

    最近受信したランタイム・イベントが「インスタンス」タブに表示されています。

    「インスタンス」タブ
    図bpel_36.gifの説明

  4. J.D. Edwardsイベント・インスタンスをクリックし、「履歴」をクリックすると、受信済イベント・メッセージが表示されます。

    「履歴」タブ
    図bpel_37.gifの説明