- Message-Oriented Middleware
-
Pour les articles homonymes, voir MOM.
Le terme Message-Oriented Middleware (MOM) désigne une famille de logiciels qui permettent l'échange de messages entre les applications présentes sur un réseau informatique. Les MOM font partie des éléments techniques de base des architectures informatiques. Ils permettent une forme de couplage faible entre applications.
Sommaire
Caractéristiques
- Transport de messages. Les messages comportent deux parties: l'en-tête technique, utilisée par le MOM et les données qui peuvent être dans n'importe quel format.
- Communication asynchrone. L'application émettrice d'un message et l'application réceptrice du message n'ont pas besoin d'être actives en même temps. La file d'attente reçoit le message de l'application émettrice et le stocke jusqu'à ce que l'application réceptrice vienne lire le message.
- Routage. Les messages peuvent être routés entre MOMs. Par exemple, pour router un message entre deux sites distants disposant chacun d'un MOM installé localement.
- Transformation des données. La plupart des MOM permettent de changer le format des données contenues dans les messages pour les adapter à l'application réceptrice. Cette capacité est proche de celle des outils d'EAI (Enterprise Application Integration) dont ils constituent parfois le noyau.
- Persistance des messages. Les messages présents dans les files d'attente peuvent être sauvegardés sur un support physique pour en assurer la conservation en cas de panne.
- Fiabilité. Chaque message envoyé par une application fait l'objet d'un accusé de réception par le MOM. Chaque application qui consomme un message envoie un accusé de réception au MOM. Couplé avec la persistance, ce mécanisme permet de garantir qu'aucun message ne sera perdu dans son transfert entre les applications.
Principes de fonctionnement
Les MOM ont deux modes de fonctionnement principaux :
- Point à point: une application produit des messages et une application les consomme. Les messages ne sont lus que par un seul consommateur. Une fois qu'un message est lu, il est retiré de la file d'attente.
- Publish Subscribe (par abonnement) : les applications consommatrices des messages s'abonnent à un topic (sujet, catégorie de messages). Les messages envoyés à ce topic restent dans la file d'attente jusqu'à ce que toutes les applications abonnées aient lu le message.
Normalisation
Dans le monde JAVA, l'API Java Message Service est la norme pour accéder aux fonctionnalités des MOM.
Liste de MOM
Open-source
Liste de MOM open-source (non exhaustive) :
- JORAM (OW2)
- ActiveMQ (Apache Software Foundation)
- OpenJMS (OpenJMS Group)
- JBoss Messaging (JBoss)
- RabbitMQ (AMQP)
Commercialisés
Liste de MOM commercialisés (non exhaustive) :
- IBM WebSphere MQ
- MSMQ de Microsoft
- EntireX de Software AG
- TIBCO Rendezvous, TIBCO EMS de Tibco Software
- Synchrony Messaging d'Axway
- SonicMQ de Progress Software
Voir aussi
Liens externes
Wikimedia Foundation. 2010.