L'interface de programmation Java Message Service (JMS) permet d'envoyer et de recevoir des messages de manière asynchrone entre applications ou composants Java. JMS permet d'implémenter une architecture de type MOM (message oriented middleware). Un client peut également recevoir des messages de façon synchrone dans le mode de communication point à point.

L'API JMS permet aux applications Java de s'interfacer avec des intergiciels (middleware) à messages ou MOM. Les MOM permettent des interactions entre composants applicatifs dans un cadre faiblement couplé, asynchrone et fiable.

Modèles de publication supportés

modifier

JMS permet l'échange de messages entre deux systèmes ou plus. Ce service supporte le modèle publication-abonnement (publish-subscribe) et le modèle point à point.

Publication et abonnement

modifier

Dans le modèle publication-abonnement, des entités s’inscrivent sur un topic pour recevoir des messages. En effet, il ne s'agit plus d'envoyer des messages sur une file (queue) mais sur un topic. Celui qui publie les messages et ceux qui les reçoivent ne se connaissent pas.

Point à point

modifier

Pour le modèle point à point, le producteur publie les messages dans une file (queue) et le consommateur lit les messages de la file. Dans ce cas le producteur connaît la destination des messages et poste les messages directement dans la file du consommateur. Pour utiliser ce modèle, le consommateur doit invoquer la méthode receive() qui est bloquante

Versions de l'API JMS

modifier
  • JMS 1.0.2b, juin 2001
  • JMS 1.1, mars 2002
  • JMS 2.0 (JSR 343), 20 mars 2013

Fournisseurs de service JMS

modifier

Pour utiliser l'API JMS il est nécessaire d'avoir un fournisseur de service qui gère les connexions, les sessions, les destinations et les messages. Il y a de multiples fournisseurs de service JMS :

Implémentation Open Source

modifier

Articles sur les implémentations open-source de JMS :

Implémentations commerciales

modifier

Articles sur les implémentations commerciales de JMS :

Tous les serveurs d'applications Java EE à partir de la version 1.4 doivent fournir un service JMS, ce service doit être accessible au travers de JCA (Java connector architecture).

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Enterprise service bus

d'entreprise (EAI) construite sur des standards comme XML, Java Message Service (JMS) ou encore les services web. La différence majeure avec l'EAI est que l'ESB

File d'attente de message

logiciels fournissant ce type de service font partie des « Message-Oriented Middleware » ou MOM. Les files d'attente de message permettent le fonctionnement

Advanced Message Queuing Protocol

avaient surtout porté sur les interfaces de programmation API comme Java Message Service sans aboutir à une interopérabilité effective entre les différents

Jakarta EE

Java SE Jakarta EE Java ME JavaFX Java Card Jakarta EE (anciennement Java 2 Platform, Enterprise Edition, ou J2EE /ʒi.dø.ø.ø/, puis Java Platform, Enterprise

Message-oriented middleware

que toutes les applications abonnées aient lu le message. Dans le monde Java, l'API Java Message Service est la norme pour accéder aux fonctionnalités des

Gmail

américain /ˈd͡ʒiˌmeɪl/) est un service de courriel, gratuit pour les particuliers, proposé par Google Workspace. Les messages reçus sur un compte Gmail peuvent

Architecture orientée services

grâce à l’échange de messages. Chaque message est porteur de la sémantique particulière à la solution logicielle. De plus ce message est rédigé dans un

OW2 JORAM

implémentation open-source (LGPL) d'un intergiciel à messages (MOM), il implémente l'API Java Message Service (JMS) 1.1, 2.0 et Jakarta JMS 3.0. Joram est certifié