Les objets message de service (SMO) offre une couche d'abstraction pour traiter et manipuler les messages échangés entre les services.
Toutes ces informations sont accessibles sous forme d'objets SDO DataObjects et il existe une déclaration de schéma qui définit la structure globale de l'objet SMO. Le schéma est généré par WebSphere Integration Developer.
Tous les objets SMO ont la même structure de base. Cette structure consiste en un objet données racine appelé ServiceMessageObject, qui contient d'autres objets de données représentant l'en-tête, le corps, les pièces jointes et les données de contexte. La structure exacte de l'en-tête, du corps et du contexte dépend de la manière dont vous définissez le flux de médiation au moment du développement d'intégration. Le flux de médiation est utilisé en phase d'exécution pour établir une médiation entre les services.
En règle générale, la structure du corps SMO, qui conserve les données d'application, est déterminée par le message Web Services Description Language (WSDL) que vous indiquez au moment de la configuration d'un flux de médiation.
Les objets de contexte SMO sont définis par l'utilisateur ou par le système. Des objets de contexte définis par l'utilisateur vous permettent de conserver une propriété pouvant être utilisée ultérieurement par les primitives de médiation dans le flux. Vous définissez la structure d'un objet de contexte défini par l'utilisateur dans un objet métier, et utilisez cet objet métier dans le noeud d'entrée du flux de demande. Le contexte de corrélation, le contexte transitoire et le contexte partagé sont des objets de contexte définis par l'utilisateur.
L'objet SMO offre une interface pour accéder aux en-têtes, aux charges utiles, aux pièces jointes et au contexte de message et les modifier.
L'environnement d'exécution agit sur les messages en transit entre des noeuds finaux d'interaction. Il crée des objets SMO, qui sont utilisés par le flux de médiation pour traiter un message.
Lors de la création de flux de médiation, WebSphere Integration Developer définit le type du corps du message pour chaque terminal (entrée, sortie ou échec) et, en option, le type d'information de contexte. L'environnement d'exécution utilise ces informations pour convertir les messages en objets SMO du type spécifié.
Pour permettre le routage dynamique, les noeuds d'interaction peuvent être recherchés via WebSphere Service Registry and Repository (WSRR), ou une base de données. Le résultat de la demande WSRR, ou de la consultation de base de données, peut être stocké dans un emplacement particulier de l'objet SMO, d'où l'environnement d'exécution prendra le noeud final dynamique.