 |

|
AquaLogicによるESB環境の構築 |
第3回:サンプルの動作確認で内部処理をみてみよう
著者:サンモアテック 高木 基成 2006/11/7
|
|
|
前のページ 1 2 3 次のページ
|
 |
ルーティングテーブルの作成
|
ルーティングテーブルを作成するには、先ほど編集した「SampleRoute」アイコンをクリックして、メニューから「ルートの編集」をクリックします。すると、「ステージコンフィグレーションの編集」画面になるので、ここからアクションを指定してルーティングを設定します。アクションには様々な部品が用意されており、これらを組み合わせることで複雑なルーティングやメッセージ変換を行うことができます。
それでは、「アクションの追加」をクリックして階層型のメニューを表示させ、「通信 → ルーティングテーブル」を選択して、図4の状態になっていることを確認します。

図4:ルーティングテーブル (画像をクリックすると別ウィンドウに拡大図を表示します)
ルーティングテーブルは、条件式によって実行するルートを変更する部品です。メッセージからある値を取得して、その値が設定されている条件に一致していれば設定されたアクションを実行後、指定されたサービスにメッセージをルーティングしてくれます。
それでは、「<式>」をクリックして「XQuery式エディタ」を起動させ、比較対象となる値を取得する処理を実装します。画面の左下にある「変数の構造」をクリックして、表示が切り替わった後の左上にある「構造の選択」から「body」を選択し、図5のような画面になっていることを確認します。

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

図6:XQueryの設定 (画像をクリックすると別ウィンドウに拡大図を表示します)
「検証」をクリックして問題がなければ「保存」をクリックします。これで、Webサービス「SampleWS」のメソッド「send」を呼び出すときのパラメータ「number」を、ルーティングの条件に使えるように設定したことになります。
次に、「演算子」に「=」を設定して条件に「0」を入力します。続いて、「<サービス>」をクリックすると、サービスを選択するウィンドウが開きますので、「SampleFile」を選択して「送信」をクリックします。これで、「number」が「0」のメッセージが処理されると、ファイル出力のビジネスサービスにルーティングされます。
ルーティングする前、もしくは後に処理をしたい場合には、「要求アクション」と「応答アクション」に処理を設定します。サンプルでは、ログを出力する処理を設定します。「アクションの追加」をクリックして階層メニューを表示させて、「レポート → ログ」と選択し、出力したいメッセージを記入します。
|
ルーティングテーブルへの追加
|
ここでは、ルーティングテーブルに新しいケースを追加します。図7のように、演算子「=」の隣にある菱形と四角のアイコンをクリックしてメニューを表示させ、「新しいケースの挿入」を選択します。新しく追加されたケースには「演算子」に「>=」、条件に「1」、「<サービス>」に「SampleJMS」を設定します。

図7:ルーティングテーブルへのケース追加 (画像をクリックすると別ウィンドウに拡大図を表示します)
次は、デフォルトケースを追加します。このケースは、どの条件にも一致しない場合に実行されます。追加したケースの横にある菱形と四角のアイコンをクリックしてメニューを表示して、「デフォルトケースの挿入」をクリックします。
今回のケースでは、「<サービス>」に「SampleFile」を指定します。「要求アクション」には、「フロー制御 → エラーを発生させる」を選択し、「エラーコード」と「使用するエラーメッセージ」には、任意の値を設定してください。図8のようになれば、ルーティングテーブルの設定は完了です。「検証」をクリックして問題ないことを確認してから「保存」をクリックし、「メッセージフローの編集」画面でも、保存をクリックします。

図8:デフォルトケースの追加 (画像をクリックすると別ウィンドウに拡大図を表示します)
最後に「Change Center」の「アクティブ化」をクリックして、「セッションのアクティブ化」を行ってください。
|
前のページ 1 2 3 次のページ
|

|
|

|
著者プロフィール
株式会社サンモアテック 技術開発事業部 高木 基成
2002年入社。システム間連携を実現する各種ミドルウェアの調査・導入に従事。現在は、開発生産性や品質などを向上させるための技術開発に従事している。
|
|
|
|