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


メディエーション・プリミティブ

メディエーション・フロー・コンポーネントは、サービス・コンポーネント間のメッセージ・フローに作用します。メディエーション・コンポーネントの機能は、メディエーション・プリミティブ によって実装されます。メディエーション・プリミティブは、標準のサービス・イン プリメンテーション・タイプを実装します。

メディエーション・フロー・コンポーネントは、1 つ以上のフローを持っています。例えば、要求 用のフロー、応答用のフローなどです。

WebSphere® ESBメディエーション・プリミティブの、提供されたセットをサポートします。これは、WebSphere ESB 内にデプロイされたメディエーション・モジュールのための標準のメディエーション機能を実装します。特殊なメディエーション機能を必要とする場合は、独自のカスタム・メディエーション・プリミティブを開発することができます。

メディエーション・プリミティブは、サービス・メッセージ・オブジェクト (SMO) で表されるメッセージを処理するかまたは取り扱う 1 つの「イン」操作を定義します。メディエーション・プリミティブはまた、メッセージを別のコンポーネントまたはモジュールに送信する「アウト」操作も定義します。

図 1. 3 つのメディエーション・プリミティブから成るメディエーション・モジュール
メディエーション・モジュール内のメディエーション・プリミティブ

WebSphere Integration Developer を使用して、メディエーション・プリミティブを構成し、そのプロパティーを設定できます。 これらのプロパティーのいくつかをプロモートすることにより、それらをランタイム管理者に対して表示することができます。 プロモート可能なメディエーション・プリミティブ・プロパティーは、すべて動的プロパティーにすることもできます。 動的プロパティーは、ポリシー・ファイルを使用して実行時にオーバーライドすることができます。

また、WebSphere Integration Developer を使用すれば、メディエーション・プリミティブを使用して、グラフィカルにメディエーション・フロー・コンポーネントをモデル化しアセンブルすることができ、またメディエーション・フロー・コンポーネントからメディエーション・モジュールをアセンブルすることができます。管理コンソールではメディエーション・モジュールを SCA モジュールと呼びます。

WebSphere Integration Developer により、モジュールやモジュールの従属ライブラリー内にサブフローを定義することもできます。 サブフローには、ポリシー解決メディエーション・プリミティブを除くすべてのメディエーション・プリミティブを定義することができます。サブフローは、要求フローや応答フロー、またはサブフロー・メディエーション・プリミティブを使用する別のサブフローから呼び出されます。サブフロー内のメディエーション・プリミティブからプロモートされたプロパティーは、サブフロー・メディエーション・プリミティブ上のプロパティーとして公開されます。 このプロパティーは、ランタイム管理者による変更が可能なモジュール・レベルに到達するまで、 再度プロモートすることができます。

サポートされるメディエーション・プリミティブ

以下のメディエーション・プリミティブのセットは、WebSphere ESB によってサポートされます。
ビジネス・オブジェクト・マップ
メッセージを変換します。
  • 再利用可能なビジネス・オブジェクト・マップを使用してメッセージ変換を定義します。
  • ビジネス・オブジェクト・マップ・エディターを使用してメッセージ変換をグラフィカルに定義できます。
  • メッセージの内容を変更できます。
  • 入力メッセージ・タイプをさまざまな出力メッセージ・タイプに変換できます。
カスタム・メディエーション
独自のメディエーション・ロジックを Java™ コードで実装できます。 カスタム・メディエーション・プリミティブは、ユーザー定義メディエーション・プリミティブの柔軟性と、事前定義メディエーション・プリミティブの簡潔性を組み合わせています。 以下のようにして、複雑な変換およびルーティング・パターンを作成できます。
  • Java コードを作成する。
  • 独自のプロパティーを作成する。
  • 新規端末を追加する。
カスタム・メディエーション・プリミティブからサービスを呼び出すことはできますが、サービスを呼び出すためにはサービス起動メディエーション・プリミティブが設計されており、これは再試行などの追加機能を提供します。
データ・ハンドラー
メッセージの一部を変換できます。メッセージのエレメントを物理形式から論理構造に変換したり、論理構造から物理形式に変換したりするために使用します。プリミティブの主な使用目的は、JMS テキスト・メッセージ・オブジェクト内のテキスト・ストリングなどの物理形式を論理ビジネス・オブジェクト構造に、およびその逆方向に変換することです。このメディエーションは、一般に次の目的で使用されます。
  • 入力メッセージのセクションを定義済み構造から別の構造に変換する - 一例として、SMO にコンマ区切りのストリング値が含まれており、この SMO を解析して特定のビジネス・オブジェクトにする場合が挙げられます。
  • メッセージ・タイプを変更する - 例えば、JMS エクスポートで JMS 基本タイプト・データ・バインディングを使用するように構成されており、統合開発者がメディエーション・モジュール内でコンテンツを特定の BO 構造まで拡張することを指定する場合などです。
データベース検索
ユーザー提供のデータベースからの情報を使用して、メッセージを変更します。
  • 使用するデータベース検索メディエーション・プリミティブ用の、データベース、データ・ソースおよびサーバー認証設定をセットアップする必要があります。管理コンソールを使用して、これを実行してください。
  • データベース検索メディエーション・プリミティブは、1 つの表のみから読み取りを行う ことができます。
  • 指定されたキー欄が固有値を含んでいる必要があります。
  • 値列のデータは、単純 XML スキーマ・タイプか、単純 XML スキーマ・データを拡張した XML スキーマ・タイプになっている必要があります。
Endpoint Lookup
リポジトリー内でサービス・エンドポイントを検索することにより、要求の動的ルーティングを可能にします。
  • サービス・エンドポイント情報は、WebSphere Service Registry and Repository (WSRR) から取得されます。WSRR レジストリーは、ローカルまたはリモートにすることができます。
  • WSRR 管理コンソールからレジストリーの変更を行います。
  • WebSphere ESB は、使用するレジストリーを認識する必要があるため、WebSphere ESB 管理コンソールを使用して WSRR アクセス定義を作成する必要があります。
イベント・エミッター
イベントをメディエーション・フロー・コンポーネント内から送信できるようにして、モニターを拡張します。
  • メディエーション・アクションは、チェック・ボックスを選択解除することによって中断できます。
  • WebSphere ESB 上の Common Base Events (CBE) ブラウザーを使用して、イベント・エミッターのイベントを表示することができます。
  • パフォーマンス上の理由で、メディエーション・フローの重要な時点でのみイベントを送信する必要があります。
  • イベントに含まれるメッセージの部分を定義できます。
  • イベントは Common Base Event (CBE) の形式で、Common Event Infrastructure サーバーに送信されます。
  • イベント・エミッター情報を十分活用するために、イベント利用者が Common Base Event の構造を理解しておく必要があります。Common Base Event には包括的なスキーマがありますが、このスキーマでは拡張データ・エレメントに含まれるアプリケーション固有のデータはモデル化されません。拡張データ・エレメントをモデル化するために、WebSphere Integration Developer のツール群により、構成済みのイベント・エミッター・ メディエーション・プリミティブごとに Common Event Infrastructure イベント・カタログ定義ファイルが生成されます。 イベント・カタログ定義ファイルは、ユーザーのサポート用に提供されるエクスポート成果物ですが、これらは WebSphere Integration DeveloperWebSphere ESB ランタイムでは使用されません。 イベント・カタログ定義ファイルは、イベント・エミッターのイベントを利用するアプリケーションを作成するときに参照する必要があります。
  • WebSphere ESB から、他のモニターを指定することができます。 例えば、インポートおよびエクスポートから送信されるイベントをモニターすることができます。
障害
フロー内の特定のパスを停止して、例外を生成します。
ファンイン
メッセージの集約 (結合) に役立ちます。
  • ファンアウト・メディエーション・プリミティブと組み合わせた場合のみ使用できます。
  • ファンアウト・メディエーション・プリミティブとファンイン・メディエーション・プリミティブを一緒に使用して、データを 1 つの出力メッセージに集約できます。
  • ファンイン・メディエーション・プリミティブは、決定ポイントに到達するまでメッセージを受信し、その後 1 つのメッセージが出力されます。
  • 共用コンテキストは、集約データを保持するために使用する必要があります。
ファンアウト
メッセージの分割および集約 (結合) に役立ちます。
  • ファンアウト・メディエーション・プリミティブとファンイン・メディエーション・プリミティブを一緒に使用して、データを 1 つの出力メッセージに集約できます。
  • 繰り返すモードでは、ファンアウト・メディエーション・プリミティブにより、反復エレメントを含む単一の入力メッセージが繰り返されます。 反復エレメントが発生するたびに、メッセージが送信されます。
  • 共用コンテキストは、集約データを保持するために使用する必要があります。
HTTP ヘッダー・セッター
HTTP メッセージ・ヘッダーを管理するためのメカニズムを提供します。
  • HTTP メッセージ・ヘッダーを作成、設定、コピー、または削除できます。
  • 複数のアクションを設定して複数の HTTP ヘッダーを変更できます。
MQ ヘッダー・セッター
MQ メッセージ・ヘッダーを管理するメカニズムを提供します。
  • MQ メッセージ・ヘッダーを作成、設定、コピー、または削除できます。
  • 複数のアクションを設定して複数の MQ ヘッダーを変更できます。
SOAP ヘッダー・セッター
SOAP メッセージ・ヘッダーを管理するためのメカニズムを提供します。
  • SOAP メッセージ・ヘッダーを作成、設定、コピー、または削除できます。
  • 複数のアクションを設定して複数の SOAP ヘッダーを変更できます。
メッセージ・エレメント・セッター
メッセージの内容を設定するための単純なメカニズムを提供します。
  • メッセージ・エレメントを変更、追加、または削除することができます。
  • メッセージのタイプは変更されません。
  • 値列のデータは、単純 XML スキーマ・タイプか、単純 XML スキーマ・データを拡張した XML スキーマ・タイプになっている必要があります。
メッセージ・フィルター
メッセージを、メッセージの内容に基づいて、さまざまなパスにルーティングします。
  • メディエーション・アクションは、チェック・ボックスを選択解除することによって中断できます。
メッセージ・ロガー
リレーショナル・データベース内に、またはユーザー独自のカスタム・ロガーによってメッセージをログに記録します。 メッセージは XML として保管されます。したがって、データは XML 対応アプリケーション で後処理できます。
  • メディエーション・アクションは、チェック・ボックスを選択解除することによって中断できます。
  • Rational データベース・スキーマ (テーブル構造) は IBM によって定義されます。
  • デフォルトでは、メッセージ・ロガー・メディエーション・プリミティブは共通データベースを使用します。 ランタイムは、jdbc/mediation/messageLog にあるデータ・ソースを共通データベースにマップします。
  • ハンドラー実装クラスを設定して、カスタム・ロガーの動作をカスタマイズできます。オプションとして、フォーマッター実装クラス、フィルター実装クラス、またはその両方を設定して、カスタム・ロガーの動作をカスタマイズすることもできます。
ポリシー解決
リポジトリー内でサービス・エンドポイントおよび関連付けられたポリシー・ファイルを検索することにより、要求の動的構成を可能にします。
  • ポリシー・ファイルを使用して、他のメディエーション・プリミティブのプロモートされたプロパティーを動的にオーバーライドできます。
  • サービス・エンドポイント情報およびポリシー情報は、WebSphere Service Registry and Repository (WSRR) から取得されます。WSRR レジストリーは、ローカルまたはリモートにすることができます。
  • WSRR 管理コンソールからレジストリーの変更を行います。
  • WebSphere ESB は、使用するレジストリーを認識する必要があるため、WebSphere ESB 管理コンソールを使用して WSRR アクセス定義を作成する必要があります。
サービス起動
メディエーション・フローの終わりまで待機してコールアウト・メカニズムを使用する代わりに、メディエーション・フローの内部からサービスを呼び出します。
  • サービスが障害を戻す場合、同じサービスを再試行するか、または別のサービスを呼び出すことができます。
  • サービス起動メディエーション・プリミティブは強力なメディエーション・プリミティブで、単純なサービス呼び出し用に単独で使用したり、複雑なメディエーション用に他のメディエーション・プリミティブを組み合わせて使用することができます。
メッセージ型の設定
統合開発時に、型付けの弱いメッセージ・フィールドを型付けの強いメッセージ・フィールドであるかのように扱えるようにします。 フィールドに複数のタイプのデータを入れることができる場合、それは型付けの弱いフィールドです。 フィールドのタイプと内部構造が既知の場合、それは型付けの強いフィールドです。
  • 実行時に、メッセージ型の設定メディエーション・プリミティブでは、メッセージの内容が予期したデータ・タイプと一致するかどうか確認できます。
停止
例外を生成しないで、フロー内の特定のパスを停止します。
タイプ・フィルター
タイプに基づいて、フローの別のパスにメッセージを誘導できます。
XSL 変換
メッセージを変換します。
  • Extensible Stylesheet Language (XSL) 変換を実行できるようにします。
  • XSLT 1.0 変換を使用してメッセージを変換します。変換はメッセージの XML シリアライゼーションに作用します。

concept 概念トピック

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


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


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