Mais conteúdo relacionado Semelhante a Joram Use Cases OW2 Conference Nov10 (20) Joram Use Cases OW2 Conference Nov102. 2
Outline
MOMs & Joram
UC1: car certificates
UC2: air force communications
Conclusion
© ScalAgent Distributed Technologies – 2001-2010
3. 3
Messaging at the hospital
Emergency service Emergency service
The emergency MOM
front end back end
Orientation diagnosis
Patient file Patient file
1 2
Step 1: push
Doctor fills in a patient file, and pushes it on a waiting queue (with proper orientation and QoS)
Step 2: pull
The first available doctor (matching orientation) handles the first file from the queue, some time later
© ScalAgent Distributed Technologies – 2001-2010
4. 4
Messaging for you and me
Sending a letter The postal MOM Receiving the letter
1 2
Step 1: push
You write a letter, and pushes it into a public mailbox (with proper address)
Step 2: pull
I read the letters from my private mailbox, some time later
© ScalAgent Distributed Technologies – 2001-2010
5. 5
« Messaging » – Basic principles
Weak coupling of actors
Indirect communication : (space)
Indirect naming of the target, multiple readers, changing reader, …
Delayed message consumption : (time)
Queuing « store-and-forward »
Application evolution & life cycle
Physical architecture, actors configuration, applications management
Common properties
Persistency and reliability, load-balancing
Standards
JMS (1999), AMQP (2010 ?)
© ScalAgent Distributed Technologies – 2001-2010
6. 6
JORAM
MOM Open-Source & 100% Java
Portable & light (jars < 1Mo), classical & embedded configurations
Certified JMS 1.1 standalone & J2EE as part of JOnAS
Highly efficient
1.000 to 25.000 msgs/s for a single server
Configurable and extendable
Deployment architecture
Internal architecture
OSGi components: communication, persistency, functional
Business components
collection / transformation / delivery (Mail, FTP, bridge, …)
© ScalAgent Distributed Technologies – 2001-2010
7. 7
Joram / AMQP / JMS
MOM (actually) distributed
Configurable deployment architecture
Client / centralized server : ‘hub-and-spoke’
Distributed : ‘snow-flake’ client
client
Joram
Peer-To-Peer Joram Joram
Joram
Provider
Evolutive & mixed Joram
JMS
Joram
Joram
client
client Joram
Scalable client
1 to 32.000 (actually) distributed servers
Supports multiples protocols : TCP, SSL, HTTP(s), UDP.
© ScalAgent Distributed Technologies – 2001-2010
8. 8
UC1 – car certificates
© ScalAgent Distributed Technologies – 2001-2010
9. 9
UC1 – car certificates
The application
Bull & Thales for the French Home Office
Open the administrative processes related to car certificates
Classic “centralized” Web application
Remote access to centralized processes & database
Great number of users
Prefecture – local representative for car owners operations
Car manufacturers – register batches of new vehicles
Car vendors – register new vehicles, register ownership changes
Car owners – read access, certificates, change of address ?
Police – read car status
© ScalAgent Distributed Technologies – 2001-2010
10. 10
UC1 – Context and constraints
Strong need for scalability & high availability
Potential users: all car owners (36.000.000)
Daily users: car manufacturers & vendors (24.000 at 04/10)
Load-balancing + fail-over
Some processes are asynchronous
Batch registration by car manufacturers
Operations with offline validation and/or processing
Application architecture with two levels
Front-end & back-end
Connected with a MOM
© ScalAgent Distributed Technologies – 2001-2010
11. 11
UC1 – Architecture 1/2
J2EE JOnAS application
Separated in two levels: front-end and back-end
Connected with a MOM: Joram
?
Web MOM
modjk Front-end Back-end SAN
Scalability by clustering
The MOM must help the clustered architecture
© ScalAgent Distributed Technologies – 2001-2010
12. 12
UC1 – Architecture 2/2
Load-balancing
Administered objects: ClusterConnectionFactory, ClusterDestination
Destination objects: ClusterQueue
High-availability
Using the SAN for the MOM data
... ...
© ScalAgent Distributed Technologies – 2001-2010
13. 13
UC1 – Conclusion
Scalability by clustering
Traditional approach
Impacts the internal architecture of the MOM for efficiency
Joram scales
Configurable architecture with cluster dedicated objects
Load balancing between clustered destinations
High availability with SAN support
Next step
Joram usage in a cloud
© ScalAgent Distributed Technologies – 2001-2010
14. 14
UC2 – French Air Force
The application
CS Systèmes d’Information for the French Air Force
Monitoring & control of a communication infrastructure
A truly distributed application
Large number of stations
Medium message load
Environment prone to failures
© ScalAgent Distributed Technologies – 2001-2010
15. 15
UC2 – French Air Force
The application
CS Systèmes d’Information for the French Air Force
Monitoring & control of a communication infrastructure
A truly distributed application
Large number of stations
Medium message load
Environment prone to failures
© ScalAgent Distributed Technologies – 2001-2010
16. 16
UC2 – Context and constraints
Truly distributed application
Patchwork network
WAN, LAN, ad-hoc
Low throughput, high latency, message loss
Major reliability requirement
Static hierarchical deployment
Failure recovery central
region4
region1 region2 … region4
station
station station
station … station
station
station station station
© ScalAgent Distributed Technologies – 2001-2010
17. 17
UC2 – Architecture
Joram configured in mode peer to peer
Ensures message reliability over a low quality network
Loosely coupled JNDI
Dedicated Network component
Joram servers configured with a hardened version of Network
Data compression, regulated data flow
Failure detection and recovery
TTL on messages, and DMQ for undelivered messages
Heartbeat between servers
Dynamic server reconfiguration
© ScalAgent Distributed Technologies – 2001-2010
18. 18
UC2 – Conclusion
Reliability by message store & forward
Basics of a MOM, should be true for a distributed application !
Joram provides it at MOM level, by configuring a peer-to-peer Joram
Distributing a MOM brings specific issues
Joram comes with all the sugar to makes this sweet
TTL, DMQ, heartbeat, dynamic reconfiguration, loosely coupled JNDI
Joram adapts to specific environments
Definition of a new Network component
Use the new component by configuring the Joram servers
© ScalAgent Distributed Technologies – 2001-2010
19. 19
Conclusion
MOM interfaces & internal architectures
JMS interface provides portability of client code
AMQP protocol provides interoperability between client and server
Inter server communications are not covered
MOM deployment value in its architecture
Joram conforms to JMS & AMQP
Joram architecture is configurable and extendable
Hub and spoke, snowflake, peer to peer
Clustered administered objects & destinations
Specialized components for communication, persistency, …
© ScalAgent Distributed Technologies – 2001-2010
20. 20
Conclusion
Joram configures for a wide range of applications
French car certificates
Clustered J2EE (also ACOSS, CVF, Geneva State, …)
French air force
WAN distribution over a specific network (also Eads, Sofrelog, Sacem, …)
CNES (French space agency)
Mixed constraints, EAI
Middleware for monitoring & control space missions
Specification CCSDS - Prototype currently being industrialized
Other OW2 projects
JOnAS(J2EE), FraSCAti (SCA), Petals ESB (JBI), Cloudware Initiative
© ScalAgent Distributed Technologies – 2001-2010