ヘッダーをスキップ
Oracle SOA Suiteチュートリアル
10g (10.1.3.1.0)
B31831-01
  目次へ
目次

前へ
前へ
 
次へ
次へ
 

9 OrderBookingESBプロジェクトの作成

この章では、OrderBookingESBプロジェクトの作成方法について説明します。 項目は次のとおりです。

9.1 OrderBookingESBプロジェクトの概要

OrderBookingESBプロジェクトは、SOA Order Bookingアプリケーションの起点です。 OrderBookingESBプロジェクトは、顧客が「Place Order」ボタンをクリックすると、SOADemo-Clientアプリケーションによって起動されます。

このOrderBookingESBプロジェクトは、SOA Order Bookingアプリケーションのメイン・フローを定義するBPELプロジェクトであるSOAOrderBookingプロジェクトを起動します。

OrderBookingESBプロジェクトはESBプロジェクトです。 OrderBookingESBプロジェクトは、JDeveloperで次のように表示されます。

図9-1 JDeveloperでのOrderBookingESBプロジェクト

図9-1の説明は次にあります。
「図9-1 JDeveloperでのOrderBookingESBプロジェクト」の説明

OrderBookingESBプロジェクトは、次のサービスで構成されています。

9.2 OrderBookingESB用の新規プロジェクトの作成

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

  2. 新規ギャラリの「カテゴリ」セクションで、「General」を開き、「Projects」を選択します。 「項目」セクションで、「ESBプロジェクト」を選択します。

    図9-2 OrderBookingESBプロジェクト用の新規ギャラリ

    図9-2の説明は次にあります。
    「図9-2 OrderBookingESBプロジェクト用の新規ギャラリ」の説明

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

  3. 「ESBプロジェクトの作成」ダイアログで、「プロジェクト名」フィールドに「OrderBookingESB」と入力します。 他のフィールドについては、デフォルトをそのまま使用します。

    図9-3 OrderBookingESBに関する「ESBプロジェクトの作成」ダイアログ

    図9-3の説明は次にあります。
    「図9-3 OrderBookingESBに関する「ESBプロジェクトの作成」ダイアログ」の説明

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

JDeveloperには、OrderBookingESB.esbファイル用の空白ページが表示されます。 アプリケーション・ナビゲータでは、このファイルは、「OrderBookingESB」「リソース」の下に表示されます。

9.3 OrderBookingという名前のシステムの作成

FulfillmentESBプロジェクトにFulfillmentシステムを作成した(第4.3項「Fulfillmentという名前のシステムの作成」を参照)のと同様に、OrderBookingESBプロジェクトについても、OrderBookingという名前のシステムを作成します。 その後、OrderBookingESBプロジェクトのすべてのアクティビティがこのシステムに属すように設定できます。

システムを作成しない場合、JDeveloperでは、これらのアクティビティはDefaultSystemというシステムに配置されます。

OrderBookingという名前のシステムを作成する手順は、次のとおりです。

  1. 空白のOrderBookingESB.esbページで、ページの上部にある「システム/グループの作成」アイコンをクリックします。

    図9-4 OrderBookingESB.esbページの上部にある「システム/グループの作成」アイコン

    図9-4の説明は次にあります。
    「図9-4 OrderBookingESB.esbページの上部にある「システム/グループの作成」アイコン」の説明

  2. 「ESBシステムまたはサービス・グループの作成」ダイアログで、次の操作を実行します。

    • システム: このオプションを選択します。

    • 名前: 「OrderBooking」と入力します。

    • 説明: 空白のままにするか、簡単な説明を入力します。

    図9-5 OrderBookingシステムに関する「ESBシステムまたはサービス・グループの作成」ダイアログ

    図9-5の説明は次にあります。
    「図9-5 OrderBookingシステムに関する「ESBシステムまたはサービス・グループの作成」ダイアログ」の説明

  3. 「OK」をクリックします。 アプリケーション・ナビゲータで、「OrderBooking.esbsys」ファイルが、「OrderBookingESB」「リソース」の下に表示されていることを確認します。

9.4 OrderBookingServiceルーティング・サービスの作成

  1. 次のファイルを、soademo_101310_prod.zipファイルからOrderBookingESBディレクトリにコピーします。

    • OrderBookingRequest.xsd

    • OrderBookingPO.xsd

    soademo_101310_prod.zipファイルでは、これらのxsdファイルはOrderBookingESBディレクトリにあります。

  2. 「表示」→「コンポーネント・パレット」の順に選択して、コンポーネント・パレットを表示します。 コンポーネント・パレットのドロップダウンから、「ESBサービス」を選択します。

  3. コンポーネント・パレットから「ルーティング・サービス」アイコンをドラッグして、OrderBookingESB.esbページの任意の場所にドロップします。

  4. 「ルーティング・サービスの作成」ダイアログで、次の操作を実行します。

    • 名前: 「OrderBookingService」と入力します。

    • システム/グループ: 「OrderBooking」に設定します。

    • スキーマからWSDLを生成: このオプションを選択します。

    • スキーマの場所: 「参照」をクリックして、「タイプの選択」ダイアログを表示します。 このダイアログで、「プロジェクトのスキーマ・ファイル」「OrderBookingRequest.xsd」「SOAOrderBookingProcessRequest」の順に選択します。

      図9-6 OrderBookingルーティング・サービスに関する「タイプの選択」ダイアログ

      図9-6の説明は次にあります。
      「図9-6 OrderBookingルーティング・サービスに関する「タイプの選択」ダイアログ」の説明

      「タイプの選択」ダイアログで、「OK」をクリックします。 「スキーマの場所」「OrderBookingRequest.xsd」に設定されていることを確認します。

    • スキーマ要素: 「SOAOrderBookingProcessRequest」に設定されていることを確認します。

    • 操作名: 「initiate」と入力します。

    • ネームスペース: 「http://www.globalcompany.com/ns/OrderBooking」と入力します。

    図9-7 OrderBookingServiceに関する「ルーティング・サービスの作成」ダイアログ

    図9-7の説明は次にあります。
    「図9-7 OrderBookingServiceに関する「ルーティング・サービスの作成」ダイアログ」の説明

  5. 「ルーティング・サービスの作成」ダイアログで、「OK」をクリックします。

OrderBookingESB.esbページは、次のように表示されます。

図9-8 OrderBookingServiceルーティング・サービスが表示されたOrderBookingESB.esbページ

図9-8の説明は次にあります。
「図9-8 OrderBookingServiceルーティング・サービスが表示されたOrderBookingESB.esbページ」の説明

JDeveloperによって、OrderBookingESBディレクトリに、WSDLファイルのOrderBooking_OrderBookingService.wsdlも作成されます。

9.5 SOAOrderBookingプロセス(OrderBookingProcess外部サービス)の起動

このサービスは、SOAOrderBookingプロセスを起動するサービスです。

  1. コンポーネント・パレットのドロップダウンから、「ESBサービス」を選択します。

  2. コンポーネント・パレットから「SOAPサービス」アイコンをドラッグして、「OrderBookingService」ルーティング・サービスの右側にドロップします。

  3. 「SOAP呼出しサービスを作成します。」ダイアログで、次の操作を実行します。

    • 名前: 「OrderBookingProcess」と入力します。

    • システム/グループ: 「OrderBooking」に設定します。

    • WSDLファイル: 「サービス・エクスプローラ」(懐中電灯)アイコンをクリックし、「サービス・エクスプローラ」ダイアログで、「サービス・エクスプローラ」「BPELサービス」→「soaIntegrationServer」→「プロセス」「デフォルト」「SOAOrderBooking」の順に選択します。

      soaIntegrationServerは、使用している統合サーバー接続の名前を表します。

      図9-9 「サービス・エクスプローラ」ダイアログ

      図9-9の説明は次にあります。
      「図9-9 「サービス・エクスプローラ」ダイアログ」の説明

      「サービス・エクスプローラ」で、「OK」をクリックします。

    • ポート・タイプ: 「SOAOrderBooking」を選択します。

    「SOAP呼出しサービスを作成します。」ダイアログが次のように表示されていることを確認します。

    図9-10 OrderBookingProcessに関する「SOAP呼出しサービスを作成します。」ダイアログ

    図9-10の説明は次にあります。
    「図9-10 OrderBookingProcessに関する「SOAP呼出しサービスを作成します。」ダイアログ」の説明

  4. 「SOAP呼出しサービスを作成します。」ダイアログで、「OK」をクリックします。

OrderBookingESB.esbページに、次の2つのアクティビティが表示されていることを確認します。

図9-11 OrderBookingServiceルーティング・サービスとOrderBookingProcess外部サービスが表示されたOrderBookingESB.esbページ

図9-11の説明は次にあります。
「図9-11 OrderBookingServiceルーティング・サービスとOrderBookingProcess外部サービスが表示されたOrderBookingESB.esbページ」の説明

9.6 OrderBookingServiceに対するルーティング・ルールの設定

リクエストがOrderBookingServiceからOrderBookingProcessに移動できるように、ルーティング・ルールを設定します。

  1. 上部のアイコン・セクションにある「OrderBookingService」をダブルクリックします。 OrderBooking_OrderBookingService.esbsvcファイルのページが表示されます。

  2. 「ルーティング・ルール」セクションで、「+」をクリックしてセクションを開きます。

  3. 「ルーティング・ルール」セクションで、緑色の「+」アイコンをクリックします。 「+」アイコンを表示するには、右にスクロールする必要がある場合があります。

    図9-12 ルーティング・ルール

    図9-12の説明は次にあります。
    「図9-12 ルーティング・ルール」の説明

  4. 「ターゲット・サービス操作の参照」ダイアログで、「ESB」「プロジェクトのサービス」「OrderBooking」「OrderBookingProcess」「initiate」の順に選択します。

    図9-13 「ターゲット・サービス操作の参照」ダイアログ

    図9-13の説明は次にあります。
    「図9-13 「ターゲット・サービス操作の参照」ダイアログ」の説明

    「ターゲット・サービス操作の参照」ダイアログで、「OK」をクリックします。 「ルーティング・ルール」セクションに戻り、このセクションの最後の列に「OrderBookingProcess::initiate」が表示されていることを確認します。

    図9-14 OrderBookingServiceからOrderBookingProcessへのリンクが表示されたルーティング・ルール

    図9-14の説明は次にあります。
    「図9-14 OrderBookingServiceからOrderBookingProcessへのリンクが表示されたルーティング・ルール」の説明

  5. 「ルーティング・ルール」セクションで、フィルタ・アイコンをクリックします。

  6. 「式ビルダー」の「WSDLメッセージ」セクションで、「SOAOrderBookingProcessRequest_request」「SOAOrderBookingProcessRequest」「tns:SOAOrderBookingProcessRequest」の順に選択します。

    「式に挿入」をクリックします。 「式」ボックスに、次の式が表示されていることを確認します。

    /tns:SOAOrderBookingProcessRequest

    図9-15 「式ビルダー」ダイアログ

    図9-15の説明は次にあります。
    「図9-15 「式ビルダー」ダイアログ」の説明

    「式ビルダー」で、「OK」をクリックします。

    これで、ルーティング・ルールには、注文情報をOrderBookingProcessアクティビティに単に渡すフィルタが含まれます。 最初の列にフィルタ情報が含まれた「ルーティング・ルール」セクションが次のように表示されます。

    図9-16 フィルタが表示されたルーティング・ルール

    図9-16の説明は次にあります。
    「図9-16 フィルタが表示されたルーティング・ルール」の説明

  7. 「ファイル」→「保存」の順に選択して、OrderBooking_OrderBookingService.esbsvcを保存します。

  8. 「OrderBookingESB.esb」タブをクリックします。

    OrderBookingESB.esbページに、2つのアクティビティを接続する線が表示されていることを確認します。

    図9-17 最終的なOrderBookingESB.esbページ

    図9-17の説明は次にあります。
    「図9-17 最終的なOrderBookingESB.esbページ」の説明

9.7 OrderBookingESBプロジェクト内の全ファイルの保存

アプリケーション・ナビゲータでOrderBookingESBのファイルを参照し、すべてのファイルが保存されていることを確認します。 イタリック体で表示されているファイルがある場合は、そのファイルを選択して保存します。

9.8 OrderBookingESBプロジェクトの登録

アプリケーション・ナビゲータで、「OrderBookingESB」プロジェクトを右クリックし、「ESBに登録」「SoademoIntegServer」の順に選択します。SoademoIntegServerは、統合サーバーへの接続名です。

OrderBookingESBプロジェクトで作成したサービスは、ESB Consoleに表示できます。 Oracle ESB Consoleを表示するには、ブラウザで次に示すOracle ESB ConsoleのURLを入力します。

http://host:port/esb/esb/EsbConsole.html

hostは、Oracle Application Serverを実行しているマシンの名前を、portは、Oracle HTTP ServerまたはOC4JがリスニングしているHTTPポートを指定します。

oc4jadminユーザーでログインします。

サービスは、第9.3項「OrderBookingという名前のシステムの作成」で作成したシステムの名前である「OrderBooking」の下にグループ化されます。

図9-18 OrderBookingシステム内のサービスが表示されたOracle ESB Console

図9-18の説明は次にあります。
「図9-18 OrderBookingシステム内のサービスが表示されたOracle ESB Console」の説明