Objetos de mensajes de servicio (SMO) son Objetos de datos de servicio (SDO) ampliados. SMO proporciona una capa de abstracción para procesar y manipular los mensajes intercambiados entre los servicios.
Se accede a toda esta información como SDO DataObjects y hay una declaración de esquema que especifica la estructura general de SMO. El esquema lo genera WebSphere Integration Developer.
Todos los SMO tienen la misma estructura básica. La estructura se compone de un objeto de datos raíz denominado ServiceMessageObject, que contiene otros objetos de datos que representan los datos de cabecera, cuerpo y contexto. El cuerpo de SMO contiene la parte útil de los mensajes. Las cabeceras contienen información que se origina a partir de un enlace de importación o exportación específico. Por ejemplo, un enlace JMS.
SMO proporciona una interfaz para acceder a las cabeceras y las partes útiles de los mensajes y modificarlas. SMO puede representar el contenido lógico de muchos tipos diferentes de mensaje.
WebSphere Process Server opera en mensajes que estén en tránsito entre puntos finales de interacciones. En WebSphere Process Server, los flujos de mediación procesan mensajes como SMO.
WebSphere Process Server crea objetos SMO que, a continuación, quedan a disposición de los flujos de mediación.
Algunos de los objetos SMO creados por el tiempo de ejecución son implementados por las clases suministradas por el tiempo de ejecución. Por ejemplo, WebSphere Process Server suministra la clase ServiceMessageObject. Algunas de las clases de cabeceras de SMO también son suministradas por el tiempo de ejecución. Otros objetos SMO creados por el tiempo de ejecución son implementados por las clases creadas por un desarrollador.
Al crear flujos de mediación, WebSphere Integration Developer especifica que el tipo de cuerpo de mensaje para cada terminal (entrada, salida o error) y, opcionalmente, el tipo de información de contexto. WebSphere Process Server utiliza esta información para convertir mensajes en objetos SMO del tipo especificado.