Oracle Fusion Middleware Oracle SOA Suiteアプリケーションの作成および実行のためのチュートリアル 11g リリース1(11.1.1) B56240-01 |
|
![]() 戻る |
![]() 次へ |
この章では、Fusion Order DemoのWebLogic Fusion Order DemoアプリケーションをOracle JDeveloperで作成する方法について説明します。 また、アプリケーション作成中のPartnerSupplierComposite
の作成方法についても説明します。
この章の指示に従う前に、第1章の手順をすべて実行してください。
この章の内容は次のとおりです。
WebLogic Fusion Order Demoアプリケーションの概要は、第1章「SOAサンプル・アプリケーションの概要」を参照してください。
PartnerSupplierComposite
コンポジットには、BPELプロセスのExternalPartnerSupplier
が含まれています。 OrderBookingComposite
コンポジットのOrderProcessor
BPELプロセスのScope_RetrieveQuotes
スコープでは、このプロセスを使用して外部パートナの倉庫から見積を取得します。 第6章「OrderProcessor BPELプロセスの後半の作成」でScope_RetrieveQuotes
スコープおよびExternalPartnerSupplier
Webサービスを作成する場合は、ExternalPartnerSupplier
BPELプロセスを参照します。
図3-1に、SOAコンポジット・エディタのPartnerSupplierComposite
を示します。
この手順では、WebLogic Fusion Order Demoアプリケーション、PartnerSupplierComposite
プロジェクトおよびExternalPartnerSupplier
BPELプロセスを作成します。次のタスクが含まれています。
WebLogic Fusion Order Demoアプリケーションを作成する手順は、次のとおりです。
「ファイル」→「新規」の順に選択して、新規ギャラリを開きます。
「現在のプロジェクト・テクノロジ」タブをクリックします。
「すべてのテクノロジ」タブまたは「現在のプロジェクト・テクノロジ」タブで、「カテゴリ」ツリーから「一般」、「アプリケーション」の順に選択します。
「項目」リストで、「SOAアプリケーション」を選択します。
「OK」をクリックします。
アプリケーションの名前付けページで、次の値を入力します。
要素 | 値 |
---|---|
アプリケーション名 | WebLogicFusionOrderDemo |
ディレクトリ | ディレクトリ位置directory_path \CompositeServices (例: C:\fod\CompositeServices )を指定します。 このディレクトリはOracle JDeveloperにより作成され、すべてのプロジェクトのコンテナとして機能します。
このチュートリアルでは、指定したアプリケーション・ディレクトリを |
アプリケーション・パッケージの接頭辞 | 値は入力しないでください。 |
「次へ」をクリックします。
プロジェクトの名前付けページで、次の値を入力します。
「次へ」をクリックします。
SOA設定の設定ページで、「コンポジット・テンプレート」セクションから「BPELを使用するコンポジット」を選択します。
「終了」をクリックします。
「BPELプロセスの作成」ダイアログが表示されます。
ここでは、ExternalPartnerSupplier
BPELプロセスの作成を続行します。
「BPELプロセスの作成」ダイアログで、次の値を入力します。
要素 | 値 |
---|---|
名前 | ExternalPartnerSupplier。 |
ネームスペース | http://www.partnersupplier.example.com/ns/warehouse。 |
テンプレート | 非同期BPELプロセス。 |
SOAPサービスとして公開 | このチェック・ボックスを選択すると、インバウンドSOAPサービス・バインディング・コンポーネントに接続されたBPELプロセスが作成されます。 |
「入力」フィールドで、DEMO_DOWNLOAD_HOME
ディレクトリにある完全なスキーマをインポートします。
「入力」フィールドで、「入力要素の参照」アイコンをクリックします。
「タイプ・チューザ」ダイアログが表示されます。
「スキーマ・ファイルのインポート」アイコンをクリックします。
「スキーマ・ファイルのインポート」ダイアログが表示されます。
「URL」フィールドの右側にある「リソースの参照」アイコンをクリックします。
SOAリソース・ブラウザが表示されます。
「ファイルシステム」を選択し、「場所」セクションでDEMO_DOWNLOAD_HOME
/CompositeServices/PartnerSupplierComposite/xsd
内のWarehouse.xsd
を検索し、「OK」をクリックします。
「スキーマのインポート」ダイアログで、「URL」フィールドにWarehouse.xsd
が表示されて「プロジェクトにコピー」オプションが選択されていることを確認し、「OK」をクリックします。
「ファイルのローカライズ」ダイアログが表示され、Warehouse.xsd
スキーマ・ファイルと依存ファイル(ExternalPartnerSupplier.wsdl
WSDLファイルを含む)をインポートするように要求されます。
オプション「インポートされたファイルの元のディレクトリ構造を保持」の選択を解除し、「OK」をクリックしてファイルをインポートします。
「タイプ・チューザ」ダイアログが表示されます。
「プロジェクトのスキーマ・ファイル」→「Warehouse.xsd」の順に開き、「WarehouseProcessRequest」を選択して「OK」をクリックします。
「BPELプロセスの作成」ダイアログで、出力用の要素をWarehouse.xsd
ファイルからインポートします。
「出力」フィールドで、「出力要素の参照」アイコンをクリックします。
「タイプ・チューザ」ダイアログが表示されます。
「プロジェクトのスキーマ・ファイル」→「Warehouse.xsd」の順に開き、「WarehouseProcessResponse」を選択して「OK」をクリックします。
「BPELプロセスの作成」ダイアログで、「OK」をクリックします。
デザイナの次の3つのタブが表示されます。
アプリケーション・ナビゲータにPartnerSupplierComposite
プロジェクトが表示されることにも注目してください。
「composite.xml」タブをクリックして、PartnerSupplierComposite
コンポジットを表示します。 左側のスイムレーンに表示されるSOAPサービス・バインディング・コンポーネントexternal_partnersupplier_client
は、SOAコンポジット・アプリケーションへのエントリ・ポイントを通じて外部とのつながりを提供します。
「WebLogicFusionOrderDemo.jws」タブをクリックして、WebLogicFusionOrderDemo
アプリケーションの内容を表示します。
「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。
次に、購入金額および注文日と現在の日付をExternalPartnerSupplier
サービスへの入力変数として取得するassignアクティビティを作成します。 assignアクティビティは、変数、式および他の要素の間でデータを転送します。
「ExternalPartnerSupplier」タブをクリックします。
assignアクティビティを作成します。
コンポーネント・パレットから、「Assign」アクティビティを「receiveInput」receiveアクティビティの下にドラッグします。
アイコンの下の名前をダブルクリックして、このアクティビティの名前を変更します。アクティビティ・アイコン自体をダブルクリックしないでください。
編集フィールドで、名前を「AssignResponse
」に変更します。
assignアクティビティをダブルクリックします。
「Assign」ダイアログが表示されます。
ExternalPartnerSupplier
サービスに対する入力OrderTotal
変数に購入金額を割り当てます。
ドロップダウン・リストから、「コピー操作」を選択します。
「コピー操作の作成」ダイアログが表示されます。
「From」側で、「タイプ」の選択を「変数」のままにし、「変数」→「inputVariable」→「payload」→「client: WarehouseProcessRequest」の順に開き、「client:orderTotal」を選択します。
「To」側で、「タイプ」の選択を「変数」のままにし、「変数」→「outputVariable」→「payload」→「client: WarehouseProcessResponse」の順に開き、「client:orderTotal」を選択します。
「OK」をクリックして「コピー操作の作成」ダイアログを閉じ、「Assign」ダイアログに戻ります。
「Assign」ダイアログの「コピー操作」タブが更新され、作成した操作が表示されます。
ExternalPartnerSupplier
サービスに対する出力deliveryDate
変数に現在の日付を割り当てます。
「Assign」ダイアログのドロップダウン・リストから、「コピー操作」を選択します。
「コピー操作の作成」ダイアログが表示されます。
「From」側で、「タイプ」リストから「式」を選択します。
「XPath式ビルダー」アイコンを選択します。
「式ビルダー」が表示されます。
右下の「関数」セクションで、メニューから「Date Functions」を選択し、メニュー・オプションから「current-date」を選択します。
「式に挿入」をクリックし、次に「OK」をクリックして「コピー操作の作成」ダイアログに戻ります。
「To」側で、「タイプ」の選択を「変数」のままにし、「変数」→「outputVariable」→「payload」→「client:WarehouseResponse」の順に開き、「client:deliveryDate」を選択します。
「OK」をクリックして「コピー操作の作成」ダイアログを閉じ、「Assign」ダイアログに戻ります。
「Assign」ダイアログの「コピー操作」タブが更新され、作成した2つの操作が表示されます。
「Assign」ダイアログで、「OK」をクリックします。
「ファイル」メイン・メニューから「すべて保存」を選択して、作業内容を保存します。
「ExternalPartnerSupplier.bpel」タブで「X」をクリックし、プロセスを閉じます。
「composite.xml」タブで「X」をクリックしてコンポジットを閉じます。
PartnerSupplierComposite
コンポジットとExternalPartnerSupplier
BPELプロセスが完成しました。
PartnerSupplierComposite
コンポジットをデプロイする手順は、次のとおりです。
アプリケーション・ナビゲータで、「PartnerSupplierComposite」を右クリックし、「デプロイ」→「PartnerSupplierComposite」→「デプロイ先」→「MyAppServerConnection」の順に選択します。
「SOAデプロイメントと構成ダイアログ」が表示されます。
デフォルト設定を受け入れて「OK」をクリックします。
「認証リクエスト」ダイアログのプロンプトに対して、「Username
」フィールドにweblogic
と入力し、「Password
」フィールドにパスワードを入力します。
「SOA - ログ」に、一連の検証に続いて次のように表示されます。
BUILD SUCCESSFUL
Total time: nn seconds
このタスクでは、Fusion Middleware ControlのWebサービスのテスト・ページからPartnerSupplierComposite
コンポジットのテスト・インスタンスを開始し、assignアクティビティが正常に動作することを確認します。
PartnerSupplierComposite
コンポジットのテスト・インスタンスを開始する手順は、次のとおりです。
Fusion Middleware Controlを起動します。 第2.3項を参照してください。
「SOAインフラストラクチャ」メニューから「SOA管理」と「共有プロパティ」を順に選択します。
共有プロパティ・ページで、次の値を入力して実行中のインスタンスのデータを収集します。
要素 | 値 |
---|---|
監査レベル | 開発 |
コンポジット・インスタンスの状態をキャプチャ | クリックして有効化 |
「適用」をクリックして変更内容を適用します。
次のオプションを介してWebサービスのテスト・ページにアクセスします。
「SOAインフラストラクチャ」メニューから | ナビゲータの「SOA」フォルダから | 「SOAコンポジット」メニューから |
---|---|---|
|
|
「サービスのテスト」→「externalpartnersupplier_client_ep」の順に選択します。 |
インスタンスを開始するためのWebサービスのテスト・ページが表示されます。 このページには、インスタンス開始用の多数のオプションが用意されています。 少なくとも、「引数を入力」セクションで使用するXMLペイロード・データを指定する必要があります。
WSDLファイルとエンドポイントURLは、テスト対象として選択したサービスに基づいて自動的に移入されます。 エンドポイントURLはWSDLから導出され、そのサービスを別の場所で起動するように上書きできます。 現在のサービスのポートが表示されます。
「引数を入力」セクションで、Webサービスの入力引数を入力します。
「orderItemArray Size」フィールドに1
を入力して「配列サイズ -」アイコンをクリックします。
ツリーで「orderItems」→「orderItems」の順に開き、次のフィールドに値を入力します。
- OrderTotal
- quantity
- productId
「Webサービスのテスト」をクリックします。
テストが完了すると、結果が「レスポンス」タブに表示されます。
「メッセージ・フロー・トレースの起動」をクリックしてインスタンスのフロー・トレースにアクセスします。
「フローのトレース」ウィンドウの「トレース」セクションで、「ExternalPartnerSupplier」インスタンスをクリックします。
インスタンスの「フローのトレース」ウィンドウで「フロー」タブをクリックします。
「AssignResponse」アクティビティをクリックし、OrderTotal
をoutputVariable
にコピーするために入力した値を確認します。
「X」または「閉じる」をクリックして「アクティビティの詳細」ダイアログを閉じます。
「フローのトレース」ウィンドウを閉じます。