Message Oriented Middleware MOM - Beghdad abdelkrim -abass youcef
PLAN Chapitre I : MOM. 1. définition d’un Middleware. 2.définition d’un MOM. 3. Les services d’un MOM. Chapitre II : JMS. 1. définition d’un JMS. 2. MODES DE COMMUNICATION Le mode point à point ou « queue » Le mode « publish-subscribe » ou « topic ». 3. model de programmation d'un jms. 4. les composants d’un jms. 5. Encodages du corps des messages. 6. Fournisseurs JMS les plus POPULAIRE. 2
Chapitre I : MOM 3 Message Oriented Middleware
MOM Définition et le rôle de Un Middleware : Un Middleware : est un logiciel qui va fournir des services à une application au-delà des services fourni par l’os. Le rôle du middleware :est de fournir des services spécialises récurrents comme les traitement De données, le stockage des données ou les échanges de messages. - parmi ces middleware, il y en a u qui permet aux applications de communiquer par des échanges de messages c’est : le middleware d’échanges asynchrones ‘MOM’ 4
DÉFINITION Les MOMs sont des middlewares, des outils d’échange qui permettent à des applications de communiquer en échangeant des messages. Le MOM ne s’intéresse pas au contenu du message, il ne fait que le transmettre, et il le remet au destinataire sans y avoir apporté de changement. MOM 5
Les services d’un MOM Un service fiable : Le MOM garantit à l'application que le message qui lui est confié ne sera pas perdu. Un service asynchrone : l’orceque le producteur de message envoie le message et le consommateur de ce message et injoignable (saturer, empanne,arrête …) le mom attendra que le consommateur remarche pour le servir leur message. 6
Les services d’un MOM Une indirection de nommage : le producteur ne connaitre pas n’est le nom n’est le réseau de le producteur. Pas de transformation des données: À la différence d'autres middleware, et en particulier la famille des ORB, les MOMs ne prennent pas en charge de transformation de la représentation des données. Les applications échangeant grâce au MOM doivent donc « parler le même langage », c'est-à-dire représenter leurs objets (chaînes, nombres, matrices, classes, dates, etc.) de la même manière. 7
JMS JAVA MESSAGING SYSTEM Chapitre II: 8
JAVA MESSAGING SYSTEM : Définition : - JMS est l'API de communication asynchrone via Message de Java. C’est l’API qui permet à une application d’invoquer les services d’un MOM. - JMS fait partie de JEE 5 et est ainsi disponible aux applications tournant sur des serveurs applicatifs Java. 9
JAVA MESSAGING SYSTEM Mode de Communication : La spécification JMS introduit deux modes de communication, les «domaines JMS »: - les topics. - les queues. 10
MODES DE COMMUNICATION Le mode point à point ou « queue » : - Ce mode de communication est aussi appelé communication via queue Une application envoie des messages à une queue. Une seule des applications connectées reçoit le message. - Il peut y avoir plusieurs applications en lecture sur la queue, mais une seule d’entre elles recevra le message. 11
Le mode point à point ou « queue » 12
MODES DE COMMUNICATION Le mode « publish-subscribe » ou « topic » : Ce mode de communication est aussi appelé communication via topic. Une application envoie des messages à des topic. Dans ce mode, on dit que les applications s'abonnent (subscribe) à un topic, afin de recevoir les messages. Plusieurs applications peuvent être abonnées à un même topic, et chacune d'elles reçoit une copie des messages. C’est donc un échange de 1 vers N, mais qui peut être aussi bien « de P vers N », car plusieurs applications peuvent écrire dans le topic. 13
Le mode « publish-subscribe » ou « topic » : 14
model de programmation d'un jms : 15
les composants d’un jms : JMS Client : Un client JMS est une application écrite en Java envoyant et/ou recevant des messages au moyen de l’API JMS. JMS Provider : Un Fournisseur JMS est une implémentation des services JMS écrite en Java. JMS Consumer : Un Consommateur JMS est une application qui reçoit et traite des messages JMS. 16
les composants d’un jms : JMS Producer : Un Producteur JMS est une application qui crée et envoie des messages JMS. Une même application peut être à la fois JMS Producer et Consumer. JMS Message : Le message JMS est l'unité fondamentale de JMS. Il est envoyé et reçu par des Client JMS. 17
les composants d’un jms JMS Domains : Les deux domaines JMS correspondent aux deux modes de communication déjà évoqués : point à point avec les queues ou publish-subscribe avec les topics. Destination : Les objets destinations sont des objets servant à identifier la cible des messages à envoyer ou à recevoir, c'est-à-dire des domaines, queues et topics. 18
Encodages du corps des messages : Le corps des messages peut être encodé selon les 5 type de message: TextMessage : Le corps contient des caractères. BytesMessage: Le corps contient une suite de bytes, selon le langage Java. ObjectMessage : Ce type permet de transférer un objet java. 19
Encodages du corps des messages : MapMessage : Le corps contient une map. Une map est un type de données reliant une clef (codée en String) a une valeur (codée en String, Double ou Long). StreamMessage Ce type permet de concaténer plusieurs type natif (String, Double ou Long).
Fournisseurs JMS les plus Populaire: No.JMS Provider SoftwareOrganisation 1.WebSphere MQIBM 2.Weblogic MessagingOracle Corporation 3.Active MQApache Foundation 4.Rabbit MQRabbit Technologies 5.HornetQJBoss 6.Sonic MQProgress Software 7.TIBCO EMSTIBCO 8.Open MQOracle Corporation 21
Merci pour votre attention. 22