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


サービス・メッセージ・オブジェクト

サービス・メッセージ・オブジェクト (SMO) は、サービス間で交換されるメッセージを処理し、取り扱うための抽象化層を提供します。

SMO モデル

メディエーション・プリミティブはメッセージを SMO として処理します。 SMO はサービス・データ・オブジェクト (SDO) の拡張版で、SMO モデルは SDO DataObject を使用してメッセージを表現するためのパターンです。 SMO には、以下のデータのグループの表現が含まれています。
  • メッセージに関連付けられたヘッダー情報。例えば、JMS API を使用してメッセージが伝達された場合は Java™ Message Service (JMS) ヘッダーになり、WebSphere® MQ によってメッセージが生成される場合は MQ ヘッダーになります。
  • メッセージの本体: メッセージ・ペイロード。メッセージ・ペイロードはサービス・エンドポイント間で交換されるアプリケーション・データです。
  • メッセージの添付ファイル。
  • コンテキスト情報 (メッセージ・ペイロード以外のデータ)

このすべての情報は SDO DataObject としてアクセスされます。 さらに、SMO の全体的な構造を指定するスキーマ宣言があります。スキーマは WebSphere Integration Developer によって生成されます。

SMO の内容

すべての SMO は同一の基本構造を持ちます。この構造は、ServiceMessageObject と呼ばれるルート・データ・オブジェクトで構成されており、ルート・データ・オブジェクト内にヘッダー、本体、添付ファイル、およびコンテキスト・データを表す他のデータ・オブジェクトが格納されています。ヘッダー、本体、およびコンテキストの正確な構造は、統合開発でメディエーション・フローをどのように定義するかにより異なります。メディエーション・フローはサービス間でメディエートするために実行時に使用されます。

SMO ヘッダーには、特定のエクスポートまたはインポート・バインディングを発信元とする情報が含まれています (バインディングは、メッセージ・フォーマットおよびプロトコルの詳細を指定します)。 メッセージは複数のソースから送信される可能性があるので、SMO は異なる種類のメッセージ・ヘッダーを保持できなければなりません。扱われるメッセージ・ヘッダーの種類には、以下のものがあります。
  • Web サービス・メッセージ・ヘッダー
  • サービス・コンポーネント・アーキテクチャー (SCA) メッセージ・ヘッダー
  • Java Message Service (JMS) メッセージ・ヘッダー
  • WebSphere MQ メッセージ・ヘッダー
  • WebSphere Adapters メッセージ・ヘッダー

通常、アプリケーション・データを保持している SMO 本体の構造は、メディエーション・フローの構成時に指定した Web サービス記述言語 (WSDL) メッセージによって決定されます。

SOAP メッセージに参照されていない添付ファイルがある場合、それらのファイルは SMO 添付ファイル・エレメントに格納されます。参照されていない添付ファイルは、SOAP/HTTP メッセージに組み込まれる MIME の一部で、この添付ファイルは WSDL portType に定義されていません。
注: モジュール・バインディングのタイプが、以下のいずれかである場合は、SOAP 添付ファイルの送信または受信のみを行うことができます。JAX-WS を使用する Web サービス・バインディング SOAP 1.1/HTTP、JAX-WS を使用する Web サービス・バインディング SOAP 1.2/HTTP、または SCA バインディング。

SMO コンテキスト・オブジェクトは、ユーザー定義、またはシステム定義です。 ユーザー定義コンテキスト・オブジェクトを使用してプロパティーを保管し、メディエーション・プリミティブはこれを後でフロー内で使用することができます。 ユーザー定義コンテキスト・オブジェクトの構造をビジネス・オブジェクト内で定義し、そのビジネス・オブジェクトを要求フローの入力ノードで使用します。 相関コンテキスト、一時コンテキスト、および共用コンテキストは、ユーザー定義コンテキスト・オブジェクトです。

図 1. SMO 構造の概要. ServiceMessageObject の context、headers、body、および attachments。
ServiceMessageObject には、context (出現回数 1)、headers (出現回数 1)、body (出現回数 0 または 1)、および attachments (出現回数 0 または複数回) が含まれます。

SMO は、メッセージ・ヘッダー、メッセージ・ペイロード、メッセージの添付ファイル、およびメッセージ・コンテキストへのアクセスまたはこれらの変更を行うためのインターフェースを提供します。

ランタイムが SMO を使用する方法

ランタイムは、対話エンドポイント間でやり取りされるメッセージに作用します。ランタイムは SMO オブジェクトを作成し、メディエーション・フローはこれを使用してメッセージを処理します。

メディエーション・フローを作成するときに、WebSphere Integration Developer は各端末 (入力、出力、または障害) のメッセージ本文のタイプを指定し、オプションでコンテキスト情報のタイプも指定します。ランタイムは、この情報を使用してメッセージを指定されたタイプの SMO オブジェクトに変換します。

動的ルーティングを実現するには、WebSphere Service Registry and Repository (WSRR)、つまりデータベースを使用して、対話エンドポイントを検索します。WSRR 照会、またはデータベース検索の結果は SMO の特定の位置に保管できます。ランタイムはそこから動的エンドポイントを取得します。


concept 概念トピック

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


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


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