ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suiteアプリケーションの作成および実行のためのチュートリアル
11g リリース1(11.1.1)
B56240-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 SOAアプリケーションの作成

この章では、Fusion Order DemoのWebLogic Fusion Order DemoアプリケーションをOracle JDeveloperで作成する方法について説明します。 また、アプリケーション作成中のPartnerSupplierCompositeの作成方法についても説明します。

この章の指示に従う前に、第1章の手順をすべて実行してください。

この章の内容は次のとおりです。

WebLogic Fusion Order Demoアプリケーションの概要は、第1章「SOAサンプル・アプリケーションの概要」を参照してください。

3.1 PartnerSupplierCompositeコンポジットの概要

PartnerSupplierCompositeコンポジットには、BPELプロセスのExternalPartnerSupplierが含まれています。 OrderBookingCompositeコンポジットのOrderProcessor BPELプロセスのScope_RetrieveQuotesスコープでは、このプロセスを使用して外部パートナの倉庫から見積を取得します。 第6章「OrderProcessor BPELプロセスの後半の作成」Scope_RetrieveQuotesスコープおよびExternalPartnerSupplier Webサービスを作成する場合は、ExternalPartnerSupplier BPELプロセスを参照します。

図3-1に、SOAコンポジット・エディタのPartnerSupplierCompositeを示します。

図3-1 PartnerSupplierComposite

図3-1の説明は次にあります。
「図3-1 PartnerSupplierComposite」の説明

3.2 WebLogicFusionOrderDemoアプリケーションおよびPartnerSupplierCompositeコンポジットの作成

この手順では、WebLogic Fusion Order Demoアプリケーション、PartnerSupplierCompositeプロジェクトおよびExternalPartnerSupplier BPELプロセスを作成します。次のタスクが含まれています。

3.2.1 タスク1: WebLogicFusionOrderDemoアプリケーションおよびPartnerSupplierCompositeコンポジットの作成


注意:

Oracle SOA Suiteは、Oracle JDeveloperとともに自動的にインストールされるわけではありません。 SOAアプリケーションおよびプロジェクトを作成する前に、Oracle SOA Suite拡張をインストールしておく必要があります。 この拡張をOracle JDeveloper用にインストールする手順は、『Oracle Fusion Middleware Oracle JDeveloperインストレーション・ガイド』を参照してください。

WebLogic Fusion Order Demoアプリケーションを作成する手順は、次のとおりです。

  1. 「ファイル」「新規」の順に選択して、新規ギャラリを開きます。

  2. 「現在のプロジェクト・テクノロジ」タブをクリックします。

  3. 「すべてのテクノロジ」タブまたは「現在のプロジェクト・テクノロジ」タブで、「カテゴリ」ツリーから「一般」「アプリケーション」の順に選択します。

  4. 「項目」リストで、「SOAアプリケーション」を選択します。

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

  6. アプリケーションの名前付けページで、次の値を入力します。

    要素
    アプリケーション名 WebLogicFusionOrderDemo
    ディレクトリ ディレクトリ位置directory_path\CompositeServices(例: C:\fod\CompositeServices)を指定します。 このディレクトリはOracle JDeveloperにより作成され、すべてのプロジェクトのコンテナとして機能します。

    このチュートリアルでは、指定したアプリケーション・ディレクトリをMY_FOD_HOMEと表記します。

    アプリケーション・パッケージの接頭辞 値は入力しないでください。

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

  8. プロジェクトの名前付けページで、次の値を入力します。

    要素
    プロジェクト名 PartnerSupplierComposite
    ディレクトリ デフォルトのディレクトリ位置のMY_FOD_HOME\CompositeServices\PartnerSupplierCompositeをそのまま使用します。 このディレクトリは、Oracle JDeveloperによって作成され、PartnerSupplierCompositeコンポジット・プロジェクトのすべての内容が格納されます。
    プロジェクト・テクノロジ SOA

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

  10. SOA設定の設定ページで、「コンポジット・テンプレート」セクションから「BPELを使用するコンポジット」を選択します。

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

    「BPELプロセスの作成」ダイアログが表示されます。

3.2.2 タスク2: ExternalPartnerSupplier BPELプロセスの作成

ここでは、ExternalPartnerSupplier BPELプロセスの作成を続行します。

  1. 「BPELプロセスの作成」ダイアログで、次の値を入力します。

    要素
    名前 ExternalPartnerSupplier。
    ネームスペース http://www.partnersupplier.example.com/ns/warehouse。
    テンプレート 非同期BPELプロセス。
    SOAPサービスとして公開 このチェック・ボックスを選択すると、インバウンドSOAPサービス・バインディング・コンポーネントに接続されたBPELプロセスが作成されます。

  2. 「入力」フィールドで、DEMO_DOWNLOAD_HOMEディレクトリにある完全なスキーマをインポートします。

    1. 「入力」フィールドで、「入力要素の参照」アイコンをクリックします。

      「タイプ・チューザ」ダイアログが表示されます。

    2. 「スキーマ・ファイルのインポート」アイコンをクリックします。

      importxsd.gifの説明は次にあります。
      図版importxsd.gifの説明

      「スキーマ・ファイルのインポート」ダイアログが表示されます。

    3. 「URL」フィールドの右側にある「リソースの参照」アイコンをクリックします。

      SOAリソース・ブラウザが表示されます。

    4. 「ファイルシステム」を選択し、「場所」セクションでDEMO_DOWNLOAD_HOME/CompositeServices/PartnerSupplierComposite/xsd内のWarehouse.xsdを検索し、「OK」をクリックします。

    5. 「スキーマのインポート」ダイアログで、「URL」フィールドにWarehouse.xsdが表示されて「プロジェクトにコピー」オプションが選択されていることを確認し、「OK」をクリックします。

      「ファイルのローカライズ」ダイアログが表示され、Warehouse.xsdスキーマ・ファイルと依存ファイル(ExternalPartnerSupplier.wsdl WSDLファイルを含む)をインポートするように要求されます。

    6. オプション「インポートされたファイルの元のディレクトリ構造を保持」の選択を解除し、「OK」をクリックしてファイルをインポートします。

      「タイプ・チューザ」ダイアログが表示されます。

    7. 「プロジェクトのスキーマ・ファイル」「Warehouse.xsd」の順に開き、「WarehouseProcessRequest」を選択して「OK」をクリックします。

      importxsd2.gifの説明は次にあります。
      図版importxsd2.gifの説明

  3. 「BPELプロセスの作成」ダイアログで、出力用の要素をWarehouse.xsdファイルからインポートします。

    1. 「出力」フィールドで、「出力要素の参照」アイコンをクリックします。

      「タイプ・チューザ」ダイアログが表示されます。

    2. 「プロジェクトのスキーマ・ファイル」「Warehouse.xsd」の順に開き、「WarehouseProcessResponse」を選択して「OK」をクリックします。

  4. 「BPELプロセスの作成」ダイアログで、「OK」をクリックします。

    externalpartbp.gifの説明は次にあります。
    図版externalpartbp.gifの説明

    デザイナの次の3つのタブが表示されます。

    タブ 説明
    WebLogicFusionOrderDemo.jws このタブには、アプリケーション・ワークスペースの内容が表示されます。 「アプリケーション概要」は、このアプリケーションで作成できる全ファイルのホームです。 このタブが表示されない場合は、「アプリケーション」メニューから「概要の表示」を選択します。

    「アプリケーション概要」の概要を見るには、このタブ上で[F1]を押してオンライン・ヘルプを表示します。

    composite.xml このタブでは、SOAコンポジット・エディタにPartnerSupplierCompositeコンポジットが表示されます。

    SOAコンポジット・エディタの概要は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。

    ExternalPartnerSupplier.bpel このタブでは、BPELデザイナにExternalPartnerSupplier BPELプロセスが表示されます。

    BPELデザイナの概要は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。


    アプリケーション・ナビゲータにPartnerSupplierCompositeプロジェクトが表示されることにも注目してください。

  5. 「composite.xml」タブをクリックして、PartnerSupplierCompositeコンポジットを表示します。 左側のスイムレーンに表示されるSOAPサービス・バインディング・コンポーネントexternal_partnersupplier_clientは、SOAコンポジット・アプリケーションへのエントリ・ポイントを通じて外部とのつながりを提供します。

    compositepart.gifの説明は次にあります。
    図版compositepart.gifの説明

  6. 「WebLogicFusionOrderDemo.jws」タブをクリックして、WebLogicFusionOrderDemoアプリケーションの内容を表示します。

    appover.gifの説明は次にあります。
    図版appover.gifの説明

  7. 「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。

3.2.3 タスク3: ExternalPartnerSupplier BPELプロセスの変更

次に、購入金額および注文日と現在の日付をExternalPartnerSupplierサービスへの入力変数として取得するassignアクティビティを作成します。 assignアクティビティは、変数、式および他の要素の間でデータを転送します。

  1. 「ExternalPartnerSupplier」タブをクリックします。

  2. assignアクティビティを作成します。

    1. コンポーネント・パレットから、「Assign」アクティビティを「receiveInput」receiveアクティビティの下にドラッグします。

    2. アイコンの下の名前をダブルクリックして、このアクティビティの名前を変更します。アクティビティ・アイコン自体をダブルクリックしないでください。

    3. 編集フィールドで、名前を「AssignResponse」に変更します。

    4. assignアクティビティをダブルクリックします。

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

  3. ExternalPartnerSupplierサービスに対する入力OrderTotal変数に購入金額を割り当てます。

    1. ドロップダウン・リストから、「コピー操作」を選択します。

      copyoper.gifの説明は次にあります。
      図版copyoper.gifの説明

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

    2. 「From」側で、「タイプ」の選択を「変数」のままにし、「変数」「inputVariable」「payload」「client: WarehouseProcessRequest」の順に開き、「client:orderTotal」を選択します。

    3. 「To」側で、「タイプ」の選択を「変数」のままにし、「変数」「outputVariable」「payload」「client: WarehouseProcessResponse」の順に開き、「client:orderTotal」を選択します。

      fromto.gifの説明は次にあります。
      図版fromto.gifの説明

    4. 「OK」をクリックして「コピー操作の作成」ダイアログを閉じ、「Assign」ダイアログに戻ります。

      「Assign」ダイアログの「コピー操作」タブが更新され、作成した操作が表示されます。

  4. ExternalPartnerSupplierサービスに対する出力deliveryDate変数に現在の日付を割り当てます。

    1. 「Assign」ダイアログのドロップダウン・リストから、「コピー操作」を選択します。

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

    2. 「From」側で、「タイプ」リストから「式」を選択します。

    3. 「XPath式ビルダー」アイコンを選択します。

      requiresapp_assign.gifの説明は次にあります。
      図版requiresapp_assign.gifの説明

      「式ビルダー」が表示されます。

    4. 右下の「関数」セクションで、メニューから「Date Functions」を選択し、メニュー・オプションから「current-date」を選択します。

      datefunct.gifの説明は次にあります。
      図版datefunct.gifの説明

    5. 「式に挿入」をクリックし、次に「OK」をクリックして「コピー操作の作成」ダイアログに戻ります。

    6. 「To」側で、「タイプ」の選択を「変数」のままにし、「変数」「outputVariable」「payload」「client:WarehouseResponse」の順に開き、「client:deliveryDate」を選択します。

    7. 「OK」をクリックして「コピー操作の作成」ダイアログを閉じ、「Assign」ダイアログに戻ります。

      「Assign」ダイアログの「コピー操作」タブが更新され、作成した2つの操作が表示されます。

      copyoperexternal.gifの説明は次にあります。
      図版copyoperexternal.gifの説明

  5. 「Assign」ダイアログで、「OK」をクリックします。

  6. 「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。

  7. 「ExternalPartnerSupplier.bpel」タブで「X」をクリックし、プロセスを閉じます。

  8. 「composite.xml」タブで「X」をクリックしてコンポジットを閉じます。

    PartnerSupplierCompositeコンポジットとExternalPartnerSupplier BPELプロセスが完成しました。

3.2.4 タスク4: PartnerSupplierCompositeコンポジットのデプロイ

PartnerSupplierCompositeコンポジットをデプロイする手順は、次のとおりです。

  1. アプリケーション・ナビゲータで、「PartnerSupplierComposite」を右クリックし、「デプロイ」「PartnerSupplierComposite」→「デプロイ先」→「MyAppServerConnection」の順に選択します。

    deploypart.gifの説明は次にあります。
    図版deploypart.gifの説明

    「SOAデプロイメントと構成ダイアログ」が表示されます。

  2. デフォルト設定を受け入れて「OK」をクリックします。

  3. 「認証リクエスト」ダイアログのプロンプトに対して、「Username」フィールドにweblogicと入力し、「Password」フィールドにパスワードを入力します。

    「SOA - ログ」に、一連の検証に続いて次のように表示されます。

    BUILD SUCCESSFUL
    Total time: nn seconds
    

3.2.5 タスク6: PartnerSupplierCompositeコンポジットのテスト・インスタンスの開始

このタスクでは、Fusion Middleware ControlのWebサービスのテスト・ページからPartnerSupplierCompositeコンポジットのテスト・インスタンスを開始し、assignアクティビティが正常に動作することを確認します。

PartnerSupplierCompositeコンポジットのテスト・インスタンスを開始する手順は、次のとおりです。

  1. Fusion Middleware Controlを起動します。 第2.3項を参照してください。

  2. 「SOAインフラストラクチャ」メニューから「SOA管理」「共有プロパティ」を順に選択します。

  3. 共有プロパティ・ページで、次の値を入力して実行中のインスタンスのデータを収集します。

    要素
    監査レベル 開発
    コンポジット・インスタンスの状態をキャプチャ クリックして有効化

  4. 「適用」をクリックして変更内容を適用します。

  5. 次のオプションを介してWebサービスのテスト・ページにアクセスします。

    「SOAインフラストラクチャ」メニューから ナビゲータの「SOA」フォルダから 「SOAコンポジット」メニューから
    1. 「ホーム」を選択します。
    2. 「デプロイ済コンポジット」タブを選択します。

    3. 「コンポジット」セクションで「PartnerSupplierComposite」を選択します。

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

    1. 「soa-infra」の下で「PartnerSupplierComposite」を選択します。
    2. ページ上部の「テスト」をクリックします。

    「サービスのテスト」「externalpartnersupplier_client_ep」の順に選択します。

    インスタンスを開始するためのWebサービスのテスト・ページが表示されます。 このページには、インスタンス開始用の多数のオプションが用意されています。 少なくとも、「引数を入力」セクションで使用するXMLペイロード・データを指定する必要があります。

    WSDLファイルとエンドポイントURLは、テスト対象として選択したサービスに基づいて自動的に移入されます。 エンドポイントURLはWSDLから導出され、そのサービスを別の場所で起動するように上書きできます。 現在のサービスのポートが表示されます。

  6. 「引数を入力」セクションで、Webサービスの入力引数を入力します。

    1. 「orderItemArray Size」フィールドに1を入力して「配列サイズ -」アイコンをクリックします。

      partnertest1.gifの説明は次にあります。
      図版partnertest1.gifの説明

    2. ツリーで「orderItems」「orderItems」の順に開き、次のフィールドに値を入力します。

      - OrderTotal

      - quantity

      - productId

      partnertest2.gifの説明は次にあります。
      図版partnertest2.gifの説明

  7. 「Webサービスのテスト」をクリックします。

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

    partnertest3.gifの説明は次にあります。
    図版partnertest3.gifの説明

  8. 「メッセージ・フロー・トレースの起動」をクリックしてインスタンスのフロー・トレースにアクセスします。

  9. 「フローのトレース」ウィンドウの「トレース」セクションで、「ExternalPartnerSupplier」インスタンスをクリックします。

  10. インスタンスの「フローのトレース」ウィンドウで「フロー」タブをクリックします。

    partnertest4.gifの説明は次にあります。
    図版partnertest4.gifの説明

  11. 「AssignResponse」アクティビティをクリックし、OrderTotaloutputVariableにコピーするために入力した値を確認します。

    partnertest5.gifの説明は次にあります。
    図版partnertest5.gifの説明

  12. 「X」または「閉じる」をクリックして「アクティビティの詳細」ダイアログを閉じます。

  13. 「フローのトレース」ウィンドウを閉じます。