WebSphere WebSphere Enterprise Service Bus V6.0.1 操作系统: AIX, HP-UX, Linux, Solaris, Windows

服务消息对象

服务消息对象(SMO)是对“服务数据对象”(SDO)的增强。SMO 提供了一个抽象层,用于处理和控制在服务之间交换的消息。

SMO 模型

SMO 模型是使用 SDO 数据对象来表示消息的一种模式。SMO 包含下列各组数据的表示:
  • 消息的业务有效内容。有效内容是在服务端点之间交换的应用程序数据。
  • 与消息相关联的头信息。例如,如果已经使用 JMS API 传递了消息,则会包含 Java 消息服务(JMS)头。
  • 上下文信息(除了消息有效内容之外的数据)。

此信息的所有内容都是作为 SDO 数据对象来访问的,并且具有用来指定 SMO 的整体结构的模式声明。该模式是由 WebSphere Integration Developer 生成的。

所有 SMO 都具有相同的基本结构。该结构由称为 ServiceMessageObject 的根数据对象组成,该根数据对象包含用来表示头、主体和上下文数据的其他数据对象。SMO 主体包含消息的有效内容。头包含起源于特定导入或导出绑定的信息。例如,JMS 绑定。

SMO 提供了一个界面用来访问和修改消息头和消息有效内容。SMO 可以表示许多不同类型的消息的逻辑内容。

图 1. SMO 结构概述. ServiceMessageObject 的头、上下文和主体ServiceMessageObject 的头、上下文和主体

WebSphere ESB 和 SMO

WebSphere ESB 将对在交互端点之间传递的消息进行处理。在 WebSphere ESB 中,调解流将把消息作为 SMO 来处理。

消息可以来自于许多消息源,因此 SMO 必须能够传递不同种类的消息头。WebSphere ESB 将处理下列类型的消息头:
  • Web Service 消息头。
  • 服务组件体系结构(SCA)消息头。
  • Java 消息服务(JMS)消息头。
  • WebSphere Adapter 消息头。

WebSphere ESB SMO 运行时

WebSphere ESB 将创建 SMO 对象,然后调解流就可使用这些 SMO 对象。

运行时创建的某些 SMO 对象是由运行时所提供的类来实现的。例如,ServiceMessageObject 类是由 WebSphere ESB 提供的。某些 SMO 头类也是由运行时提供的。运行时创建的其他 SMO 对象是由开发者所创建的类来实现的。

当创建调解流时,WebSphere Integration Developer 将指定每个终端(输入、输出或失败)的消息体的类型,还可以选择指定上下文信息的类型。WebSphere ESB 使用此信息来将消息转换为指定类型的 SMO 对象。


概念主题

使用条款 | 评价此页

Timestamp icon上次更新时间: 3 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\concepts\cwesb_sca_smo.html

(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
本信息中心基于 Eclipse 技术(http://www.eclipse.org)。