AquaLogicによるESB環境の構築 3

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

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

   ルーティングテーブルを作成するには、先ほど編集した「SampleRoute」アイコンをクリックして、メニューから「ルートの編集」をクリック します。すると、「ステージコンフィグレーションの編集」画面になるので、ここからアクションを指定してルーティングを設定します。アクションには様々な 部品が用意されており、これらを組み合わせることで複雑なルーティングやメッセージ変換を行うことができます。

   それでは、「アクションの追加」をクリックして階層型のメニューを表示させ、「通信 → ルーティングテーブル」を選択して、図4の状態になっていることを確認します。


ルーティングテーブル
図4:ルーティングテーブル
(画像をクリックすると別ウィンドウに拡大図を表示します)

   ルーティングテーブルは、条件式によって実行するルートを変更する部品です。メッセージからある値を取得して、その値が設定されている条件に一致していれば設定されたアクションを実行後、指定されたサービスにメッセージをルーティングしてくれます。

   それでは、「式>」をクリックして「XQuery式エディタ」を起動させ、比較対象となる値を取得する処理を実装します。画面の左下 にある「変数の構造」をクリックして、表示が切り替わった後の左上にある「構造の選択」から「body」を選択し、図5のような画面になっていることを確 認します。

構造の選択
図5:構造の選択
(画像をクリックすると別ウィンドウに拡大図を表示します)

   続いて、左側に表示されている「send」にある「+」アイコンをクリックします。すると、「send」のパラメータが表示されるので、 「number」の丸いアイコンをクリックして図6のように右側の水色の領域にドラッグ&ドロップし、「$body/sam:send /sam:number」と記述されたことを確認します。

XQueryの設定
図6:XQueryの設定
(画像をクリックすると別ウィンドウに拡大図を表示します)

   「検証」をクリックして問題がなければ「保存」をクリックします。これで、Webサービス「SampleWS」のメソッド「send」を呼び出すときのパラメータ「number」を、ルーティングの条件に使えるように設定したことになります。

   次に、「演算子」に「=」を設定して条件に「0」を入力します。続いて、「サービス>」をクリックすると、サービスを選択するウィン ドウが開きますので、「SampleFile」を選択して「送信」をクリックします。これで、「number」が「0」のメッセージが処理されると、ファ イル出力のビジネスサービスにルーティングされます。

   ルーティングする前、もしくは後に処理をしたい場合には、「要求アクション」と「応答アクション」に処理を設定します。サンプルでは、ログを出力す る処理を設定します。「アクションの追加」をクリックして階層メニューを表示させて、「レポート → ログ」と選択し、出力したいメッセージを記入します。

ルーティングテーブルへの追加

   ここでは、ルーティングテーブルに新しいケースを追加します。図7のように、演算子「=」の隣にある菱形と四角のアイコンをクリックしてメニューを 表示させ、「新しいケースの挿入」を選択します。新しく追加されたケースには「演算子」に「>=」、条件に「1」、「サービス>」に 「SampleJMS」を設定します。

ルーティングテーブルへのケース追加
図7:ルーティングテーブルへのケース追加
(画像をクリックすると別ウィンドウに拡大図を表示します)

   次は、デフォルトケースを追加します。このケースは、どの条件にも一致しない場合に実行されます。追加したケースの横にある菱形と四角のアイコンをクリックしてメニューを表示して、「デフォルトケースの挿入」をクリックします。

   今回のケースでは、「サービス>」に「SampleFile」を指定します。「要求アクション」には、「フロー制御 → エラーを発生させる」を選択し、「エラーコード」と「使用するエラーメッセージ」には、任意の値を設定してください。図8のようになれば、ルーティング テーブルの設定は完了です。「検証」をクリックして問題ないことを確認してから「保存」をクリックし、「メッセージフローの編集」画面でも、保存をクリッ クします。

デフォルトケースの追加
図8:デフォルトケースの追加
(画像をクリックすると別ウィンドウに拡大図を表示します)

   最後に「Change Center」の「アクティブ化」をクリックして、「セッションのアクティブ化」を行ってください。

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る