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

前へ
前へ
 
次へ
次へ
 

4 FulfillmentESBプロジェクトの作成

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

4.1 FulfillmentESBプロジェクトの概要

注文が承認されると、SOAOrderBookingプロジェクトでは、FulfillmentESBプロジェクトが起動し、注文の出荷方法が決定されます。 現在可能な出荷方法には、USPSとFedexの2通りがあります。 FulfillmentESBプロジェクトでは、$500未満の注文はUSPSに、$500以上の注文はFedexに送信されます。

USPSの場合、注文はファイル・アダプタを介して送信されます。 注文情報はファイルに書き込まれます。

Fedexの場合、注文はデータベース・アダプタを介して送信されます。 注文情報はデータベースに書き込まれます。

FulfillmentESBプロジェクトでは、注文がJMSアダプタにも送信されます。 このチュートリアルでは、注文はJMSキューに送信されるのみです。 このキューの注文データのコンシューマは存在しません。 ここでは、JMSアダプタを使用する場合に備えて、メッセージをJMSアダプタに送信する方法を示すことのみを目的にしています。

FulfillmentESBプロジェクトはESBプロジェクトです。 完了したプロジェクトは、JDeveloperで次のように表示されます。

図4-1 FulfillmentESBプロジェクト

図4-1の説明は次にあります。
「図4-1 FulfillmentESBプロジェクト」の説明

FulfillmentESBプロジェクトは、次の要素で構成されています。

4.2 FulfillmentESB用の新規プロジェクトの作成

最初に、JDeveloperで新規ESBプロジェクトを作成します。手順は次のとおりです。

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

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

    図4-2 新規ギャラリ: FulfillmentESBプロジェクト用のESBプロジェクトの選択

    図4-2の説明は次にあります。
    「図4-2 新規ギャラリ: FulfillmentESBプロジェクト用のESBプロジェクトの選択」の説明

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

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

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

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

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

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

図4-4 FulfillmentESBファイルが表示されたアプリケーション・ナビゲータ

図4-4の説明は次にあります。
「図4-4 FulfillmentESBファイルが表示されたアプリケーション・ナビゲータ」の説明

4.3 Fulfillmentという名前のシステムの作成

ESBプロジェクトの場合、すべてのESBアクティビティは1つのシステムに属します。 JDeveloperでは、アクティビティがDefaultSystemというシステムにデフォルトで配置されます。

ESBプロジェクトの保守を容易にするために、新規システムを作成して、プロジェクト内のESBアクティビティがそのシステムに属すように設定できます。 実行時は、ESB Consoleでプロジェクトを管理するときに、システム内のアクティビティに対してプロパティを構成できます。

システムを作成しない場合、ESB Consoleでは、すべてのアクティビティがDefaultSystemの下に表示されます。

FulfillmentESBプロジェクトの場合は、Fulfillmentというシステムを作成し、FulfillmentESBプロジェクト内のすべてのアクティビティがこのシステムに属すように設定します。 第9章で説明されているOrderBookingESBプロジェクトにも独自のシステムがあります。

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

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

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

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

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

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

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

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

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

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

4.4 OrderFulfillmentルーティング・サービスの作成

OrderFulfillmentルーティング・サービスは、リクエストを次の2つの場所にルーティングします。

OrderFulfillmentルーティング・サービスを作成する手順は、次のとおりです。

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

    • OrderBookingPO.xsd

    zipファイルでは、このファイルはFulfillmentESBディレクトリにあります。

    このファイルは、OrderFulfillmentルーティング・サービスに必要です。

  2. JDeveloperにコンポーネント・パレットが表示されていない場合は、「表示」→「コンポーネント・パレット」の順に選択して表示します。

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

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

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

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

    • システム/グループ: 「Fulfillment」に設定します。 「Fulfillment」に設定されていない場合は、懐中電灯アイコンをクリックして「ESBサービス・グループ・ブラウザ」ダイアログを表示します。 このダイアログで「Fulfillment」を選択し、「OK」をクリックします。

      図4-7 ESBサービス・グループ・ブラウザ

      図4-7の説明は次にあります。
      「図4-7 ESBサービス・グループ・ブラウザ」の説明

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

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

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

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

      「タイプの選択」ダイアログで、「OK」をクリックします。

    • スキーマ要素: 「PurchaseOrder」を選択します。

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

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

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

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

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

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

JDeveloperで、このルーティング・サービス・インスタンスが次のように表示されていることを確認します。

図4-10 JDeveloperでのOrderFulfillmentルーティング・サービス

図4-10の説明は次にあります。
「図4-10 JDeveloperでのOrderFulfillmentルーティング・サービス」の説明

JDeveloperによって、FulfillmentESBディレクトリに次のファイルが作成されています。

4.5 Shipmentルーティング・サービスの作成

Shipmentルーティング・サービスは、リクエストをFedexShipmentデータベース・アダプタまたはUSPSshipmentファイル・アダプタのいずれかにルーティングします。 このShipmentルーティング・サービスに、$500以上の注文はFedexShipmentにルーティングし、$500未満の注文はUSPSshipmentにルーティングするフィルタ・ルールを定義します。

Shipmentルーティング・サービスを作成する手順は、次のとおりです。

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

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

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

    • システム/グループ: 「Fulfillment」に設定されていることを確認します。 設定されていない場合は、懐中電灯アイコンをクリックして変更します。

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

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

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

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

      「タイプの選択」ダイアログで、「OK」をクリックします。

    • スキーマ要素: 「PurchaseOrder」を選択します。

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

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

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

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

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

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

JDeveloperで、2つのルーティング・サービスが次のように表示されていることを確認します。

図4-13 OrderFulfillmentおよびShipmentルーティング・サービスが表示されたJDeveloper

図4-13の説明は次にあります。
「図4-13 OrderFulfillmentおよびShipmentルーティング・サービスが表示されたJDeveloper」の説明

JDeveloperによって、FulfillmentESBディレクトリに次のファイルが作成されています。

4.6 USPSShipmentアダプタ(ファイル・アダプタ)の作成

USPSShipmentサービスは、Shipmentルーティング・サービスのターゲットの1つです。 Shipmentルーティング・サービスからUSPSShipmentサービスに注文が送信されると、USPSShipmentサービスは、その注文情報をC:¥tempディレクトリのフラット・ファイルに書き込みます。

USPSShipmentサービスを作成する手順は、次のとおりです。

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

    • USPSShipment.xsd

    zipファイルでは、このファイルはFulfillmentESBディレクトリにあります。

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

  3. コンポーネント・パレットから「ファイル・アダプタ」アイコンをドラッグして、FulfillmentESBページの任意の場所にドロップします。

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

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

    • システム/グループ: 「Fulfillment」に設定されていることを確認します。 設定されていない場合は、懐中電灯アイコンをクリックして変更します。

    • WSDLファイル: 「アダプタ・サービスのWSDLの構成」アイコン(左側にあるアイコン)をクリックします。アダプタ構成ウィザードが起動します。

      このウィザードのようこそページで、「次へ」をクリックします。

      ステップ1、サービス名:

      図4-14 アダプタ構成ウィザード、ステップ1、サービス名

      図4-14の説明は次にあります。
      「図4-14 アダプタ構成ウィザード、ステップ1、サービス名」の説明

      • サービス名: 「USPSShipment」と入力します。

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

      ステップ2、操作:

      図4-15 アダプタ構成ウィザード、ステップ2、操作

      図4-15の説明は次にあります。
      「図4-15 アダプタ構成ウィザード、ステップ2、操作」の説明

      • 操作タイプ: 「Write File」を選択します。

      • 操作名: 「Write」と表示されていることを確認します。

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

      ステップ3、ファイル構成:

      図4-16 アダプタ構成ウィザード、ステップ3、ファイル構成

      図4-16の説明は次にあります。
      「図4-16 アダプタ構成ウィザード、ステップ3、ファイル構成」の説明

      • 発信ファイルのディレクトリ(物理パス): アダプタによるファイルの書込先ディレクトリを入力します。 たとえば、「C:¥temp」と入力できます。


        注意:

        このディレクトリは、JDeveloperを実行しているマシンではなく、Oracle Application Serverを実行しているマシン上にあります。

      • ファイル・ネーミング規則(po_%SEQ%.txt): ファイル名の設定方法を指定します。 「shipment_%SEQ%.txt」と入力します。 %SEQ%は、ファイル名が順に番号付けされることを示しています。

      • メッセージ数の到達: このフィールドは1のままでかまいません。これは、各注文が別々のファイルに書き込まれることを意味します。

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

      ステップ4、メッセージ:

      図4-17 アダプタ構成ウィザード、ステップ4、メッセージ

      図4-17の説明は次にあります。
      「図4-17 アダプタ構成ウィザード、ステップ4、メッセージ」の説明

      • ネイティブ・フォーマット変換は不要(スキーマを不透明(Opaque)にする): このオプションは選択しないでください。

      • スキーマの場所: 「参照」をクリックします。 「タイプの選択」で、「プロジェクトのスキーマ・ファイル」「USPSShipment.xsd」「shipment」の順に選択します。

        図4-18 USPSShipmentファイル・アダプタに関する「タイプの選択」

        図4-18の説明は次にあります。
        「図4-18 USPSShipmentファイル・アダプタに関する「タイプの選択」」の説明

        「タイプの選択」で、「OK」をクリックします。

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

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

      終了ページで、「終了」をクリックします。

      ウィザードによって、FulfillmentESBディレクトリに次のファイルが作成されます。

      • USPSShipment.wsdl: このファイルには、ウィザードで指定した情報が格納されます。

      • fileAdapterOutboundHeader.wsdl: このファイルには、ファイルに書き込むための汎用情報が格納されます。

      「ファイル・アダプタ・サービスの作成」ダイアログが次のように表示されていることを確認します。 JDeveloperによって、「ポート・タイプ」には「Write_ptt」が自動的に表示されます。

      図4-19 USPSShipmentファイル・アダプタ・サービスに関する「ファイル・アダプタ・サービスの作成」ダイアログ

      図4-19の説明は次にあります。
      「図4-19 USPSShipmentファイル・アダプタ・サービスに関する「ファイル・アダプタ・サービスの作成」ダイアログ」の説明

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

JDeveloperで、2つのルーティング・サービスと1つのファイル・アダプタ・サービスが次のように表示されていることを確認します。

図4-20 OrderFulfillmentおよびShipmentルーティング・サービスとUSPSShipmentファイル・アダプタ・サービスが表示されたJDeveloper

図4-20の説明は次にあります。
「図4-20 OrderFulfillmentおよびShipmentルーティング・サービスとUSPSShipmentファイル・アダプタ・サービスが表示されたJDeveloper」の説明

4.7 FedexShipmentアダプタ(データベース・アダプタ)の作成

FedexShipmentサービスはデータベース・アダプタです。 Shipmentルーティング・サービスからFedexShipmentアダプタに注文がルーティングされると、FedexShipmentアダプタは、その注文情報をSOADEMOスキーマ内のFEDEXSHIPMENT表に書き込みます。

FedexShipmentアダプタを作成する手順は、次のとおりです。

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

    • FedexShipment_table.xsd

    zipファイルでは、このファイルはFulfillmentESBディレクトリにあります。

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

  3. コンポーネント・パレットから「データベース・アダプタ」アイコンをドラッグして、FulfillmentESBページの任意の場所にドロップします。

  4. 「データベース・アダプタ・サービスの作成」ダイアログで、次の操作を実行します。

  5. 「データベース・アダプタ・サービスの作成」ダイアログで、「OK」をクリックします。

JDeveloperで、2つのルーティング・サービス、1つのファイル・アダプタ・サービス、および1つのデータベース・アダプタ・サービスが表示されていることを確認します。

図4-28 OrderFulfillmentおよびShipmentルーティング・サービス、USPSShipmentファイル・アダプタ・サービス、およびFedexShipmentデータベース・アダプタ・サービスが表示されたJDeveloper

図4-28の説明は次にあります。
「図4-28 OrderFulfillmentおよびShipmentルーティング・サービス、USPSShipmentファイル・アダプタ・サービス、およびFedexShipmentデータベース・アダプタ・サービスが表示されたJDeveloper」の説明

4.8 FulfillmentBatchアダプタ(JMSアダプタ)の作成

OrderFulfillmentルーティング・サービスは、すべての注文をShipmentルーティング・サービスとFulfillmentBatchアダプタにルーティングします。 FulfillmentBatchアダプタは、注文情報をJMSサーバーに送信します。

FulfillmentBatch JMSアダプタを作成する手順は、次のとおりです。

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

  2. コンポーネント・パレットから「JMSアダプタ」アイコンをドラッグして、FulfillmentESBページの任意の場所にドロップします。

  3. 「JMSアダプタ・サービスの作成」ダイアログで、次の操作を実行します。

  4. 「JMSアダプタ・サービスの作成」ダイアログで、「OK」をクリックします。

JDeveloperで、2つのルーティング・サービス、1つのファイル・アダプタ・サービス、1つのデータベース・アダプタ・サービス、および1つのJMSアダプタ・サービスが表示されていることを確認します。

図4-38 FulfillmentESBプロジェクトの全サービスが表示されたJDeveloper

図4-38の説明は次にあります。
「図4-38 FulfillmentESBプロジェクトの全サービスが表示されたJDeveloper」の説明

4.9 ルーティング・ルールの作成

注文情報をあるサービスから別のサービスにルーティングするには、ルーティング・ルールを設定します。 ルーティング・ルールを使用すると、フィルタおよびトランスフォーメーションを定義できます。 フィルタでは、サービスが注文を処理する条件を定義でき、トランスフォーメーションでは、ターゲット・サービスがデータを適切に処理できるようにデータをマップできます。

FulfillmentESBプロジェクトの場合は、次のサービス間のルーティング・ルールを作成します。

4.9.1 OrderFulfillmentとShipmentの間

OrderFulfillmentルーティング・サービスは、注文をShipmentとFulfillmentBatchの2つの場所にルーティングします。

OrderFulfillmentとShipmentの間のルーティング・ルールを作成する手順は、次のとおりです。

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

    図4-39 Fulfillment_OrderFulfillmentルーティング・サービスの定義

    図4-39の説明は次にあります。
    「図4-39 Fulfillment_OrderFulfillmentルーティング・サービスの定義」の説明

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

  3. 緑色の「+」アイコンをクリックしてルーティング・ルートを追加します。 「ターゲット・サービス操作の参照」ダイアログが表示されます。

    緑色の「+」アイコンを表示するには、右にスクロールする必要がある場合があります。

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

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

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

  5. 「ターゲット・サービス操作の参照」ダイアログで、「OK」をクリックします。

    ルーティング・ルールの領域は、次のように表示されます。

    図4-41 OrderFulfillmentからShipmentへのルーティング・ルール

    図4-41の説明は次にあります。
    「図4-41 OrderFulfillmentからShipmentへのルーティング・ルール」の説明

  6. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

このルーティング・ルールには、フィルタおよびトランスフォーメーションはありません。 OrderFulfillmentルーティング・サービスは、すべての注文をShipmentルーティング・サービスにルーティングします。 データが変換されることはありません。

JDeveloperで「FulfillmentESB.esb」タブをクリックします。 OrderFulfillmentからShipmentへの矢印が表示されていることを確認します。

図4-42 OrderFulfillmentからShipmentへのルーティングが表示されたJDeveloper

図4-42の説明は次にあります。
「図4-42 OrderFulfillmentからShipmentへのルーティングが表示されたJDeveloper」の説明

4.9.2 OrderFulfillmentとJMSアダプタの間

OrderFulfillmentルーティング・サービスは、注文をShipmentとFulfillmentBatch(JMSアダプタ・サービス)の2つの場所にルーティングします。

OrderFulfillmentからFulfillmentBatchへのルーティング・ルールを作成する手順は、次のとおりです。

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

  2. 「ルーティング・ルール」セクションで、「+」をクリックしてセクションを開きます。 前述の項(第4.9.1項「OrderFulfillmentとShipmentの間」)で作成したルールが表示されていることを確認します。

    図4-43 OrderFulfillmentルーティング・サービスの定義

    図4-43の説明は次にあります。
    「図4-43 OrderFulfillmentルーティング・サービスの定義」の説明

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

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

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

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

  5. 「ターゲット・サービス操作の参照」ダイアログで、「OK」をクリックします。

    ルーティング・ルールの領域には、次の2つのルールが表示されます。

    図4-45 OrderFulfillmentルーティング・サービスのルーティング・ルール

    図4-45の説明は次にあります。
    「図4-45 OrderFulfillmentルーティング・サービスのルーティング・ルール」の説明

  6. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

JDeveloperで「FulfillmentESB.esb」タブをクリックします。 OrderFulfillmentからShipmentへの矢印と、OrderFulfillmentからFulfillmentBatchへの矢印の2つの矢印が表示されていることを確認します。

図4-46 OrderFulfillmentからShipmentおよびJMSアダプタへのルーティングが表示されたJDeveloper

図4-46の説明は次にあります。
「図4-46 OrderFulfillmentからShipmentおよびJMSアダプタへのルーティングが表示されたJDeveloper」の説明

4.9.3 ShipmentとUSPSShipmentの間

Shipmentルーティング・サービスは、$500未満の注文はUSPSShipmentファイル・アダプタに、$500以上の注文はFedexShipmentデータベース・アダプタにルーティングします。

この項では、USPSShipmentのルーティング・ルールを示します。 このルーティング・ルールでは、フィルタを使用して$500ルールが設定され、トランスフォーメーションを使用して、USPSShipmentに渡される情報が制御されます。 USPSShipmentはファイル・アダプタ・サービスであるため、情報はC:¥tempディレクトリ内のファイルに書き込まれます。

ShipmentからUSPSShipmentへのルーティング・ルールを作成する手順は、次のとおりです。

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

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

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

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

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

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

  5. 「ターゲット・サービス操作の参照」ダイアログで、「OK」をクリックします。

    ルーティング・ルールの領域は、次のように表示されます。

    図4-48 ShipmentからUSPSShipmentへのルーティング・ルール

    図4-48の説明は次にあります。
    「図4-48 ShipmentからUSPSShipmentへのルーティング・ルール」の説明

  6. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

    JDeveloperで「FulfillmentESB.esb」タブをクリックします。 ShipmentからUSPSShipmentへの矢印が表示されていることを確認します。

    図4-49 ShipmentからUSPSShipmentへのルーティングが表示されたJDeveloper

    図4-49の説明は次にあります。
    「図4-49 ShipmentからUSPSShipmentへのルーティングが表示されたJDeveloper」の説明

  7. $500未満の注文のみがUSPSShipmentに送信されるようにフィルタを作成します。

    1. 上部のアイコン・セクションにある「Shipment」をダブルクリックして、Fulfillment_Shipment.esbsvcファイル用のページを表示します。

    2. Fulfillment_Shipment.esbsvcファイル用のページで、ルーティング・ルール領域のフィルタ・アイコンをクリックします。 「式ビルダー」ダイアログが表示されます。

    3. 「式ビルダー」ダイアログの「WSDLメッセージ」ボックスで、「Purchase Order_request」「PurchaseOrder」「inp1:PurchaseOrder」「inp1:OrderInfo」「inp1:OrderPrice」の順に選択します。

      「コンテンツのプレビュー」ボックスに、パス「/inp1:PurchaseOrder/inp1:OrderInfo/inp1:OrderPrice」が表示されます。

    4. 「式に挿入」をクリックします。 パスが、ダイアログの上部の「式」ボックスに表示されます。

    5. 「式」ボックスで、パスに「< 500」を追加します。これで、この「式」ボックスは「/inp1:PurchaseOrder/inp1:OrderInfo/inp1:OrderPrice < 500」となります。

      図4-50 「式ビルダー」ダイアログ

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

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

    7. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

  8. USPSShipmentファイル・アダプタによって適切な情報が適切なフィールドに取得されるように、トランスフォーメーションを作成します。

    1. 「ルーティング・ルール」領域のトランスフォーメーション・アイコンをクリックします。

    2. 「リクエスト・トランスフォーメーション・マップ」ダイアログで、「新規マッパー・ファイルの作成」を選択し、ファイル名として「PurchaseOrder_To_USPSshipment.xsl」と入力します。

      図4-51 「リクエスト・トランスフォーメーション・マップ」ダイアログ

      図4-51の説明は次にあります。
      「図4-51 「リクエスト・トランスフォーメーション・マップ」ダイアログ」の説明

    3. 「OK」をクリックします。 データ・マッパーが起動します。

      図4-52 データ・マッパー

      図4-52の説明は次にあります。
      「図4-52 データ・マッパー」の説明

    4. ソース(左)側で、「inp1:ShipTo」「inp1:Name」、および「inp1:ShipTo」「inp1:Address」の順に開きます。

    5. 「inp1:First」をクリックして「imp1:fname」までドラッグします。

    6. 「inp1:Last」をクリックして「imp1:lname」までドラッグします。

      First/fnameとLast/lnameの各ペアに対して1つずつ、2つの線が表示されていることを確認します。

      図4-53 First/fnameおよびLast/lnameに対するトランスフォーメーションが表示されたデータ・マッパー

      図4-53の説明は次にあります。
      「図4-53 First/fnameおよびLast/lnameに対するトランスフォーメーションが表示されたデータ・マッパー」の説明

    7. 次のペアを接続するように、各項目をクリックしてドラッグします。

      • inp1:Streetからimp1:address

      • inp1:Cityからimp1:city

      • inp1:Stateからimp1:state

      • inp1:Zipからimp1:zipcode

      • inp1:Countryからimp1:country

    8. コンポーネント・パレットのドロップダウンから、「Conversion Functions」を選択します。 次のステップではstring関数が必要となります。

    9. ステップgでリストした各ペアに対して、コンポーネント・パレットからstring関数をドラッグして、それぞれの線の上にドロップします。 ダイアグラムが次のように表示されることを確認します。

      図4-54 トランスフォーメーション時のstring関数の使用が表示されたデータ・マッパー

      図4-54の説明は次にあります。
      「図4-54 トランスフォーメーション時のstring関数の使用が表示されたデータ・マッパー」の説明

  9. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

  10. JDeveloperで「Fulfillment_Shipment.esbsvc」タブをクリックします。 「ルーティング・ルール」領域のトランスフォーメーション・セクションに、トランスフォーメーション・ファイルの名前が表示されていることを確認します。

    図4-55 フィルタ情報およびトランスフォーメーション・ファイル名が表示されたFulfillment_Shipment.esbsvc

    図4-55の説明は次にあります。
    「図4-55 フィルタ情報およびトランスフォーメーション・ファイル名が表示されたFulfillment_Shipment.esbsvc」の説明

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

  12. 「FulfillmentESB.esb」タブをクリックすると、Shipmentルーティング・サービスのフィルタ・アイコンとトランスフォーメーション・アイコンが、OrderFulfillmentルーティング・サービスのアイコンとは異なり、グレー表示されていないことを確認できます。

4.9.4 ShipmentとFedexShipmentの間

Shipmentルーティング・サービスは、$500未満の注文はUSPSShipmentファイル・アダプタに、$500以上の注文はFedexShipmentデータベース・アダプタにルーティングします。

この項では、FedexShipmentのルーティング・ルールを示します。 このルーティング・ルールでは、フィルタを使用して$500ルールが設定され、トランスフォーメーションを使用して、FedexShipmentに渡される情報が制御されます。 FedexShipmentはデータベース・アダプタ・サービスであるため、情報はSOADEMOスキーマ内のFEDEXSHIPMENT表に書き込まれます。

ShipmentからFedexShipmentへのルーティング・ルールを作成する手順は、次のとおりです。

  1. 「Shipment」をダブルクリックするか、Fulfillment_Shipment.esbsvcのタブ(開いている場合)をクリックします。 Fulfillment_Shipment.esbsvcファイル用のページが表示されます。

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

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

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

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

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

  5. 「ターゲット・サービス操作の参照」ダイアログで、「OK」をクリックします。

    ルーティング・ルールの領域は、次のように表示されます。

    図4-57 ShipmentからFedexShipmentへのルーティング・ルール

    図4-57の説明は次にあります。
    「図4-57 ShipmentからFedexShipmentへのルーティング・ルール」の説明

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

    JDeveloperで「FulfillmentESB.esb」タブをクリックします。 ShipmentからUSPSShipmentへの矢印と、ShipmentからFedexShipmentへの矢印の2つの矢印が表示されていることを確認します。

    図4-58 ShipmentからUSPSShipmentおよびFedexShipmentへのルーティングが表示されたJDeveloper

    図4-58の説明は次にあります。
    「図4-58 ShipmentからUSPSShipmentおよびFedexShipmentへのルーティングが表示されたJDeveloper」の説明

  7. $500以上の注文をFedexShipmentに送信するフィルタを作成します。

    1. 「Shipment」をダブルクリックして、Fulfillment_Shipment.esbsvcファイル用のページを表示します。

    2. Fulfillment_Shipment.esbsvcファイル用のページで、ルーティング・ルール領域のFedexShipmentルールに対するフィルタ・アイコンをクリックします。 「式ビルダー」ダイアログが表示されます。

    3. 「式ビルダー」ダイアログの「WSDLメッセージ」ボックスで、「Purchase Order_request」「PurchaseOrder」「inp1:PurchaseOrder」「inp1:OrderInfo」「inp1:OrderPrice」の順に選択します。

      「コンテンツのプレビュー」ボックスに、パス「/inp1:PurchaseOrder/inp1:OrderInfo/inp1:OrderPrice」が表示されます。

    4. 「式に挿入」をクリックします。 パスが、ダイアログの上部の「式」ボックスに表示されます。

    5. 「式」ボックスで、パスに「>= 500」を追加します。これで、この「式」ボックスは「/inp1:PurchaseOrder/inp1:OrderInfo/inp1:OrderPrice >= 500」となります。

      図4-59 「式ビルダー」ダイアログ

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

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

    7. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

  8. FedexShipmentデータベース・アダプタによって適切な情報が適切なフィールドに取得されるように、トランスフォーメーションを作成します。

    1. 「ルーティング・ルール」領域のトランスフォーメーション・アイコンをクリックします。

    2. 「リクエスト・トランスフォーメーション・マップ」ダイアログで、「新規マッパー・ファイルの作成」を選択し、ファイル名として「PurchaseOrder_To_FedexshipmentCollection.xsl」と入力します。

      図4-60 「リクエスト・トランスフォーメーション・マップ」ダイアログ

      図4-60の説明は次にあります。
      「図4-60 「リクエスト・トランスフォーメーション・マップ」ダイアログ」の説明

    3. 「OK」をクリックします。 データ・マッパーが起動します。

    4. ソース(左)側で、「inp1:ShipTo」「inp1:Name」、および「inp1:ShipTo」「inp1:Address」の順に開きます。

    5. ターゲット(右)側で、「top:FedexshipmentCollection」「top:Fedexshipment」の順に開きます。

    6. 次のペアを接続するように、各項目をクリックしてドラッグします。

      • inp1:IDからtop:orderid

      • inp1:Firstからtop:fname

      • inp1:Lastからtop:lname

      • inp1:Streetからtop:street

      • inp1:Cityからtop:city

      • inp1:Stateからtop:state

      • inp1:Zipからtop:zipcode

      図4-61 ShipmentからFedexShipmentへのトランスフォーメーションが表示されたデータ・マッパー

      図4-61の説明は次にあります。
      「図4-61 ShipmentからFedexShipmentへのトランスフォーメーションが表示されたデータ・マッパー」の説明

  9. 「ファイル」→「保存」の順に選択して、PurchaseOrder_To_FedexshipmentCollection.xslを保存します。

  10. JDeveloperで「Fulfillment_Shipment.esbsvc」タブをクリックします。 「ルーティング・ルール」領域のトランスフォーメーション・セクションに、トランスフォーメーション・ファイルの名前が表示されていることを確認します。

    図4-62 フィルタ情報およびトランスフォーメーション・ファイル名が表示されたFulfillment_Shipment.esbsvc

    図4-62の説明は次にあります。
    「図4-62 フィルタ情報およびトランスフォーメーション・ファイル名が表示されたFulfillment_Shipment.esbsvc」の説明

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

  12. 「FulfillmentESB.esb」タブをクリックすると、Shipmentルーティング・サービスのアイコン内にアイコンの行が2つあり、これらのアイコンがグレー表示されていないことを確認できます。

4.10 FulfillmentESBプロジェクト内の全ファイルの保存

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

4.11 FulfillmentESBプロジェクトの登録

アプリケーション・ナビゲータで、「FulfillmentESB」プロジェクトを右クリックし、「ESBに登録」「SoademoIntegServer」の順に選択します。SoademoIntegServerは、統合サーバーへの接続名です。 登録が完了すると、確認ダイアログが表示されます。

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

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

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

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

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

図4-63 Fulfillmentシステム内のサービスが表示されたESB Console

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