メディエーション とは、サービス間を動的に仲介または介入する方法のことです。 メディエーション・フロー はメディエーションを実装します。
メディエーションにはいくつかの役立つ機能があります。 例えば、ある 1 つのサービスからのデータを、 後続のサービスが受け入れ可能なフォーマットに変換する必要がある場合に、 メディエーションを使用できます。 ロギングでは、あるサービスからのメッセージが次のサービスに送信される前に、 そのメッセージをログに記録することができます。 ルーティングでは、あるサービスからのデータを、 メディエーション・フローによって決定された適切なサービスに経路指定することができます。 メディエーションは、その接続先であるサービスから独立して動作します。 アセンブリー・エディター内のメディエーションは、 エクスポートとインポート間のメディエーション・フロー・コンポーネントとして示されます。
以下のダイアグラムでは、3 つのサービス要求元またはエクスポートが、 その出力データをメディエーション・フロー・コンポーネントのインターフェースに送信します。 すると、メディエーション・フロー・コンポーネントは、該当するデータを 2 つのサービス・プロバイダー またはインポートに経路指定します。
メディエーション・フローは、メディエーション・フロー・エディターで作成されるフローのような構成です。 アセンブリー・エディターでメディエーション・フロー・コンポーネントを選択すると、 メディエーション・フロー・エディターが起動します。 メディエーション・フロー・エディターでは、あるサービス、サービス要求元、またはエクスポートからの操作が、 メディエーション・フロー・エディターで提供される機能と一緒に、別のサービス、 サービス・プロバイダー、またはインポートの操作にマップされます。 これらの機能はメディエーション・プリミティブ と呼ばれ、 下記の図に示されるようにメディエーション・フロー内でワイヤリングされます。 メディエーション・プリミティブは IBM から提供されます。 また、独自のカスタム・プリミティブを作成することもできます。 メディエーション・プリミティブは、メッセージの内容とメッセージのコンテキストの両方に影響します。 このコンテキストは、SOAP や JMS ヘッダーなどのバインディング特定情報またはユーザー定義プロパティーです。
次の図では、操作 applyforLoan は、最初に、メッセージを、 そのメッセージを記録するロギング・プリミティブ Log に送信します。 Log はメッセージを Filter プリミティブに送信し、Filter プリミティブはメッセージに応じて、 processBusinessLoan 操作または processPersonalLoan 操作にそのメッセージを経路指定します。
『モジュール』のセクションで説明したように、 メディエーション・フロー・コンポーネントのためのメディエーション・モジュールがあります。 この中には、1 個のメディエーション・フロー・コンポーネントと、 メディエーション・フロー・コンポーネントを増補する 0 個以上の Java コンポーネントが含まれます。 メディエーション・モジュールは、 WebSphere Process Server または WebSphere Enterprise Service Bus サーバーのいずれかにデプロイできます。