メディエーション・ポリシーについての学習

メディエーション・ポリシー を使用することにより、コンテキスト情報を使用してサービス対話を動的に制御することができます。モジュール、ターゲット・サービス、 およびメディエーション・ポリシーの相互の関連について学習します。

メディエーション・ポリシー

メディエーション・ポリシー を使用することにより、モジュール・プロパティーの値をオーバーライドして サービス対話を動的に構成することができます。オーバーライドできるモジュール・ プロパティーはメディエーション・フローで定義されています。メディエーション・ポリシー で、オーバーライド値を定義します。

メディエーション・ポリシーは WebSphere® Service Registry and Repository (WSRR) に保管されますが、メディエーション・ポリシーの管理 ウィジェットを使用してメディエーション・ポリシーを作成することができます。
この図は、2 つの注文を示しています。複数のアイテムが注文された場合、メディエーション・ポリシー条件により、異なるメディエーション・ポリシーが適用されます。

メディエーション・ポリシーを使用できるモジュールの作成

メディエーション・フロー を持つモジュールを作成するには、IBM Integration Designer を使用します。メディエーション・フローには、 ポリシー解決メディエーション・プリミティブが含まれている必要があります。ポリシー解決メディエーション・プリミティブは、 WSRR 内のメディエーション・ポリシーにアクセスすることができます。ポリシー解決メディエーション・プリミティブが モジュール、ターゲット・サービス、またはその両方のいずれに関連付けられたメディエーション・ポリシーを取得するかを 定義します。

メディエーション・フローを作成する場合は、 オーバーライドするプロパティーを持つ他のメディエーション・プリミティブを 含める必要があります。
  1. IBM Integration Designer を使用して、ポリシー解決メディエーション・プリミティブが含まれるモジュールを作成します。 ポリシー解決プリミティブは、変更するプロパティーを持つプリミティブの前に置く必要があります。
  2. ポリシー解決プリミティブを構成します。
    1. 使用する WSRR 定義を指定するか、デフォルト定義を採用します。
    2. モジュール、ターゲット・サービス、またはその両方のいずれに関連付けられた メディエーション・ポリシーを取得するかを定義します。
    3. ゲート条件を使用する場合は、ポリシーのゲート条件と一致するポリシー条件名を作成します。メッセージ内で条件値が存在する場所を XPath 式で指定します。例えば、ポリシー条件名 Age、および XPath 式 /body/priceChecker/request/Age を作成したとします。 サービス要求が処理されるときには、条件 Age の値が /body/priceChecker/request/Age から設定されます。
  3. メディエーション・ポリシーを、モジュールではなく ターゲット・サービスに関連付ける場合は、ポリシー解決メディエーション・プリミティブよりも前に エンドポイント・ルックアップ・メディエーション・プリミティブを追加します。
  4. 他のメディエーション・プリミティブを追加します。
  5. 動的にオーバーライドするプロパティーをプロモートします。 メディエーション・ポリシーでオーバーライドできるのはプロモートされたプロパティーのみです。

WebSphere ESB または IBM Business Process Manager の構成

アプリケーション・サーバー にモジュールが含まれ、正しい WSRR が認識されている必要があります。
  1. モジュールを WebSphere ESB または IBM Business Process Manager にデプロイします。
  2. WebSphere ESB または IBM Business Process Manager に、 モジュール用の適切な WSRR 定義があることを確認します。

WSRR の構成

ポリシー解決メディエーション・プリミティブ は、サービス要求を処理するときに WSRR を照会します。したがって、 WSRR には、モジュールおよびサービスに関する関連情報が含まれている必要があります。
  1. SCA モジュールが格納されている EAR ファイルを WSRR にロードします。
  2. 必要に応じて、使用するターゲット・サービスの WSDL を ロードします。

メディエーション・ポリシーの管理ウィジェットの使用

メディエーション・ポリシーの管理ウィジェットを使用して、メディエーション・ポリシーを 作成し、それらをモジュールまたはターゲット・サービスのいずれかに関連付けることが できます。また、このウィジェットは、メディエーション・ポリシーをモジュールまたは ターゲット・サービスに関連付けるポリシー・アタッチメントを 作成します。メディエーション・ポリシーおよびポリシー・アタッチメントは WSRR に作成されます。

オーバーライドするそれぞれのプロパティーについて、アサーションを 追加します。ウィジェットは、オーバーライドするプロパティーをアサーションとして 参照します。WSRR では、プロパティーのオーバーライドはポリシーのアサーション です。条件付きメディエーション・ポリシーを作成する場合は、 ゲート条件を追加します。WSRR では、ゲート条件はポリシー・アタッチメントのユーザー・プロパティーです。
  • メディエーション・ポリシーの管理ウィジェットを使用してポリシー・アタッチメントを作成すると、単一のポリシー・アタッチメントと、アサーションを持つグループごとに 1 つのメディエーション・ポリシーがウィジェットによって作成されます。
  • メディエーション・ポリシーの管理ウィジェットを使用してポリシー・アタッチメントを削除すると、ウィジェットによってそのポリシー・アタッチメントが削除されるほか、関連付けられているメディエーション・ポリシーも、それが別の関連付けによって使用されていなければ、すべて削除されます。
メディエーション・ポリシーの管理ウィジェットを使用してメディエーション・ポリシーを ターゲット・サービスに関連付けるときには、以下のレベルでポリシーを関連付けることができます。
  • サービス
  • エンドポイント
  • 操作