Rubriques

IntroductionTo top of page

Le système de messagerie Java (JMS) offre un standard multiplate-forme pour la communication asynchrone des données de gestion et des informations circulant dans l'entreprise. La communication s'effectue généralement par l'intermédiaire des processus et des machines. Les objets des applications, qui s'exécutent habituellement sur différentes machines, communiquent en accédant aux services du middleware orienté messages (MOM), à travers un ensemble standard d'interfaces définies par la messagerie JMS.

Diagramme décrit dans le texte d'accompagnement.

JMS offre un ensemble d'interfaces qui isolent le programmeur Java (implémentant les producteurs et consommateurs de messages) des fournisseurs de services MOM.

Cette page décrit les concepts clés et l'utilisation typique de la messagerie JMS.

MessagesTo top of page

Un message correspond à un package d'un seul bloc comportant des données de gestion. Il possède trois compartiments :

  • L'en-tête : contient les informations d'acheminement des données et les identificateurs de messages.
  • Les propriétés : comportent les métadonnées du message. JMS dicte certaines de ces propriétés, mais les programmeurs d'applications peuvent également en ajouter.
  • Les données utiles : contiennent les véritables données de gestion. Les données utiles sont intégralement contrôlées par le programmeur d'applications.

Diagramme décrit dans le texte d'accompagnement.

Dans le système de messagerie JMS, le message est englobé dans un objet qui implémente l'interface javax.jms.Message. Un programme Java peut accéder aux compartiments par l'interface, tel que cela est illustré dans le diagramme suivant. Les données utiles varient très souvent ; elles seront traitées ultérieurement.

Diagramme décrit dans le texte d'accompagnement.

L' en-tête contient les propriétés du message qui doit toujours s'y trouver. Les propriétés suivantes sont disponibles dans l'en-tête :

  • ID message
  • Horodatage
  • ID de corrélation
  • Répondre à
  • Destination
  • Mode de livraison
  • Relivré
  • Type
  • Expiration
  • Priorité

Les propriétés peuvent être utilisées par le programmeur d'applications pour fournir des métadonnées au message. Les propriétés comportent un ensemble arbitraire de binômes nom/valeur.

Il existe six types de données utiles supportées par le système JMS:

  • Les messages textes
  • Les messages objets
  • Les messages d'octets
  • Les messages des Méthodes d'Analyse des Pannes
  • Les messages de flux
  • Le message (sans corps)

Les types de données utiles sont représentées dans la hiérarchie des classes où les interfaces étendent le javax.jms.Message. Dans le diagramme de classe suivant, nous décrivons les messages textes, objets et d'octets qui sont fréquemment utilisés. Les messages textes sont généralement les porteuses des données XML.

Diagramme décrit dans le texte d'accompagnement.

Destinations To top of page

JMS définit le concept d'une destination. Les destinations reçoivent et émettent des messages. Les destinations existent sous deux formes :

  • Les files d'attente
  • Les sujets

Les files d'attente sont les destinations des messages utilisées lorsque les messages sont gérés par un seul récepteur. En imaginant que les messages sont similaires à l'envoi de courriers ordinaires, les files d'attente sont des boîtes à lettres appartenant à un destinataire particulier. La communication utilisant des files d'attente s'appelle une communication point-à-point.

Les sujets sont des destinations de messages utilisées lorsque les messages doivent être reçus par différents récepteurs, dont chacun exprime l'intérêt de recevoir un type de message particulier. Par analogie au courrier ordinaire, on peut penser que ce phénomène est proche de la rédaction d'un article de journal ; un message est lu par une quantité quelconque de récepteurs. Nous faisons fréquemment référence à ce type de conception par le terme modèle d'édition et de souscription .

Communication des messages To top of page

La livraison des messages peut se faire suivant deux modes :

  • Persistant
  • Non-persistant

La livraison persistante comprend le stockage du message dans un fichier ou dans une base de données, ce qui permet de garantir la livraison. La livraison non-persistant améliore les performances et réduit le temps système de stockage ; en revanche, il n'y aucune garantie de livraison du message. Pour la plupart des applications utilisant le système JMS, la livraison persistante correspond à l'option la plus fréquemment choisie.

Clients JMS To top of page

Les clients JMS clients sont des objets Java qui utilisent le système JMS. Deux rôles sont définis :

  • Les producteurs de messages : programmes Java qui créent et émettent des messages.
  • Les consommateurs de messages : programmes Java qui reçoivent des messages.

Le diagramme suivant présente la manière dont le producteur, les consommateurs et les fournisseurs de JMS collaborent.

Diagramme décrit dans le texte d'accompagnement.

Un producteur de messages peut correspondre à n'importe quelle classe Java ayant accès à l'implémentation d'un service JMS. Les producteurs de messages créent et émettent des messages.

Un consommateur de messages peut être représenté par n'importe quelle classe Java ayant accès à l'implémentation d'un service JMS. Les consommateurs de messages reçoivent et traitent les messages.

Un client JMS utilise un ensemble d'interfaces pour accéder au service JMS. Les objets implémentant les interfaces JMS sont créés, en utilisant un ensemble de fabriques. La fabrique initiale est la fabrique de connexions. La fabrique de connexions est recherchée par l'intermédiaire de l'interface JNDI. Le client JMS utilise la fabrique de connexions pour créer l'objet de connexion. L'objet de connexion est employé pour générer un objet de session qui est utilisé comme une fabrique par rapport aux autres objets JMS. La figure suivante illustre les relations clés existant entre les fabriques, extraites des files d'attente et des domaines.

Diagramme décrit dans le texte d'accompagnement.

Il existe deux formes de fabriques de connexions, de connexions et de sessions : une relative aux files d'attente et l'autre relative aux domaines. Le diagramme de classes illustre la hiérarchie des interfaces des concepts clés du JMS.

Diagramme décrit dans le texte d'accompagnement.

Fournisseurs JMS To top of page

Un fournisseur JMS est une implémentation qui satisfait la spécification JMS. Le fournisseur JMS est chargé de la réception, de la sauvegarde et de la livraison des messages.

Plus d'informationsTo top of page

Pour plus d'informations sur le service JMS, veuillez consultez l'adresse http://java.sun.com/products/jms/.




This content developed or partially developed by Inferdata Corporation.

RUP (Rational Unified Process)   2003.06.15