JORAM Java Open Reliable Asynchronous Messaging - PowerPoint PPT Presentation

About This Presentation
Title:

JORAM Java Open Reliable Asynchronous Messaging

Description:

JMS normalise l'acc s des programmes Java aux middlewares messages (Message ... Les MOM permettent l'int gration d'applications h t rog nes et ind pendantes ... – PowerPoint PPT presentation

Number of Views:136
Avg rating:3.0/5.0
Slides: 14
Provided by: usersPoly
Category:

less

Transcript and Presenter's Notes

Title: JORAM Java Open Reliable Asynchronous Messaging


1
JORAMJava Open Reliable Asynchronous Messaging
  • http//www.scalagent.com

2
Introduction
  • JORAM implémente la norme JMS via la plate-forme
    SCALAGENT
  • JMS normalise laccès des programmes Java aux
    middlewares à messages (Message Oriented
    Middleware)
  • Les MOM permettent lintégration dapplications
    hétérogènes et indépendantes

3
Message Oriented Middleware (MOM)
  • Modèle de communication entre logiciels
  • Intégration de modules hétérogènes distribués
  • Indépendance (asynchronisme)
  • Fiabilité

4
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

5
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 dattributs et de propriétés
  • Priorités, garantie de délivrance

6
Linterface Java Message Service (JMS)
  • API Java daccès uniforme aux systèmes de
    messagerie

7
Le mode Point-à-Point (PTP)
QueueConnectionFactory connectionFactory
(QueueConnectionFactory) messaging.lookup("") Qu
eue queue (Queue) messaging.lookup("") QueueCo
nnection connection connectionFactory.createQueu
eConnection() QueueSession session
connection.createQueueSession()
TextMessage msg session.createTextMessage() msg
.setText("") sender.send(msg)
QueueSender sender session.createSender(queue)
TextMessage msg (TextMessage)
receiver.receive()
String selector new String("(name 'Bull') or
(name 'IBM'))") QueueReceiver receiver
session.createReceiver(queue, selector)
8
Mode Publication / Souscription (Pub/Sub)
Emetteur
Destinataire
TopicConnectionFactory
Topic
A
B
x
y
TopicConnectionFactory connectionFactory
(TopicConnectionFactory) messaging.lookup("") To
pic topic (Topic) messaging.lookup("/A/x") Topi
cConnection connection connectionFactory.createT
opicConnection() TopicSession session
connection.createTopicSession(false,
Session.CLIENT_ACKNOWLEDGE)
TopicPublisher publisher session.createPublisher
(topic)
onMessage
publisher.publish(msg)
void onMessage(Message msg) throws JMSException
// unpack and handle the message
TopicSubscriber subscriber session.createSubscri
ber(topic) Subscriber.setMessageListener(listener
)
9
La plate-forme SCALAGENT
  • Bus logiciel à base dagents communicants
  • Agents objets réactifs
  • Persistants
  • Légers infrastructure dexécution partagée au
    sein dun serveur dagents
  • 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
10
Larchitecture 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
11
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

12
JORAM
  • JORAM est linterface 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 linfrastructure à agents
  • Architecture totalement distribuée
  • Scalabilité

13
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
14
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
    quun 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 

15
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
Write a Comment
User Comments (0)
About PowerShow.com