ナビゲーションをスキップ

チュートリアル

  前 次 前/次ボタンと目次ボタンとの区切り線 目次  

チュートリアル 2. 融資申し込みの変換

データ トランスフォーメーションとは、あるフォーマットから別のフォーマットにデータをマッピングすることです。この節では、BEA AquaLogic Service Bus を使用し、プロキシ サービスのコンフィグレーションで設定した条件に応じてメッセージをルーティングおよび変換する方法を説明します。

この節の内容は以下のとおりです。

 


前提条件

チュートリアル 1. 融資申し込みのルーティング」を完了していることです。

 


チュートリアルの目的

チュートリアルの目的は、AquaLogic Service Bus Console のグラフィカル環境を使用して開発された、ルーティングとトランスフォーメーションのシナリオを作成およびテストする手順を示すことです。

チュートリアル 1. 融資申し込みのルーティング」で学習した内容を基に、AquaLogic Service Bus Console を使用して次のことを行います。

 


シナリオの定義

主要な住宅金融会社が、BEA AquaLogic Service Bus を使用して、第二の融資会社に売却しやすい融資申し込みを識別し、再ルーティングします。25,000,000.00 を超える元本を要求する融資申し込みは、第二の融資会社への売却の候補です。この条件を満たす融資申し込みが検出されると、Web サービスへのコールアウトによってその顧客の信用格付け情報が取得されて融資申し込みに追加され、その融資申し込みが第二の住宅金融会社の Web サービスに転送されて処理されます。

25,000,000.00 以下の元本を要求する融資申し込みは、別のビジネス サービスにルーティングされて処理されます。

対象のビジネス サービスは、その融資申し込みを承認するか拒否するかを示す応答を返します。

次の図に、エンタープライズ環境で BEA AquaLogic Service Bus がエンタープライズ サービスとビジネス サービスとのメッセージングを中継する仕組みを示します。

図 5-1 AquaLogic Service Bus を介した融資申し込み処理 Web サービス


 

AquaLogic Service Bus の実行時処理の概要

主要な住宅金融会社が融資申し込みを受け取ります。この融資申し込みは AquaLogic Service Bus プロキシ サービス LoanGateway2 を使ってルーティングされ、申し込みを処理する対象ビジネス サービスが選択されます。カスタム コンテキスト変数 ($rating) の値に AA (String 型) を割り当てると、デフォルトの要求パイプラインで信用格付けのルックアップがシミュレーションされます。さらに、ルックアップから顧客 ID (整数) が返され、別のカスタム コンテキスト変数 $custID に割り当てられます。

次に、第二の融資会社のサービスのインタフェース要件を満たすために、メッセージ本体が変換され、顧客名と社会保障番号の要素が削除されて、<rating>$rating</rating><custID>$custID</custID> に置き換えられます。変換されたメッセージ ($body) は、大口の融資申し込みを処理するビジネス サービスにルーティングされます。サービスから以下の応答メッセージが返されます。

"Congratulations, your loan is approved and your loan ID is nnnnn.In future communications about your loan please reference this Loan ID for faster service".

必要なリソース

プロジェクト フォルダ MortgageBroker と前のチュートリアルで作成したディレクトリ構造を使用して、プロジェクトのアーティファクトを保持します。このシナリオに必要なリソースを次の表に示します。

表 5-1 「融資申し込みの変換」チュートリアルのリソース

CreditRatingService、LoanSale

WSDL リソース

NormalLoan、LoanSaleProcessor、CreditRatingService

AquaLogic Service Bus で使用される外部ビジネス サービス

LoanGateway2

AquaLogic Service Bus のプロキシ サービス


 

 


このチュートリアルの手順

このチュートリアルでは、「チュートリアル 1. 融資申し込みのルーティング」で学習した内容を基に、追加 WSDL リソースのインポート、新しいビジネス サービスおよびプロキシ サービスの登録、プロキシ サービスのルーティング動作のコンフィグレーションを行います。ルーティング動作のコンフィグレーションには次の操作が含まれます。

以下の手順に従ってプロキシ サービスおよび関連するリソースを AquaLogic Service Bus で設計およびコンフィグレーションし、このユーザ事例シナリオを解決します。

手順 1 : 環境の準備

このチュートリアル用に作成したドメインで AquaLogic Service Bus が動作していること、および「チュートリアル 1. 融資申し込みのルーティング」の説明どおりに手順が完了していることを確認します。

手順 2 : セッションの作成とプロジェクトの設定

このチュートリアルでは、プロジェクト フォルダ MortgageBroker と「チュートリアル 1. 融資申し込みのルーティング」で作成したディレクトリ構造を使用して、プロジェクトのアーティファクトを保持します。

  1. Change Center で [作成] をクリックして新しいセッションを作成します。
  2. AquaLogic Service Bus Console のナビゲーション パネルで [プロジェクト エクスプローラ] を選択します。
  3. ナビゲーション パネルに [プロジェクト エクスプローラ] ペインが開き、コンソールにプロジェクト ページが表示されます。

  4. [プロジェクト エクスプローラ] で [MortgageBroker] プロジェクト ツリーを展開して、プロジェクトのアーティファクトが格納されている以下のサブフォルダを表示します。

手順 3 : リソースの作成

この手順では、WSDL リソースをインポートし、このチュートリアルに必要なプロキシ サービスとビジネス サービスを作成します。

WSDL リソースの作成

WSDL はビジネス サービスおよびプロキシ サービスを作成するための基礎であるため、このシナリオに必要なその他のリソースを作成する前に WSDL リソース (LoanSale および CreditRatingService) を作成する必要があります。WSDL のプロパティをウィザードに従ってコンフィグレーションします。

適切な WSDL をインポートして WSDL リソースを作成するには、「WSDL をインポートするには」の手順を実行します。ただし、リソース名と WSDL については次の表に従います。

表 5-2 WSDL コンフィグレーションの設定

リソース名

WSDL の場所

LoanSale

BEA_HOME\weblogic90\servicebus\examples\src\examples\webservices\jws_basic\large\LargeLoanPurchasingService.wsdl

CreditRatingService

BEA_HOME\weblogic90\servicebus\examples\src\examples\webservices\jws_basic\credit\CreditLoanApprovalService.wsdl


 

この手順を完了すると、MortgageBroker/WSDL フォルダにこのチュートリアルおよび「チュートリアル 1. 融資申し込みのルーティング」で作成した以下の WSDL リソースが格納されます。

プロキシ サービスの作成

この手順では、プロキシ サービスを作成します。プロキシ サービスを使用して融資申し込みを適切なビジネス サービスにルーティングします。要求融資額が 25 000 000.00 を超える場合は、ルックアップ サービスを呼び出して申し込み者の信用格付けを取得します (融資額には単位が指定されていませんが、ドルなどの任意の通貨を指定できます)。

新しいプロキシ サービスを作成するには、「プロキシ サービスを作成するには」の手順を実行します。ただし、使用するプロキシ サービス名とエンドポント URI は次の表に従います。

表 5-3 プロキシ サービスのコンフィグレーション設定

プロキシ サービス名

LoanGateway2

エンドポイント URI

/loan/gateway2


 

プロキシ サービスを登録する前にコンフィグレーションの設定を確認します。

この手順を完了すると、MortgageBroker/ProxyService フォルダにこのチュートリアルおよび「チュートリアル 1. 融資申し込みのルーティング」で作成した以下のプロキシ サービスが格納されます。

ビジネス サービスの作成

このシナリオでは、ビジネス要件に応じて 1 つにメッセージが複数のビジネス サービスにルーティングされるようにプロキシ サービスをコンフィグレーションします。

チュートリアル 1. 融資申し込みのルーティング」で標準融資サービスを作成しました。このシナリオ用に LoanSaleProcessor ビジネス サービスと CreditRatingService ビジネス サービスを作成するには、「NormalLoan ビジネス サービスを作成するには」の手順を実行します。ただし、ここでサービスのコンフィグレーションに使用する名前、サービスの種類、エンドポイント URI は、次の表に従います。

表 5-4 LoanSaleProcessor ビジネス サービスのコンフィグレーション設定

ビジネス サービス名

LoanSaleProcessor

サービスの種類

[WSDL ポート]

[WSDL ブラウザ] で [LoanSale] WSDL を選択

[helloPort] ポートを選択

エンドポイント URI

デフォルト値を使用


 

表 5-5 CreditRatingService ビジネス サービスのコンフィグレーション設定

ビジネス サービス名

CreditRatingService

サービスの種類

[WSDL ポート]

[WSDL ブラウザ] で [creditRatingService] WSDL を選択

[helloPort] ポートを選択

エンドポイント URI

デフォルト値を使用


 

この手順を完了すると、MortgageBroker/BusinessService フォルダにこのチュートリアルおよび「チュートリアル 1. 融資申し込みのルーティング」で作成した以下のプロキシ サービスが格納されます。

まとめ

手順 1 : 環境の準備」から「手順 3 : リソースの作成」までを完了すると、このシナリオに必要なリソースの作成が完了します。プロキシ サービスには基本コンフィグレーションを設定しました。以降の手順 (「手順 4 : LoanGateway2 プロキシ サービスのルーティングのコンフィグレーション」から「手順 6 : LoanGateway2 プロキシ サービスのルーティング テーブル応答アクションのコンフィグレーション」) では、融資申し込みメッセージのルーティング、トランスフォーメーション、および WS-Callout の動作を追加してプロキシ サービスのコンフィグレーションを完了する方法を説明します。

手順 4 : LoanGateway2 プロキシ サービスのルーティングのコンフィグレーション

このプロキシ サービスを、要求パイプラインと応答パイプラインを使用するメッセージ フローとして実装します。この手順のタスクは以下のとおりです。

ルーティング テーブルの作成

  1. AquaLogic Service Bus Console のナビゲーション パネルで [リソース ブラウザ] を選択します。
  2. ナビゲーション パネルに [リソース ブラウザ] ペインが開き、コンソールに [プロキシ サービスの概要] プロジェクト ページが表示されます。

    注意 : リソースの編集はセッション内で行う必要があります。セッションを開始していない場合は、Change Center で [作成] をクリックしてセッションを開始し、プロキシ サービスのコンフィグレーションやメッセージ フローの編集ができるようにします。

  3. LoanGateway2 プロキシ サービスの [オプション] 列にある [メッセージ フローの編集] アイコン をクリックします。
  4. プロキシ サービス LoanGateway2 の[メッセージ フローの編集] ページが表示されます。このページには、デフォルトのメッセージ フロー コンフィグレーションが表示されます。デフォルト コンフィグレーションは開始ノードとエコー ノードで構成されます。これはメッセージ フローの最小コンフィグレーションです。

  5. エコー ノードを左クリックします。[ルート ノードに変換] を選択します。
  6. コンフィグレーション ダイアログで、ノードのデフォルト名が RouteNode1 であることを確認し、[保存] をクリックします。
  7. ルート ノードが RouteNode1 という名前で保存されます。

  8. [RouteNode1] を左クリックし、ポップアップ メニューから [編集ルート ノード] を選択します。
  9. [ステージ コンフィグレーションの編集] ページが表示されます。このページには、[アクションの追加] という 1 つのリンクがあります。

  10. [アクションの追加] を左クリックして [ルーティング テーブル] を選択します。
  11. [ステージ コンフィグレーションの編集] ページにルーティング テーブルのコンフィグレーション ページが表示されます。

    着信メッセージの amount 要素の評価に基づいてビジネス サービスにメッセージをルーティングするようにルーティング テーブルをコンフィグレーションします。そのためには XQuery 式を作成する必要があります。XQuery 式の作成には XQuery 式エディタを使用します。

ルーティング式のコンフィグレーション

  1. [ルーティング テーブル] の [<式>] リンクを選択します。[XQuery 式の編集] ページが表示されます。
  2. XQuery 式のデフォルトである [テキスト] をそのまま使用します。
  3. [メッセージ コンテキスト変数] ペインにあるシステム コンテキスト変数のドロップダウン リストから [body] を選択します。
  4. 着信メッセージの body 要素が [メッセージ コンテキスト変数] ペインにグラフィカル表示されます。

    1. [processLoanApp] 要素の横の [+] をクリックして、要素を展開します。
    2. [+] をクリックして、[loanRequest] 要素を展開します。融資要求ドキュメントの構造が表示されます。実行時に、プロキシ サービスではメッセージの Amount 要素の値に基づいてルーティング先が選択されるため、この要素を選択して式に使用します。
    3. 式に使用する Amount 要素に関連付けられている円形アイコン を選択し、[式の編集] テキスト ボックスにドラッグ アンド ドロップします。
    4. 注意 : ドラッグ アンド ドロップ機能を使用できるのは Internet Explorer (IE) ブラウザのみです。IE 以外のブラウザを使用する場合は、手順 a手順 b を実行します。[メッセージ コンテキスト変数] パレットの [XPath] テキスト ボックスに式が表示されます。Amount ノードを [式の編集] テキスト ボックスにドラッグ アンド ドロップするのではなく、[XPath] テキスト ボックスから式をコピーして [式の編集] テキスト ボックスに貼り付けます。

  5. [検証] をクリックして、XQuery を検証します。
  6. 式を送信する前に検証することをお勧めします。式の構文が検証されます。式にエラーがある場合は、[検証] ボタンのすぐ上に表示されます。この例では、式は有効です。

  7. [送信] をクリックします。
  8. [ステージ コンフィグレーションの編集] ページのルーティング テーブルに戻ります。<式> は、メッセージの Amount 要素の値を返す式に置き換えられています。

  9. 条件の演算子フィールドのリストから [>] を選択します。
  10. 関連付けられているテキスト フィールドに数字 25000000 とカンマを付けずに入力します。
  11. これで、ルーティング テーブルにルーティング動作を決める式が含まれました。Amount 要素の値が 25000000 より大きい場合、ルーティング テーブルのコンフィグレーションに従ってメッセージがルーティングされます。

  12. 金額が 25000000 より大きい場合のメッセージのルーティング先サービスを定義するために、[サービス] リンクを選択します。[サービス ブラウザ] が表示されます。
    1. [LoanSaleProcessor] ビジネス サービスを選択します。
    2. [送信] をクリックします。
  13. [ルーティング テーブル] の [操作] メニューで、[processLoanApp] 操作を選択します。これは、融資申し込みの要求融資額が 2500000 より大きい場合に、LoanSaleProcessor ビジネス サービスで実行時に呼び出される操作です。

これで、LoanSaleProcessor ビジネス サービスへの融資申し込みのルーティング ケースが定義されました。

要求融資額が 25000000 を超える融資申し込みが検出されると、Web サービス コールアウト (WS-Callout) によってその顧客の信用格付けが取得されます。取得された信用格付け情報が融資申し込みに追加され、その融資申し込みが第二の住宅金融会社のビジネス サービスに転送されて処理されます。次の節 (手順 5 : LoanGateway2 プロキシ サービスのルーティング テーブル要求アクションのコンフィグレーション) では、対象サービスに適したメッセージの WS-Callout および変換を行うようにプロキシ サービスをコンフィグレーションする方法を説明します。

手順 5 : LoanGateway2 プロキシ サービスのルーティング テーブル要求アクションのコンフィグレーション

ルーティング テーブル要求アクションをコンフィグレーションするには、次の手順を実行します。

WS-Callout の入力パラメータのコンフィグレーション

WS-Callout により融資申し込みが CreditRatingService ビジネス サービスに送信され、申し込み者の信用格付けが返されます。WS-Callout アクションをコンフィグレーションする前に、次の手順に従って WS-Callout アクションの入力パラメータを割り当てる必要があります。

  1. 手順 4 : LoanGateway2 プロキシ サービスのルーティングのコンフィグレーション」で作成したルーティング テーブルの [ステージ コンフィグレーションの編集] ページが AquaLogic Service Bus Console で開いていることを確認します。
  2. [ルーティング テーブル] の [要求アクション] セクションで [アクションの追加] をクリックし、[割り当てる] を選択します。
  3. [割り当てる] アクションが [ルーティング テーブル] の [要求アクション] パイプラインに追加されます。

  4. [<式>] リンクを選択します。[XQuery 式の編集] ページが表示されます。
    1. デフォルトである [テキスト] をそのまま使用し、[式の編集] テキスト ボックスに以下の式を入力します。
    2. $body/exam:processLoanApp/loanRequest
    3. [検証] をクリックして XQuery を検証し、[送信]をクリックします。[ステージ コンフィグレーションの編集] ページのルーティング テーブルに戻ります。<式> は、WS-Callout サービスに送信するメッセージ コンテンツを返す式に置き換えられています。
  5. [変数] テキスト ボックスに inputparam と入力します。
  6. この手順で、XQuery 式 ($body/exam:processLoanApp/loanRequest) で返される値を inputparam 変数に割り当てる作業は完了です。

WS-Callout アクションの追加

この節では、融資申し込みを CreditRatingService ビジネス サービスに送信し、申し込み者の信用格付けを取得する WS-Callout アクションをコンフィグレーションする方法を説明します。

  1. [ルーティング テーブル] の [要求アクション] セクションで をクリックし、 [アクションの追加Web サービス コールアウト] を選択します。
  2. [Web サービス コールアウト] アクションが [ルーティング テーブル] の [要求アクション] パイプラインに追加されます。

  3. [Web サービス コールアウト] の [サービス] リンクをクリックします。[サービス ブラウザ] が表示されます。
    1. [サービス ブラウザ] で [CreditRatingService] を選択します。
    2. [送信] をクリックします。
  4. [操作] メニューから [processLoanApp] を選択します。Web サービス コールアウトの要求パラメータおよび応答パラメータをコンフィグレーションできるフィールドが表示されます。
    1. [Web サービス コールアウト] の [要求パラメータ] セクションで、loanRequest パラメータを inputparam (前の節で定義したメッセージ コンテキスト変数) に設定します。
    2. [Web サービス コールアウト] の [応答パラメータ] セクションで、return パラメータ名を creditRating に設定します。

    この手順で、WS-Callout を CreditRatingService Web サービスにコンフィグレーションする作業は完了です。Web サービスから返された信用格付けが creditRating コンテキスト変数に割り当てられます。

メッセージのトランスフォーメーションのコンフィグレーション

この節では、loanSaleProcessor サービスのパブリック コントラクト (インタフェース要件) を満たすようにメッセージのトランスフォーメーションをコンフィグレーションします。ここで説明する内容は次のとおりです。

ネームスペースを変更するには

  1. [Web サービス コールアウト] アイコン を左クリックし、 [アクションの追加名前変更する] を選択します。
  2. [名前変更する] アクションのコンフィグレーション フィールドが [要求アクション] ペインに追加されます。

  3. [名前変更する] という文の [<XPath>] を選択します。式エディタが表示されます。
    1. [式の編集] テキスト ボックスに以下の XPath 式を入力します。
    2. .//java:*

      この式では、プレフィックス java が付いたすべてのネームスペースが識別されます。

    3. [送信] をクリックします。[ステージ コンフィグレーションの編集] ページに戻ります。
  4. [変数] テキスト ボックスに body と入力します。
  5. body コンテキスト変数にメッセージ本文が保持されます。以上の手順を完了すると、body コンテキスト変数でプレフィックスが java であるすべてのネームスペースを検出する XPath 式の作成は完了です。次の手順では、XPath 式で検出されたネームスペースを置換するネームスペースを指定します。

  6. [ネームスペース] ラジオ ボタンを選択して、メッセージ内で置換するネームスペースの完全修飾名を入力します。新しいネームスペースは java:large.client です。
  7. 注意 : この例では、置換前のネームスペースは java:normal.client です。

メッセージに新しい要素を挿入するには

  1. [名前変更する] アイコン を左クリックし、 [アクションの追加挿入する] を選択します。
  2. [挿入する] アクションのコンフィグレーション フィールドが [要求アクション] ペインに追加されます。

  3. [挿入する] アクションの [<式>] を選択します。[XQuery 式の編集] ページが表示されます。このページで新しいネームスペースを追加します。
  4. [ネームスペース定義] パレットで、[ユーザのネームスペース] 領域に移動します。[ユーザのネームスペース] の [+] をクリックします。[新しいネームスペース宣言] ダイアログが表示されます。
    1. [Prefix] フィールドに lg と入力します。
    2. [Namespace] テキスト フィールドに java:large.client と入力します。
    3. [OK] をクリックします。
    4. [XQuery 式の編集] ページに戻り、新しいネームスペースが [ネームスペース定義] パレットの [ユーザのネームスペース] 領域に表示されます。

  5. テキスト ボックスに次の式を入力して、新しい要素の作成方法を指定します。
  6. <lg:CreditRating>{$creditRating}</lg:CreditRating>

    実行時に、信用格付けサービス (「WS-Callout アクションの追加」で WS-Callout アクションをコンフィグレーションしたサービス) により $creditRating 変数に信用格付けの値が割り当てられます。

  7. [検証] をクリックしてから、[送信] をクリックします。
  8. 注意 : 送信する前に、式を検証することをお勧めします。

  9. [挿入する] 式のコンフィグレーション フィールドで、ドロップダウン リストから [の後ろに] を選択します。
  10. [<XPath>] リンクを選択します。[XPath 式の編集] ページが表示されます。
    1. [メッセージ コンテキスト変数] リストから [body] を選択します。
    2. 要素リストを展開し、[Notes] 要素を [式の編集] テキスト ボックスにドラッグ アンド ドロップします。
    3. 注意 : ドラッグ アンド ドロップ機能を使用できるのは Internet Explorer (IE) ブラウザのみです。IE 以外のブラウザを使用する場合、[メッセージ コンテキスト変数] パレットで [Notes] ノードをクリックすると、式が [XPath] テキスト ボックスに表示されます。[Notes] ノードをドラッグ アンド ドロップするのではなく、[XPath] テキスト ボックスから式をコピーして [式の編集] テキスト ボックスに貼り付けます。

    次の XPath 式がテキスト ボックスに書き込まれます。

    ./exam:processLoanApp/loanRequest/java:Notes 
  11. この文のネームスペース javalg に変更します。
  12. ./exam:processLoanApp/loanRequest/lg:Notes 
  13. [検証] をクリックしてから [送信] をクリックして、[ステージ コンフィグレーションの編集] ページに戻ります。
  14. [変数] テキスト フィールド (式の最初のフィールド) に body と入力します。これは、実行時に新しい <CreditRating> 要素を挿入するコンテキスト変数です。
  15. これで、発信メッセージのコンフィグレーションは完了です。信用格付け要素をメッセージに追加し、ネームスペースを変更して、メッセージが対象サービスのパブリック コントラクト (インタフェース) に準拠するようにしました。

    次の手順では、LoanGateway2 プロキシ サービスの応答アクションをコンフィグレーションする方法を説明します。

手順 6 : LoanGateway2 プロキシ サービスのルーティング テーブル応答アクションのコンフィグレーション

この手順では、プロキシ サービスからクライアントに返されるメッセージがクライアントのパブリック コントラクト (WSDL) に準拠するようにルーティング テーブルの応答アクションをコンフィグレーションする方法を説明します。ここで説明する内容は次のとおりです。

要素を削除するには

  1. 前の手順で作成およびコンフィグレーションしたルーティング テーブルの [ステージ コンフィグレーションの編集] ページが AquaLogic Service Bus Console で開いていることを確認します。
  2. [ルーティング テーブル] の [応答アクション] セクションで、[アクションの追加削除する] をクリックします。
  3. [削除する] アクションのコンフィグレーション フィールドが、[ルーティング テーブル] の [応答アクション] に追加されます。

  4. [変数の <XPath>] オプションを選択し、[<XPath>] をクリックします。[XPath 式の編集] ページが表示されます。
    1. 式エディタで次の式を入力します。
    2. ./exam:processLoanAppResponse/return/lg:CreditRating 

      processLoanAppResponse は、呼び出された WSDL 操作に文字列 Response を追加したものを表し、return は WSDL パート名を表します。

    3. [検証] をクリックしてから、[送信] をクリックします。[ステージ コンフィグレーションの編集] ページに戻ります。
  5. [削除する] アクションの [変数] テキスト フィールドに body と入力します。
  6. [削除する] アクションのコンフィグレーションは次のようになります。

    変数 body./exam:processLoanAppResponse/return/lg:CreditRating

    以上の手順で、メッセージを応答パイプラインで処理するときに応答メッセージから信用格付け要素を削除するように指定する作業を完了しました。

名前変更アクションを追加するには

この節では、ネームスペースをクライアントで使用するネームスペースの名前 (java:normal.client) に変更する方法を説明します (loanSaleProcessor ビジネス サービスへの要求メッセージで、ネームスペースを対象サービスで使用するネームスペースに変更しました。「ネームスペースを変更するには」を参照してください)。

  1. [削除する] アイコン を左クリックし、 [アクションの追加名前変更する] をクリックします。
  2. [名前変更する] アクションのコンフィグレーション フィールドが [応答アクション] ペインに追加されます。

  3. [名前変更する] という文の [<XPath>] を選択します。式エディタが表示されます。
    1. [式の編集] テキスト ボックスに以下の XPath 式を入力します。
    2. .//lg:*

      この XPath 式では、プレフィックス lg: が付いたすべてのネームスペースが検出されます。

    3. [送信] をクリックします。[ステージ コンフィグレーションの編集] ページに戻ります。
  4. [名前変更する] アクションの [変数] テキスト フィールドに body と入力します。
  5. [ネームスペース] オプションを選択し、ネームスペースのテキスト フィールドに java:normal.client と入力します。
  6. 以上の手順で、応答メッセージでプレフィックス lg: が付いたすべてのネームスペースを java:normal.client に変更するように指定する作業を完了しました。

LoanGateway2 プロキシ サービスのルーティング テーブルのコンフィグレーションの最後の手順では、デフォルト ルーティング ケース (else 条件) をケース式に追加します。

手順 7 : ルーティングのデフォルト ケースの追加

この手順では、LoanGateway2 プロキシ サービスのルーティング テーブルにデフォルト ルーティング ケースをコンフィグレーションする方法を説明します。実行時に、ルーティング テーブルに設定された条件が 1 つも満たされない場合、このデフォルト ケースに従ってメッセージがルーティングされます。

  1. ルーティング テーブルの [ケース] アイコン を左クリックし、 [デフォルト ケースの挿入] を選択します。
  2. デフォルト ケースが [ステージ コンフィグレーションの編集] ページのルーティング テーブルの下に追加されます。

  3. [<サービス>] を選択して [サービス ブラウザ] を表示します。
    1. [NormalLoan] ビジネス サービスを選択します。
    2. [送信] をクリックします。
  4. デフォルト ケースのコンフィグレーション フィールドで、[processLoanApp] 操作を選択します。
  5. [保存] をクリックしてルート ノードのコンフィグレーションを保存し、LoanGateway2 プロキシ サービスの [メッセージ フローの編集] ページに戻ります。
  6. [プロキシ サービスの概要] ページに戻るまで、各コンフィグレーション ページで [保存] をクリックします。
  7. Change Center で [アクティブ化] をクリックし、セッションのコンフィグレーション情報を保存します。

手順 8 : 融資申し込みのルーティング コンフィグレーションのテスト

AquaLogic Service Bus でクライアントと対象ビジネス サービスを使用するためのコンフィグレーションが完了したので、コンフィグレーションをテストできます。このシナリオのプロキシ サービスのルーティング動作は、融資申し込みメッセージの融資額の値に基づいています。融資額を変更すると、ルーティング動作は次のように変わります。

この節では、これらの 2 つのケースのプロキシ サービスをテストする方法を説明します。テストの実行後にコマンド ウィンドウに返されるメッセージに、テストの成功または失敗と、要求を処理したビジネス サービスが示されます。

この節のテスト シナリオは以下のとおりです。

LoanSaleProcessor (大口融資処理サービス) ビジネス サービスをテストするには

  1. コマンド ウィンドウを開きます。
  2. setEnv.cmd を実行して環境を設定する作業が済んでいない場合は、ここで実行します。
    1. 次のディレクトリに移動します。
    2. BEA_HOME\weblogic90\samples\servicebus\examples\src\ 
    3. このディレクトリで、コマンドラインから次のコマンドを実行します。
    4. setEnv.cmd

      注意 : UNIX システムでコンフィグレーションをテストする場合は、コマンドライン プロンプトで setEnv.sh スクリプトを実行します。

  3. 次のディレクトリに移動します。
  4. BEA_HOME\weblogic90\samples\servicebus\examples\src\examples\webservices\jws_basic\normal
  5. AquaLogic Service Bus のルーティング動作を変更するには、build.xml ファイルで、実行対象を編集する必要があります。
    1. build.xml を開きます。
    2. build.xml ファイルの最後までスクロールして次の文字列を探します。
    3. <arg line="http://$... 
    4. 見つかった文字列を次のように変更します。
    5. <arg line="http://${wls.hostname}:${wls.port}/loan/gateway2 steve 555 25000001 20 5.1 notes" />

    これで、プロキシ サービスの URI が、チュートリアルのドメインで動作中のデプロイされた Web サービス (gateway2) の URI に変更され、融資額の値に 25000001 が指定されます (テスト用の入力パラメータの詳細については、表 4-5 を参照してください)。

  6. ビジネス サービスをまだデプロイしていない場合は、デプロイします。
    1. コマンド ウィンドウで、次のディレクトリに移動します。
    2. BEA_HOME\weblogic90\samples\servicebus\examples\src\examples\webservices\jws_basic\normal 
    3. ant と入力し、〔Enter〕を押します。
  7. このビルドをテストするには、コマンドラインで次のように入力します。
  8. ant run 

    これで、プロキシ サービスのルーティング ロジックがテストされます。Web サービスからのメッセージがコマンド ラインに出力されます。

    [java] Loan Application Response: CREDIT RATING: AA: LOAN PURCHASED BY THE <i><b>LARGE</b></i> LOANS SERVICE
         [java] Rate: 5.1
    BUILD SUCCESSFUL

この応答メッセージは、要求融資額が 25000001 (25000000 より多い) であるため、「大口融資サービス」で要求が処理されたということを示します。

NormalLoan ビジネス サービスをテストするには

  1. LoanSaleProcessor (大口融資処理サービス) ビジネス サービスをテストするには」の手順に従って、以下のディレクトリにある build.xml ファイルを編集します。
  2. BEA_HOME\weblogic90\samples\servicebus\examples\src\examples\webservices\jws_basic\normal

    このケースでは、NormalLoan ビジネス サービスをテストするために、build.xml ファイルに融資額の値 25000000 を入力し (表 4-5 を参照)、変更を保存します。

  3. ビジネス サービスをまだデプロイしていない場合は、デプロイします。
    1. コマンド ウィンドウで、次のディレクトリに移動します。
    2. BEA_HOME\weblogic90\samples\servicebus\examples\src\examples\webservices\jws_basic\normal 
    3. ant と入力し、〔Enter〕を押します。
  4. プロキシ サービスのルーティング ロジックをテストするため、コマンドラインで次のように入力します。
  5. ant run

    Web サービスからの応答メッセージがコマンド ラインに出力されます。

    [java] Loan Application Response: APPROVED BY THE <i><b>NORMAL</b></i> LOAN APPLICATION PROCESSING SERVICE
         [java] Rate: 5.1
    BUILD SUCCESSFUL

この応答メッセージは、要求融資額が 25000000 であるため、「標準融資申し込み処理サービス」で要求が処理されたということを示します。

 


ベスト プラクティス

このチュートリアルでは、トランスフォーメーションをコンフィグレーションし、ルート ノードのネームスペースを変更します。代わりに、パイプライン ペアの要求パイプラインに同一のロジックをコンフィグレーションすることも可能です。

トランスフォーメーションおよびネームスペース変更に必要な作業は、どちらの方法を選択しても同じです。

このチュートリアル シナリオの場合、既存のルート ノードの要求アクションおよび応答アクションにアクションを追加する方が、独立したパイプライン ペアを作成し、ステージを追加して、そのステージにトランスフォーメーション アクションを追加するよりも簡単です。

実装の選択が重要になるシナリオもあります。

ルート ノードから 5 種類のサービスにメッセージをルーティングし、各サービスで必要とするトランスフォーメーションが同一である場合がその例です。このシナリオでは、1 つのトランスフォーメーションを要求パイプラインに追加する方が、各ルート ノードの各ルーティング コンフィグレーション用に同一のトランスフォーメーションを 5 セット用意するよりも適切です。実行コストは同じでも、保守、コンフィグレーション、わかりやすさの点で後者の実装の方が高コストであり、作業負担が大きくなります。

 

ページの先頭 前 次