Liens

Configurer Xinetd pour IBM WebSphere MQ
Ces pages décrivent ce que sont les Message Oriented Middleware (MOM), appelés aussi parfois Brokers de messages, ainsi que l'API standard d'utilisation de ces middlewares dans le monde Java et Java EE, (Appelée J2EE auparavant) l'API Java Message Service (JMS), spécifiée par Sun Microsystems en 1998, et implémentée depuis par les éditeurs de MOM.
Message Oriented Middleware, Communication en mode message, Store and Forward, Publish/Subscribe, échanges asynchrones, Providers, Messages, Header, Properties, JMS, Java Message Service, Message Broker, connecteurs.
La définition standard du terme de Peer to Peer désigne sur Internet un échange de données ou de fichiers d'un machine à une autre (en Français d'égal à égal), un MOM est un logiciel serveur dont le rôle est de fédérer l'envoi et la réception de ces messages entre les différents types d'applications.
La communication de deux applications via un Message Oriented Middleware est complètement asynchrone, c'est à dire que l'émetteur et le destinataire n'ont pas besoin d'être connectés simultanément lorsqu'ils communiquent.
La communication n'est synchrone qu'entre l'emetteur et le MOM d'une part, et le MOM et le destinataire d'autre part.
Une file d'attente peut aussi être utilisée pour plusieurs couples d'applicatifs (pas besoin de dédier une file par liaison applicative) puisque les MOM comportent différents critères de sélection de messages lors de la lecture.
Par ailleurs, comme c'est le cas pour une table d'une base de données, les messages peuvent être aussi consultés sans être lus, c'est ce qu'on appele le mode "browse".
Dans une telle architecture où les messages sont échangés par un intermédiaire logiciel, on parle aussi de Store and Forward: le MOM stocke le message et le route par la suite à son destinataire lorsque celui-ci le demande.
Le délai entre la phase "Store" et la phase "Forward" ne dépend que de l'application destinataire.
Ce mode de fonctionnement est à l'opposé des modes connectés de communication entre deux applications.
Par extension, on parle de Provider JMS pour un Middleware Orienté Message qui implémente la norme JMS définie par Sun.
On utilise aussi parfois le terme de Broker, mais son utilisation ne se limite pas aux MOM: la plupart des produits d'EAI sont aussi appelés Brokers.
Certains messages peuvent être sans données, avec seulement une entête et des propriétés. D'autres peuvent contenir des messages textes, ou des données sérialisées comme c'est le cas avec les ObjectMessage de JMS.
Dans tous les cas, le rôle du MOM se borne à véhiculer ces données, en aucun cas il ne doit les modifier ou les altérer.
Le message est alors transféré par le Middleware Orienté Message vers le noeud Américain de façon transparente pour l'applicatif émetteur.
Généralement, un message devant être routé sur un autre noeud possède des caractéristiques spéciales dans son entête permettant au MOM de savoir qu'un routage est demandé.
Les messages disponibles à partir d'une certaine date constituent également une fonctionnalité optionnelle offerte par certains MOM comme Synchrony Messaging.
Les autres secteurs utilisateurs de MOM incluent, par exemple, le Data Warehouse, les messageries inter-bancaires (par exemple le broker de messages open source AMQ) ainsi que la diffusion d'informations.
L'autre avantage de ce mode de communication est d'éviter d'implémenter pour chaque type de communication un service spécifique: chaque application s'adresse au serveur de messages et utilise donc toujours les APIs de ce dernier.
De plus, les MOM sont des logiciels portés sur de nombreux systèmes d'exploitation et proposant des API dans plusieurs langages, ce qui facilite la connectivité entre des applications hétérogènes qui tournent sur des systèmes d'exploitation aussi divers qu'Unix, Windows ou MVS.
C'est ainsi que l'on a vu disparaitre progressivement des systèmes d'informations les multiples interfaces entre applications formant ce qu'on a appelé alors "le plat de spaghettis", dans les débuts de l'EAI.
Un autre avantage des MOM est qu'ils sont insensibles (au moins temporairement) à l'indisponibilité des applications, en ce sens que dès qu'un message est envoyé au MOM ou reçu par l'applicatif, cet applicatif peut s'arrêter, puisque la connexion entre l'application et le MOM n'est requise que pendant l'échange du message.
De plus, dans le cas où le MOM a la charge de lancer les applicatifs consommateurs des messages, des mécanismes de ré-essai sont généralement en place pour relancer l'applicatif si celui-ci venait à ne pas répondre la première fois.
Cette contrainte est largement contrebalancée par le fait qu'avec un MOM, on s'affranchit alors de l'implémentation de la couche d'envoi/réception de messages au sein même des applicatifs.
De la même façon, si l'on devait écrire une base de données chaque fois que l'on a besoin des services d'un tel middleware, on serait rapidement embêté !
On critique ensuite les MOM pour leur manque de standards.
Cette critique n'est pas recevable dans la mesure où la plupart des MOM actuels implémentent tous l'interface JMS, qui est le standard pour la communication en mode message en Java.
Ensuite, les serveurs de Mails ne sont pas faits pour envoyer des messages trop volumineux, contrairement aux MOM qui savent le faire. Les MOM sont conçus pour être fiables et robustes mais aussi rapides, ce qui est beaucoup moins le cas avec les serveurs Mail.
Enfin, les MOM fonctionnent généralement suivant deux modes, le mode persistant ou les messages sont stoqués sur disque et le mode non persistant où ils résident en mémoire ; ce dernier étant très performant.
Néanmoins, les deux systèmes présentent des similitudes, comme la notion de destinataires, ou d'entêtes de messages, à tel point qu'il n'est pas rare de rencontrer des "bridges" de communication entre Middleware Orientés Messages et serveurs de Mails.
La dernière version de WebSphere MQ est la version 6.0.
Sonic MQ (Progress Software).
Le Queue Manager Joram maintenant intégré dans le serveur d'applications Jonas de l'Inria.
OpenJMS, le premier Middleware Orienté Message compatible JMS en Open Source.
| Modifié le: vendredi 18.06.2010 à 17:09:15 | © P-Y Fourmond, 2005-2008 |