Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Joram Use Cases OW2 Conference Nov10

917 vues

Publié le

Publié dans : Technologie, Formation
  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

Joram Use Cases OW2 Conference Nov10

  1. 1. Joram configurationfrom clustering to WAN distribution Serge Lacourte ScalAgent Distributed Technologies Serge.Lacourte@scalagent.com www.scalagent.com
  2. 2. 2Outline MOMs & Joram UC1: car certificates UC2: air force communications Conclusion © ScalAgent Distributed Technologies – 2001-2010
  3. 3. 3Messaging 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. 4Messaging 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. 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. 6JORAM 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. 7Joram / 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. 8UC1 – car certificates © ScalAgent Distributed Technologies – 2001-2010
  9. 9. 9UC1 – 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. 10UC1 – 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. 11UC1 – 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. 12UC1 – 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. 13UC1 – 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. 14UC2 – 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. 15UC2 – 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. 16UC2 – 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. 17UC2 – 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. 18UC2 – 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. 19Conclusion 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. 20Conclusion 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