Petals DSB - Current Status

1,341
-1

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,341
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Petals DSB - Current Status

  1. 1. PetalsDistributedService BusCurrentStatus…<br />Christophe Hamerling<br />PetalsLink Labs<br />Juillet 2011<br />
  2. 2. Introduction<br />
  3. 3. Introduction<br />Résultat principal de SOA4All<br />Basé sur Petals ESB (v3.0.4)<br />Evolutions mineures depuis la 3.0.4…<br />
  4. 4. Concepts<br />Etendre Petals ESB pour<br />Communiquer plus facilement en utilisant des protocoles ‘Internet-Friendly’ (IF)<br />Masquer la complexité JBI:<br />Offrir des APIs simples<br />Automatiser<br />‘Scaler’ dans un/N domaines<br />Connecter/Fédérer des domaines indépendants<br />…<br />
  5. 5. Comment étendre?<br />Services (Kernel)<br />Les services de base sont les mêmes<br />Ajout de services reposant les services de base<br />Ajout de nouveaux services<br />Remplacement de services<br />Distribution<br />Ajout/modification des fichiers de configuration<br />
  6. 6. Architecture<br />
  7. 7. Petals ESB Architecture<br />JMX API<br />Messaging API<br />Messaging<br />Management<br />Configuration<br />Delivery Channel<br />Topology<br />Router<br />Local Config<br />Deployment<br />Distribution<br />Installation<br />Transporters<br />Network<br />LifeCycle<br />Registry<br />Node APIs<br />
  8. 8. Petals DSB Architecture<br />JMX API<br />WS API<br />Messaging API<br />Messaging<br />Management<br />Configuration<br />Delivery Channel<br />Topology<br />Router<br />ProtocolsBinding<br />Local Config<br />Deployment<br />Distribution<br />Installation<br />Transporters<br />Network<br />LifeCycle<br />Registry<br />Node APIs<br />Federation API<br />
  9. 9. Communiquer<br />
  10. 10. Petals ESB Communications<br />Nœud A<br />Nœud N<br />NIO<br />JMX<br />SOAP/HTTP<br />
  11. 11. PetalsDSB Communications<br />Nœud A<br />Nœud N<br />SOAP/HTTP<br />
  12. 12. Communiquer sur Internet?<br />ESB kernel demande trop d’ouvertures de ports entre différents noeuds<br />Registry<br />Transport (NIO pas vraiment IF)<br />JMX<br />Se rajoutent les ‘binding components’<br /><ul><li>Utiliser SOAP/HTTP et le même port pour le point 1</li></li></ul><li>To JBI or not?<br />
  13. 13. Avec l’ESB<br />InternalEndpoint activation<br /><ul><li>An endpoint is activated by deploying a configuration artefact to the component (BC or SE)‏
  14. 14. This configuration artefact is a ZIP archive containing
  15. 15. a XML file with some basic information
  16. 16. The Service Name
  17. 17. The Interface Name
  18. 18. The Endpoint Name
  19. 19. A reference to the WSDL description
  20. 20. Additional parameters (specific to component, ie BPEL process file name, Drools file name…)‏
  21. 21. The WSDL file (optional)‏
  22. 22. Additional resources like BPEL process file, Drools file…
  23. 23. The activated endpoint is registered in the Technical Service Registry and is now reachable by all the Service Bus Services Consumers</li></li></ul><li>Masquer la complexité JBI?<br />Un utilisateur de la plateforme ne doit pas<br />manipuler JBI pour lier ses services!<br />manipuler les composants JBI<br />Et donc s’occuper des cycles de vie JBI<br />Le DSB fournit une API SOAP extensible<br />SOAP: bind(WSDL), proxify(WSDL), expose(DSBEndpoint)<br />REST: bind(REST), proxify(REST), expose(DSBEndpoint)<br />BPEL: deploy(BPEL)<br />…<br /><ul><li>Le DSB est en charge de générer les artefacts nécessaires
  24. 24. Le DSB est en charge de démarrer les composants quand il le faut</li></li></ul><li>Monitoring & Management<br />
  25. 25. Business Service Management<br />Exposer une API (business) commune pour tout les nœuds (choix SOA4All)<br />Tout les services ‘bindés’ sont automatiquement exposés sur tout les nœuds du domaine<br />
  26. 26. Business Service Propagation<br />Bind(serviceAwsdlURL)<br />Man<br />SOAP<br />Man<br />SOAP<br />SOAP<br />SOAP<br />ServiceA<br />
  27. 27. Service Monitoring<br />Niveau DSB<br />Intégré au Routeur (seule couche extensible)<br />Modules<br />Timestamp<br />Report Generation + Send<br />Les rapports sont envoyés au module de routage<br />a charge a l’implémentation de traduire de la bonne facon<br />
  28. 28. SOA4All<br />Studio (GWT + Comet)<br />WSN Subscriber<br />Database<br />ReadCron<br />Write Event<br />Subscribe<br />Monitoring Bus<br />Client<br />Send report<br />Invoke<br />Distributed Service Bus<br />Monitoring<br />Service<br />
  29. 29. Federation<br />
  30. 30. Fédération<br />Créer une architecture fédérée pour:<br />Créer des collaborations entre entités<br />Permettre de faire communiquer des domaines d’administration indépendants et hétérogènes<br />Adresser des millions de services/des milliers de domaines/des milliers de noeuds<br />
  31. 31. Fédération - Concept<br />Fédération B<br />Fédération A<br />Fédération C<br />Bus de Fédération<br />Fédération Z<br />Fédération X<br />
  32. 32. foo.orgdomain<br />Company B DSB node<br />Internet<br />bar.comdomain<br />Company C Service<br />
  33. 33. Fédération – Mise en oeuvre<br />Un module de routage dédié<br />Cherche endpoints dans la fédération si pas de endpoint trouvé dans le domaine<br />Un transport de message dédié<br />Sait envoyer/recevoir des messages à la couche de fédération<br />Le Bus de fédération<br />Sait relayer les messages vers la bonne destination <br />
  34. 34. Fédération - Illustration<br />Federation<br />Petals DSB @ domain X<br />Petals DSB @ domain Z<br />Routing<br />Module<br />Routing<br />Module<br />Endpoint<br />Registry<br />Endpoint<br />Registry<br />Federation<br />Transport<br />Federation<br />Transport<br />
  35. 35. Status: Prototype<br />146 nodes, 4 instances/node = 584<br />2 nodes, 2 instances/node = 4<br />20 nodes, 4 instances/node = 80<br />Average Service Invocation Response Time in ms<br />
  36. 36. Extensions<br />
  37. 37. DSB = Extensibilité<br />Exposer des services du Kernel<br />Utiliser @WebService<br />Appeler des opérations sur les différents cycles de vie du conteneur<br />Utiliser par exemple @LifeCycleListener(PHASE) public voidfoo() {…}<br />Implémenter sa couche de transport<br />Implémenter 2 interfaces: Client + Serveur<br />Implémenter sa politique de propagation des Endpoints (Registry)<br />Ajouter des listeners de registry<br />…<br />
  38. 38. Créer sa distribution<br />Basé pour le moment sur Fractal pour l’injection:<br />Cloner la distribution de référence<br />Ajouter ses composants et les déclarer dans Fractal<br />
  39. 39. En plus…<br />
  40. 40. Features<br />GDoc: http://goo.gl/plhlr<br />JIRA: http://goo.gl/N8ewd<br />
  41. 41. Demos<br />
  42. 42. Vidéos<br />Management: http://www.vimeo.com/19744035<br />Monitoring: http://vimeo.com/19744171<br />Federation: http://vimeo.com/26671357<br />
  43. 43. ExempleS<br />
  44. 44. Consumer<br />Provider<br />Proxy Out<br />Proxy In<br />Petals DSB<br />Petals DSB<br />Transport XMPP<br />Transport XMPP<br />Google Talk Infrastructure<br />Communication /XMPP<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×