Principes et conseils : Java Message Service (JMS)
Rubriques
Introduction
Java Message Service (JMS) sert à la communication entre composants.
Grâce à ses caractéristiques, telles que la communication asynchrone et la garantie de délivrance, JMS est très apprécié pour les applications d'entreprise. Il peut être utilisé également pour la communication synchrone, mais son usage asynchrone est dominant.
Ces principes et conseils indiquent quand utiliser JMS et comment le modéliser, et abordent certaines considérations de conception.
Pour plus d'informations sur JMS, voir Concepts : Java Message Service.
Modélisation de JMS
Les clients JMS sont modélisés comme classes. Le diagramme suivant illustre une interaction typique d'un producteur de message dans l'envoi de messages avec JMS.
Dans cet exemple, la destination est une file d'attente.

Un client JMS doit implémenter l'interface du programme d'écoute du message. Le fournisseur de JMS s'assure qu'une méthode spéciale onMessage est appelée chaque fois qu'un message arrive.

Le diagramme suivant représente une configuration typique de client consommateur de JMS.

Conception d'applications JMS
Les applications JMS peuvent être conçues principalement de deux manières : point à point
et publication/souscription.
Dans un modèle point à point, JMS est utilisé pour fournir un message à UN client.

Les producteurs de messages communiquent avec un consommateur de message en envoyant les messages dans une file d'attente unique. En théorie, une file n'a qu'un seul consommateur, mais de nombreux fournisseurs de JMS permettent à plusieurs consommateurs de prendre en charge l'équilibrage des charges. Lorsque plusieurs consommateurs sont utilisés, chaque message est manipulé par un consommateur et un seul. Les messages sont conservés dans la file jusqu'à ce qu'ils soient consommés ou qu'ils expirent.
Dans un modèle publication/souscription, le pattern de communication permet à plusieurs producteurs d'envoyer des messages à plusieurs consommateurs. Les consommateurs s'abonnent aux rubriques et le middleware fournit les messages aux consommateurs.

Contrairement au modèle point à point, le modèle publication/souscription conserve les messages dans une rubrique jusqu'à ce que tous les clients l'aient reçu.
Remarque : Depuis JMS 1.1, vous pouvez combiner ces deux modèles dans la même application JMS.
|