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

サービス・メッセージ・オブジェクト (SMO) は、拡張サービス・データ・オブジェクト (SDO) です。SMO は、サービス間で交換されるメッセージを処理および操作するための抽象化層を提供します。

SMO モデル

SMO モデルは、SDO DataObject を使用してメッセージを表したパターンです。SMO には、以下のデータ・グループの表現が含まれます。
  • メッセージのビジネス・ペイロード。ペイロードは、サービス・エンドポイント間で交換されるアプリケーション・データです。
  • メッセージに関連付けられたヘッダー情報。例えば、JMS API を使用してメッセージが伝達された場合は Java Message Service (JMS) ヘッダーになります。
  • コンテキスト情報 (メッセージ・ペイロード以外のデータ)。

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

すべての SMO の基本構造は同じです。この構造は、ServiceMessageObject と呼ばれるルート・データ・オブジェクトで構成されており、ルート・データ・オブジェクト内にヘッダー、本体、およびコンテキスト・データを表す他のデータ・オブジェクトが格納されています。SMO 本体にはメッセージ・ペイロードが格納されます。 ヘッダーには、特定のインポートまたはエクスポート・バインディングから生じる情報が格納されます。例えば JMS バインディングなどです。

SMO は、メッセージ・ヘッダーおよびメッセージ・ペイロードへのアクセスおよび変更を行うためのインターフェースを提供します。SMO によって、さまざまなタイプのメッセージの論理コンテンツを表現できます。

図 1. SMO 構造の概要. ServiceMessageObject のヘッダー、コンテキスト、および本体ServiceMessageObject のヘッダー、コンテキスト、および本体

WebSphere Process Server と SMO

WebSphere Process Server は、対話エンドポイント間で送信途中にあるメッセージを操作します。WebSphere Process Server 内部では、メディエーション・フローはメッセージを SMO として処理します。

メッセージは複数のソースから送信される可能性があるので、SMO は異なる種類のメッセージ・ヘッダーを保持できなければなりません。 WebSphere Process Server によって処理されるメッセージ・ヘッダーの種類は以下のとおりです。
  • Web Services メッセージ・ヘッダー
  • Service Component Architecture (SCA) メッセージ・ヘッダー
  • Java Message Service (JMS) メッセージ・ヘッダー
  • WebSphere Adapter メッセージ・ヘッダー

WebSphere Process Server SMO ランタイム

WebSphere Process Server は SMO オブジェクトを作成します。この SMO オブジェクトはメディエーション・フローに使用できます。

ランタイムが作成する SMO オブジェクトの一部は、ランタイムが提供するクラスによってインプリメントされます。例えば、ServiceMessageObject クラスは WebSphere Process Server によって提供されます。 SMO ヘッダー・クラスの一部もランタイムによって提供されます。ランタイムが作成するその他の SMO オブジェクトは、開発者が作成したクラスによってインプリメントされます。

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


Terms of use |

Last updated: Fri Mar 24 06:06:33 2006

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)