Los objetos de mensajes de servicios (SMO) son objetos de datos de servicio (SDO) mejorados. Un SMO proporciona una capa de abstracción para procesar y manipular mensajes intercambiados entre servicios.
El acceso a toda esta información se realiza a través de objetos SDO y existe una declaración de esquema que especifica la estructura general del SMO. El esquema se genera mediante WebSphere Integration Developer.
Todos los SMO tienen la misma estructura básica. La estructura está formada por un objeto de datos raíz denominado ServiceMessageObject, que contiene otros objetos de datos que representan los datos de cabecera, del cuerpo y del contexto. El cuerpo del SMO contiene la carga del mensaje. Las cabeceras contienen información que se origina a partir de un enlace de importaciones o exportaciones específica. Por ejemplo, un enlace JMS.
El SMO proporciona una interfaz para acceder a cabeceras y cargas de mensaje y modificarlas. Un SMO puede representar el contenido lógico de varios tipos de mensajes.
WebSphere ESB opera en mensajes que se encuentran de camino entre los puntos finales de interacción. En WebSphere ESB, los flujos de mediación procesan mensajes en forma de SMO.
WebSphere ESB crea objetos SMO, que luego están disponibles para los flujos de mediación.
Algunos de los objetos SMO creados por el entorno de ejecución se implementan mediante clases proporcionadas por el entorno de ejecución. Por ejemplo, WebSphere ESB suministra la clase ServiceMessageObject. El entorno de ejecución también suministra algunas de las clases de cabecera de SMO. Otros objetos SMO creados por el entorno de ejecución se implementan mediante clases creadas por un desarrollador.
Cuando se crean flujos de mediación, WebSphere Integration Developer especifica el tipo de cuerpo de mensaje para cada terminal (entrada, salida o error) y, opcionalmente, el tipo de información de contexto. WebSphere ESB utiliza esta información para convertir mensajes en objetos SMO del tipo especificado.