130 likes | 262 Views
JORAM J ava O pen R eliable A synchronous M essaging. http://www.scalagent.com. Introduction. JORAM implémente la norme JMS via la plate-forme S CALAGENT JMS normalise l’accès des programmes Java aux middlewares à messages ( M essage O riented M iddleware)
E N D
JORAMJava Open Reliable Asynchronous Messaging http://www.scalagent.com
Introduction • JORAM implémente la norme JMS via la plate-forme SCALAGENT • JMS normalise l’accès des programmes Java aux middlewares à messages (Message Oriented Middleware) • Les MOM permettent l’intégration d’applications hétérogènes et indépendantes
NT Message Oriented Middleware (MOM) • Modèle de communication entre logiciels • Intégration de modules hétérogènes distribués • Indépendance (asynchronisme) • Fiabilité
Principe de base des MOM • Message Queueing • Queues de messages persistantes • Transmission des messages asynchrone (stockage des messages si nécessaire) • Reprise après panne • Un émetteur remet son message au système et peut continuer son exécution sans se soucier de l’état du destinataire
Caractéristiques des MOM • Modes de communication • Point-à-point (PTP): émetteur, récepteur et queue • Publication/Souscription (Pub/Sub): émetteur, abonné et nœud • Modèle de programmation • Réception explicite / implicite • Messages • Messages dotés d’attributs et de propriétés • Priorités, garantie de délivrance
Client Client Client JMS JMS Client Client Provider X Provider X JVM JVM MQ X MQ X MQ X MQ X L’interface Java Message Service (JMS) • API Java d’accès uniforme aux systèmes de messagerie
SendTo React Agent Agent La plate-forme SCALAGENT • Bus logiciel à base d’agents communicants • Agents = objets réactifs • Persistants • Légers : infrastructure d’exécution partagée au sein d’un serveur d’agents • Modèle événement / réaction asynchrone • Événement : changement d’état significatif du système auquel un ou plusieurs agents réagissent • Événement Notification • Réaction fonction dans la classe Agent Channel
L’architecture distribuée SCALAGENT • Infrastructure basée sur un bus à messages • Acheminement des notifications • Exécution de la réaction du destinataire • Distribution: forte interconnexion des bus locaux Agent Agent Agent Agent SendTo React Channel Engine Channel Engine Server A Server B mq mq
A C B Les propriétés de la plate-forme • Persistance • Sauvegarde des agents et notifications • Atomicité • Cohérence garantie par un moniteur transactionnel • Persistance + Atomicité = Fiabilité • Une notification est délivrée une et une seule fois • Ordonnancement causal • Les notification sont délivrées selon un ordre causal
JORAM • JORAM est l’interface JMS du MOM SCALAGENT • Les queues et topics sont des agents • Les messages sont encapsulés dans des notifications • Délivrance asynchrone • Garantie de délivrance • Reprise après panne • Apports de l’infrastructure à agents • Architecture totalement distribuée • Scalabilité
QueueSender QueueSession QueueSession QueueConnection QueueConnection QueueReceiver JMS via le MOM Scalagent Message JMS MOM Scalagent Client 1 Agent Proxy Connexion TCP Notification Agent Queue Clients JMS queue Notification Agent Proxy Connexion TCP Client 2 Message JMS
Intégration dans JOnAS • JORAM implémente la partie ASF (Application Server Facilities) de la spéc. JMS • Intégration de JORAM en tant que ressource dans un environnement transactionnel distribué tel qu’un serveur EJB • Envoi et réception de messages dans des transactions gérées par le serveur EJB • Réception asynchrone via les « Message-driven Beans »
Serveur 1 Queue Serveur 0 QueueConnectionFactory QueueConnectionFactory Emetteur Récepteur Serveur 2 Points forts de JORAM • Architecture distribuée • Facilité de mise en oeuvre • Passage à l’échelle • Implémentation complète des « Application Server Facilities » • Intégration au serveur EJB JOnAS