WebSphere Enterprise Service Bus for z/OS バージョン 6.2.0 オペレーティング・システム: z/OS


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

メディエーション・ポリシー・パターンにより、メディエーション・ポリシーの実装を単純化できます。 このトピックでは、メディエーション・ポリシーと共に使用するいくつかの基本的なパターンを説明します。

メディエーション・ポリシー処理モデルは、任意の組み合わせのメディエーション・ポリシーの処理結果を定義します。 ただし、いくつかの基本的なルールとパターンに従うことによって、メディエーション・ポリシーの実装を単純化できます。

ルール

各プロパティー・グループに対して、以下のルールを適用します。
  • ゲート条件がない、単一のデフォルト・メディエーション・ポリシーを使用します。 このデフォルトのメディエーション・ポリシーにはオーバーライドできるすべてのモジュール・プロパティーが含まれ、適用できる条件メディエーション・ポリシーがない場合に使用されます。 SCA モジュールをエクスポートすると、 WebSphere® Integration Developer により、SCA モジュール内のプロパティー・グループごとにデフォルト・メディエーション・ポリシーが生成されます。したがって、モジュール内のすべての動的プロパティーを動的にオーバーライドする場合は、すべてのデフォルトのメディエーション・ポリシーを SCA モジュールに付加するだけで済みます。
    注: このルールの結果として、すべての構成はメディエーション・ポリシーにより制御され、管理コンソールで加えられた変更はいずれも無視されます。
  • ゲート条件があるメディエーション・ポリシー間での競合は許可されません。

パターン 1: デフォルトのメディエーション・ポリシーのみ

モジュール内のすべての動的プロパティーを動的にオーバーライドする場合は、WSRR を管理するときに、すべてのデフォルトのメディエーション・ポリシーを SCA モジュールに付加する必要があります。

パターン 2: 相互排他的なゲート条件

相互排他的なゲート条件がある場合、ランタイムは条件メディエーション・ポリシーのマージを試行しません。
  • ゲート条件がない (アタッチメントに条件がない)、単一のデフォルト・メディエーション・ポリシーを使用します。 このデフォルトのメディエーション・ポリシーにはオーバーライドできるすべてのモジュール・プロパティーが含まれ、適用できる条件メディエーション・ポリシーがない場合に使用されます。
  • 明確に異なるケースを表すように各ゲート条件を作成します。つまり、ゲート条件が相互に排他的で、選択できる条件付きのメディエーション・ポリシーが最大でも 1 つになるようにします。 例えば、値が InsuranceType = "Gold" のゲート条件がある 1 つのメディエーション・ポリシーと、値が InsuranceType = "Silver" のゲート条件がある別のメディエーション・ポリシーを持つことができます。 特定のメッセージで、InsuranceTypeSilver または Gold となり、適切なメディエーション・ポリシーが選択されます。

例: 相互排他的なゲート条件

以下の例は、1 つのモジュールに付加される 3 つのメディエーション・ポリシーを示しています。 2 つのメディエーション・ポリシーにゲート条件があり、1 つのメディエーション・ポリシーにはゲート条件はありません。 ゲート条件がある 2 つのメディエーション・ポリシーは相互排他的です。

実行時に、メッセージの内容により、使用されるメディエーション・ポリシー (およびそれに応じてどのモジュール・プロパティーがオーバーライドできるか) が決定されます。
  • InsuranceType = "Gold" の場合、メディエーション・ポリシー P1 が使用されます。
  • InsuranceType = "Silver" の場合、メディエーション・ポリシー P2 が使用され、P2 で言及されないプロパティーは、メディエーション・ポリシー P3 から取られます。
  • InsuranceTypeGold または Silver のどちらでもない場合、メディエーション・ポリシー P3 が使用されます。
図 1. 相互排他的なゲート条件
デフォルトのメディエーション・ポリシーには、オーバーライド可能なすべてのモジュール・プロパティーが含まれます。

パターン 3: 競合を避けるためのモジュール・プロパティーの分散

相互排他的なゲート条件がない場合、ランタイムは条件メディエーション・ポリシーのマージを試行する場合があります。 マージされる可能性があるすべての条件メディエーション・ポリシーは、固有のモジュール・プロパティーを持つ必要があります。
  • ゲート条件がない (アタッチメントに条件がない)、単一のデフォルト・メディエーション・ポリシーを使用します。 このデフォルトのメディエーション・ポリシーは、適用できる条件メディエーション・ポリシーがない場合に使用されます。
  • 複数の条件メディエーション・ポリシーを使用できるようにゲート条件を作成しますが、マージされる可能性があるメディエーション・ポリシーは、必ず固有のプロパティーを持つようにしてください。 例えば、値が InsuranceType = "Gold" のゲート条件がある 1 つのメディエーション・ポリシーと、値が InsuranceType = "Silver" のゲート条件がある別のメディエーション・ポリシーと、値が CustomerType = "Student" のゲート条件があるさらに別のメディエーション・ポリシーを持つことができます。 特定のメッセージで、InsuranceTypeSilver または Gold となり、適切なメディエーション・ポリシーが使用されます。 ただし、ゲート条件 CustomerType = "Student" と関連付けられているメディエーション・ポリシーは、他の条件メディエーション・ポリシーとマージする必要があります。したがって、それには固有のモジュール・プロパティーが含まれていなければなりません。

例: 競合を避けるためのモジュール・プロパティーの分散

以下の例は、1 つのモジュールに付加される 4 つのメディエーション・ポリシーを示しています。 3 つのメディエーション・ポリシーにゲート条件があり、1 つのメディエーション・ポリシーにはゲート条件はありません。 マージされる可能性がある条件メディエーション・ポリシーには、オーバーラップするモジュール・プロパティーはありません。

実行時に、メッセージの内容により、使用されるメディエーション・ポリシー (およびそれに応じてどのモジュール・プロパティーがオーバーライドできるか) が決定されます。
  • InsuranceType = "Gold" の場合、メディエーション・ポリシー P1 が使用されます。
  • InsuranceType = "Silver" の場合、メディエーション・ポリシー P2 が使用されます。
  • CustomerType = "Student" の場合、メディエーション・ポリシー P3 が使用されます。
  • 2 つの条件メディエーション・ポリシーが使用される場合 (P1 と P3、または P2 と P3)、複数回現れるプロパティーはありません。
    • P1 と P3 が使用される場合、Property_AProperty_B は P1 に由来し、Property_C は P3 に由来します。
    • P2 と P3 が使用される場合、Property_A は P2 に由来し、Property_C は P3 に由来し、Property_B は P4 に由来します。
  • 条件メディエーション・ポリシーが使用されない場合、メディエーション・ポリシー P4 が使用されます。
図 2. 競合を避けるためのモジュール・プロパティーの分散
デフォルトのメディエーション・ポリシーには、オーバーライド可能なすべてのモジュール・プロパティーが含まれます。

concept 概念トピック

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


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


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