WebSphere Enterprise Service Bus バージョン 6.2.0 オペレーティング・システム: AIX、HP-UX、i5/OS、Linux、Solaris、Windows


静的エンドポイントの動的起動

静的エンドポイントの動的起動は、サポートされているインポート・バインディングを使用してサービスを起動するときに実行されます。

概要

このサービスは、メディエーション・モジュールを作成してデプロイしたときに指定した元のエンドポイントとは別のエンドポイントで有効になります。

静的エンドポイントの動的起動の有効化

WebSphere® Integration Developer を使用して、ターゲット・サービスを実行時に動的に選択するメディエーション・モジュールを作成します。このモジュールには、動的起動に使用される参照に関連付けられたインポートが格納されます。 このインポートには、ターゲット・サービスのセット (すべて同じプロトコルを使用し、同じデータ形式を使用するメッセージを受信する一連のターゲット・サービス) に適したバインディングが設定されます。 参照とインポートに対して適切な修飾子を適用することにより、代替ターゲットからターゲット・サービスが選択されます。 例えば、関連サービスを提供する複数の MQ キューからターゲット・サービスを選択することができます。 起動するターゲットは、メッセージ内に指定されている有効なメタデータに基づいて動的に選択されます。

実行時の動作

メディエーション・モジュールがメッセージを受信したときに、ターゲット・サービスのエンドポイント URI が指定された EPR がそのメッセージに含まれている場合があります。 この URI がインポート・バインディングに一致する場合、そのインポートと関連修飾子に基づいて、対象となるターゲット・サービスが実際に起動されます。 この URI がインポート・バインディングに一致しない場合、URL タイプに応じて純粋な動的起動が実行されます (純粋な動的起動がサポートされている場合)。

受信メッセージに EPR が含まれていない場合、モジュールの作成とデプロイを行ったときに定義されたインポートを使用して起動が実行されます。 メッセージに含まれている EPR により、常に静的なエンドポイント構成がオーバーライドされます。

新しいサービス・ターゲットからの応答は、通常の応答フロー・プロセスによってエクスポートの元の呼び出し元に返されます。

着信メッセージに無効なオーバーライド情報 (無効なターゲット・アドレスなど) が含まれている場合は、メディエーション・モジュールから例外がスローされ、例外応答が元の呼び出し元に返されます。

エンドポイント情報の格納

サービスのエンドポイント情報は、簡単にアクセスできる形式 (WSRR やデータベースなど) で格納することができます。 例えば、非 Web サービスまたは SCA のエンドポイントは、WSDL が不要なスタンドアロン・エンドポイントとして WSRR に格納することができます。 サービスのエンドポイントは、手動で WSRR に追加することも、デプロイされたモジュール内の SCA エクスポートから自動的に公開することもできます。 メディエーション・フロー・コンポーネント内では、サービス・レジストリー・メディエーション・プリミティブまたはデータベース・ルックアップ・メディエーション・プリミティブを使用してエンドポイントを取得するか、MFC 機能を使用してエンドポイントを SMO に設定することができます。

SCA エンドポイントの場合は、使用するエンドポイントを起動用の EPR に設定します。 その場合、代替ターゲットを指定することはできません。

図 1. 静的エンドポイントの動的起動
メッセージは、メディエーション・モジュールおよびインポート・バインディングを通過して Web サービスに到達します。メッセージ内の情報は、エンドポイントを動的にオーバーライドできます。

メディエーション・モジュール 1 の POJO がメッセージを受信したときの動的起動の動作を図 1 に示します。 メッセージは、メディエーション・モジュールの開発とデプロイを行ったときに作成してワイヤーした既存の接続を経由して、メディエーション・モジュール 2 のエクスポート 2 に送信されます。 オプションで、別の宛先にメッセージを送信する情報を着信メッセージに格納することができます。 図 1 では、オプションのエンドポイント参照オブジェクトを使用して、メッセージがメディエーション・モジュール 3 のエクスポート 3 に送信される場合があります。 POJO はメッセージからエンドポイント情報を抽出し、元のデプロイメントで指定されているエクスポート 2 ではなくエクスポート 3 をエンドポイントとして識別します。 さらに POJO は、インポートにワイヤーされている参照と SCA エンドポイント参照 API を使用して、メッセージのエンドポイントで指定されているリモート・サービスを起動します。

図 2. SMO による静的エンドポイントの動的起動
メッセージは通常、モジュールおよびインポート・バインディングを通過して Web サービスに到達します。
メッセージ内の情報は、エンドポイントを動的にオーバーライドするために使用できます。

メディエーション・フロー・コンポーネントを使用してメッセージ内の SMO 値を変更しても、同じような機能を実行することができます (図 2)。 エクスポートがメッセージを受信すると、動的起動が開始されます。 このメッセージは通常、インポートを経由して SvcProvider1 に送信されますが、SvcProvider2 に対して解決されるルーティング情報が含まれています。

着信メッセージの内容とルーティング情報に基づいて、メッセージの新しいターゲット・アドレスが設定されます。 メディエーション・フロー・コンポーネントは、データベース・ルックアップ、メッセージ・エレメント・セッター、ビジネス・オブジェクト・マップ、XSL 変換などのメディエーション・プリミティブのいずれか 1 つ以上を使用して SMO 値を変更することにより、新しいアドレスを設定します。


reference 参照トピック

ご利用条件 | フィードバック


タイム・スタンプ・アイコン 最終更新: 2010/07/09


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/ref/rwesb_dynamicoverridestatic.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。