Pour savoir où on va, il faut savoir d'où l'on vient

Vous avez
une question ?
Un projet ?

Contactez nous !
 

Contactez-nous

Vous avez une question ? un projet ? 
Vous souhaitez plus d'informations sur un produit ? sur notre offre ? 
Contactez-nous, on vous répond sous 4H.

retour

MOM et Message Queues

MOM et Message Queues

L’une des formes intéressantes de middleware est la famille des MOM, Message-Oriented Middleware, middleware à base de messages donc.

Dans ce modèle, une application interagit avec une autre application en lui adressant des messages, et le MOM se charge d’acheminer les messages de l’une à l’autre.

En fait, ce n’est pas tant l’aspect message qui caractérise le MOM, que l’aspect asynchrone, et quelques autres possibilités, que nous verrons plus loin.

Une caractéristique déterminante d’un MOM est la fiabilité, c’est à dire la garantie d’acheminement. Pour l’application émettrice, c’est un confort : elle remet le message au MOM, et elle passe à autre chose, en ayant l’assurance que le message parviendra à son (ses) destinataire(s). Les MOM ont donc presque toujours une forme de stockage persistant sécurisé, qui peut être une base de données. Même si le serveur de l’application émettrice s’arrête, les messages seront conservés jusqu’à ce qu’ils puissent finalement être acheminés. Le dispositif a donc par construction une bonne tolérance aux pannes.

La principale finalité du MOM est de permettre ce qu’on appelle un couplage lâche, ou faible, entre les applications qui interagissent, c'est-à-dire qu’elles dépendent peu les unes des autres. L’asynchronisme en est un aspect, mais l’identification de la file d’attente est également importante, elle crée une indirection dans la relation entre producteur et consommateur de messages : l’un et l’autre identifient la file d’attente, mais ni l’un ni l’autre n’a besoin de connaître son ‘partenaire’.

Il faut souligner aussi que même si dans le principe le message peut mettre un temps indéfini à être remis, dans la pratique cela peut être extrêmement rapide, quelques millisecondes à peine. Mais même si l’aller-retour en MOM peut se faire de manière quasi-immédiate, on ne doit jamais compter dessus, et par exemple laisser un internaute en attente d’un aller-retour MOM.

 

Les messages ne transitent pas d’un MOM à un autre de manière transparente. Il n’y a guère de standard en matière de MOM, de sorte qu’il devient structurant pour une architecture. Par ailleurs, contrairement à REST (que l’on évoquera plus loin), qui ne requiert qu’un serveur web ordinaire, un MOM est un vrai produit, un composant supplémentaire à déployer dans votre infrastructure.