WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Objets SMO (Service Message Object)

Les objets message de service (SMO) offre une couche d'abstraction pour traiter et manipuler les messages échangés entre les services.

Modèle SMO

Les primitives de médiation traitent les messages comme des SMO. Les SMO sont des objets SDO avancés et le modèle SMO est un modèle permettant d'utiliser les objets de données SDO DataObjects pour représenter les messages. SMO contient une représentation des groupes de données suivants :
  • Informations d'en-tête associées au message. Par exemple, des en-têtes JMS (Java™ Message Service) si un message est transmis via l'API JMS, ou des en-têtes MQ si les messages proviennent de WebSphere MQ.
  • Corps du message : charge du message. La charge du message correspond aux données d'application échangées entre 2 noeuds finaux de service.
  • Pièces jointes du message.
  • Informations contextuelles (données autres que la charge du message).

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.

Contenu SMO

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.

Les en-têtes SMO contiennent des informations provenant d'une liaison d'importation ou d'exportation spécifique (une liaison indique le format du message ainsi que les caractéristiques du protocole). Les messages peuvent provenir d'un grand nombre de sources, l'objet SMO doit donc pouvoir transporter différents types d'en-tête de message. Les types d'en-tête de message gérés sont les suivants :
  • En-têtes de message de service Web.
  • En-têtes de message SCA (Service Component Architecture).
  • En-têtes de message Java Message Service (JMS).
  • En-têtes de message WebSphere MQ.
  • En-têtes de message WebSphere Adapters.

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.

Si un message SOAP comporte des pièces jointes non référencées, celles-ci sont stockées dans les éléments de pièces jointes SMO. Les pièces jointes non référencées sont des parties MIME incluses dans un message SOAP/HTTP et non définies dans le type de port WSDL.
Remarque : Vous pouvez uniquement envoyer ou recevoir des pièces jointes SOAP lorsque le type de liaison du module est l'un des suivants : Liaison de service Web SOAP 1.1/HTTP avec JAX-WS, Liaison de service Web SOAP 1.2/HTTP avec JAX-WS ou Liaison SCA.

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.

Figure 1. Présentation de la structure SMO. Contexte, en-têtes, corps et pièces jointes d'un objet SMO (ServiceMessageObject)
L'objet ServiceMessageObject contient un contexte (une occurrence), des en-têtes (une occurrence), un corps (zéro ou une occurrence) et des pièces jointes (zéro ou plusieurs occurrences).

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.

Utilisation de l'objet SMO par le moteur d'exécution

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.


concept Rubrique concept

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/concepts/cwesb_sca_smo.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).