WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

Service message objects

Service message objects (SMOs) are enhanced Service Data Objects (SDOs). SMO provides an abstraction layer for processing and manipulating messages exchanged between services.

SMO model

The SMO model is a pattern for using SDO DataObjects to represent messages. The SMO contains a representation of the following groups of data:
  • The business payload of the message. The payload is the application data exchanged between service endpoints.
  • Header information associated with the message. For example, Java Message Service (JMS) headers if a message has been conveyed using the JMS API.
  • Context information (data other than the message payload).

All of this information is accessed as SDO DataObjects, and there is a schema declaration that specifies the overall structure of the SMO. The schema is generated by the WebSphere Integration Developer.

All SMOs have the same basic structure. The structure consists of a root data object called a ServiceMessageObject, which contains other data objects representing header, body and context data. The SMO body contains the message payload. The headers contain information that originates from a specific import or export binding. For example, a JMS Binding.

SMO provides an interface to access and modify message headers and message payloads. SMO can represent the logical content of many different types of message.

Figure 1. Overview of SMO structure. The headers, context and body of a ServiceMessageObjectThe headers, context and body of a ServiceMessageObject

WebSphere ESB and SMO

WebSphere ESB operates on messages that are in flight between interaction endpoints. Within WebSphere ESB, mediation flows process messages as SMOs.

Messages can come from a number of sources, so SMO has to be able carry different kinds of message header. The kinds of message headers handled by WebSphere ESB are:
  • Web Services message headers.
  • Service Component Architecture (SCA) message headers.
  • Java Message Service (JMS) message headers.
  • WebSphere Adapter message headers.

WebSphere ESB SMO runtime

WebSphere ESB creates SMO objects, which are then available to mediation flows.

Some of the SMO objects created by the runtime are implemented by classes supplied by the runtime. For example, the ServiceMessageObject class is supplied by WebSphere ESB. Some of the SMO header classes are also supplied by the runtime. Other SMO objects created by the runtime are implemented by classes created by a developer.

When creating mediation flows, WebSphere Integration Developer specifies the type of message body for each terminal (input, output or fail) and, optionally, the type of context information. WebSphere ESB uses this information to convert messages into SMO objects of the specified type.


Concept topic

Terms of Use | Rate this page

Timestamp iconLast updated: 13 Dec 2005
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc\concepts\cwesb_sca_smo.html

(C) Copyright IBM Corporation 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)