joram java open reliable asynchronous messaging

13
JORAM J ava O pen R eliable A synchronous M essaging http://www.scalagent.com

Upload: leonie-faucher

Post on 03-Apr-2015

112 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: JORAM Java Open Reliable Asynchronous Messaging

JORAMJava Open Reliable

Asynchronous Messaging

http://www.scalagent.com

Page 2: JORAM Java Open Reliable Asynchronous Messaging

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

Page 3: JORAM Java Open Reliable Asynchronous Messaging

Message Oriented Middleware (MOM)

Modèle de communication entre logicielsIntégration de modules hétérogènes distribuésIndépendance (asynchronisme)Fiabilité

NT

Page 4: JORAM Java Open Reliable Asynchronous Messaging

Principe de base des MOM

Message QueueingQueues de messages persistantesTransmission 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

Page 5: JORAM Java Open Reliable Asynchronous Messaging

Caractéristiques des MOM

Modes de communication Point-à-point (PTP): émetteur, récepteur et queuePublication/Souscription (Pub/Sub): émetteur,

abonné et nœud

Modèle de programmationRéception explicite / implicite

Messages Messages dotés d’attributs et de propriétésPriorités, garantie de délivrance

Page 6: JORAM Java Open Reliable Asynchronous Messaging

L’interface Java Message Service (JMS)

API Java d’accès uniforme aux systèmes de messagerie

Provider X

JVM

Client

Client

Client

MQ X MQ XMQ X MQ X

JMS

ClientProvider X

JVM

Client

JMS

Page 7: JORAM Java Open Reliable Asynchronous Messaging

La plate-forme SCALAGENT

Bus logiciel à base d’agents communicants

Agents = objets réactifsPersistantsLé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 NotificationRéaction fonction dans la classe

Agent

Agent

React

SendTo

Channel

Agent

Page 8: JORAM Java Open Reliable Asynchronous Messaging

L’architecture distribuée SCALAGENT

Channel Engine

mq

Channel Engine

mq

AgentAgent

AgentAgent

SendTo React

Ser

ver

A

Server B

Infrastructure basée sur un bus à messagesAcheminement des notificationsExécution de la réaction du destinataireDistribution: forte interconnexion des bus locaux

Page 9: JORAM Java Open Reliable Asynchronous Messaging

Les propriétés de la plate-forme

PersistanceSauvegarde 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 causalLes notification sont délivrées

selon un ordre causal

B

CA

Page 10: JORAM Java Open Reliable Asynchronous Messaging

JORAM

JORAM est l’interface JMS du MOM SCALAGENT Les queues et topics sont des agentsLes messages sont encapsulés dans des notifications

Délivrance asynchroneGarantie de délivranceReprise après panne

Apports de l’infrastructure à agentsArchitecture totalement distribuéeScalabilité

Page 11: JORAM Java Open Reliable Asynchronous Messaging

JMS via le MOM ScalagentC

lient

s JM

S

QueueSender

QueueSession

QueueConnection

queue

Clie

nt

1

QueueReceiver

QueueSession

Clie

nt

2

QueueConnection

Connexion TCP

MOM ScalagentMessage JMS

Message JMS

Connexion TCP

Notification

Notification

Agent Proxy

Agent Proxy

Agent Queue

Page 12: JORAM Java Open Reliable Asynchronous Messaging

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 »

Page 13: JORAM Java Open Reliable Asynchronous Messaging

Points forts de JORAM

Architecture distribuéeFacilité de mise en oeuvrePassage à l’échelle

Implémentation complète des « Application Server Facilities »

Intégration au serveur EJB JOnAS

EmetteurServeur 2

Serveur 1

Serveur 0

QueueConnectionFactory

Queue

QueueConnectionFactory

Récepteur