10/05/2011Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale –...
10/05/2011Intégration avec Camel et ServiceMix  Charles Moulliard  Architecte de Solutions  Apache Committer   Copyright ©...
Objectif  « Faire découvrir les projets Apache orientésIntégration comme Camel ainsi que le conteneur     ServiceMix et le...
IntervenantCharles Moulliard Ingénieur Agronome & Licencié en Zoologie 17 expérience dans le monde du développement IT (J2...
SommaireIntégration avec Camel et ServiceMix Démystifier l ESB ServiceMix - plateforme multi-conteneurs Présentation des p...
« Démystifier l ESB et présenter la plateforme            Apache ServiceMix »   10/05/2011   Intégration avec Camel et Ser...
ESB - ServiceMixDemystifier le concept - Enterprise Service Bus→ Ce nest pas un→ Ni un Mais un plateforme d échange de mes...
ESB – ServiceMix (1)Permet de séparer lacouche métier decelles qui vonttransporterlinformation ettransformer    10/05/2011...
SMX – porte conteneursServiceMix – projet de la fondation ApacheCréé en 2005 pour implémenter la spécificationJava Busines...
SMX – porte conteneurs (2)Approche JBI est intéressante maiscontraignante Format XML Routage encapsulé Développement des c...
SMX – porte conteneurs (3)  10/05/2011   Intégration avec Camel et ServiceMix                                             ...
SMX – porte conteneurs (3)ServiceMix 4Basé sur un noyau OSGIPq → offre modularité, gestion des jars,versioningNotre serveu...
Karaf – Cœur de ServiceMixDate de naissance - 16th of June 2010Runtime utilisant un serveur OSGI : Apache Felix Eclipse Eq...
Karaf – Cœur de ServiceMix  10/05/2011   Intégration avec Camel et ServiceMix                                             ...
Karaf – Cœur de ServiceMixCaractéristiques :  Console dadministration (locale, remote, ssh, web,  jmx)  Systéme de provisi...
Conteneur(s) Plateforme est modulable car on sélectionne leslibrairies, conteneurs que lon souhaite utiliser              ...
« ActiveMQ – lagent déchange / de persistence                des messages »   10/05/2011   Intégration avec Camel et Servi...
ActiveMQUne usine de fabrication de messages (PtP, Pub/Sub)supportant JMS et proposant connecteurs C, C++, .Net,PhP.    10...
« CXF – Loutil de fabrication des Web Services »    10/05/2011   Intégration avec Camel et ServiceMix                     ...
CXFFusion de 2 projets (Celtic and Xfire)Simplifie création et déploiement des web services via  approche code-first ou WS...
CXF (1)    Se configure trés facilement via plugin maven            <plugin>                <groupId>org.apache.cxf</group...
CXF (2)           Fichier Spring XML<beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www...
« Camel – Lintégrateur opensource des modéles               entreprises (EIP) »   10/05/2011   Intégration avec Camel et S...
CamelDate de naissance Mars 2007Framework d’intégration opensource  implémentant les modelés EIPUtilise un language specif...
CamelPlus de 50 modèles dintégrationhttp://camel.apache.org/enterprise-integration-patterns.html     10/05/2011    Intégra...
CamelPlus de 100 composantshttp://camel.apache.org/components.html    10/05/2011   Intégration avec Camel et ServiceMix   ...
Camel18 formateurs de donnéeshttp://camel.apache.org/data-format.html    10/05/2011    Intégration avec Camel et ServiceMi...
CamelLe modèle – Content Based Router       Langage DSL     10/05/2011         Intégration avec Camel et ServiceMix       ...
Camel 10/05/2011   Intégration avec Camel et ServiceMix                                                                   ...
Camel 10/05/2011   Intégration avec Camel et ServiceMix                                                                   ...
Camel 10/05/2011   Intégration avec Camel et ServiceMix                                                                   ...
Camel 10/05/2011   Intégration avec Camel et ServiceMix                                                                   ...
CamelJava DSL    10/05/2011   Intégration avec Camel et ServiceMix                                                        ...
CamelRoute Camel + Java DSL    10/05/2011   Intégration avec Camel et ServiceMix                                          ...
CamelUne route Camel – EIP Filter Pattern     10/05/2011   Intégration avec Camel et ServiceMix                           ...
CamelIntegration avec Eclipse, IntelliJ     10/05/2011   Intégration avec Camel et ServiceMix                             ...
CamelSpring DSL    10/05/2011   Intégration avec Camel et ServiceMix                                                      ...
CamelAssistance de l IDE     10/05/2011   Intégration avec Camel et ServiceMix                                            ...
« Quelles sont les architectures possibles –       messages, java et/ou web » 10/05/2011   Intégration avec Camel et Servi...
Architecture - messagingLe BUS orchestre les échanges entre les  endpoints        FTP                                     ...
Architecture - Java  La plateforme OSGI sert de registre pour des    services = “Interface”                           A   ...
Architecture – Messaging + JavaDecouplage des composants « services » de la couche dintégration                           ...
Architecture – Java + WebL ESB héberge les projets Web (Jetty + Pax  Web + OSGI HTTP Service)    « Interface »        Serv...
« Haute disponibilité, scalabilité et clustering »   10/05/2011   Intégration avec Camel et ServiceMix                    ...
Une seule instanceUnité de déploiement = bundle1 seule instance SMX, plusieurs routes, cross-  communication via NMR, asym...
Plusieurs instancesBridge assuré par ActiveMQ“Interconnecte” les différentes instances de SMX     10/05/2011   Intégration...
Haute disponibilité - ActiveMQ2 mécanismes disponibles : pure Master/Slave et Shared  message store      10/05/2011   Inté...
Haute disponibilité - ServiceMixSeul le mécanisme de (lock) shared store est possibleBundles peuvent etre deployés mais no...
Haute disponibilité - ClusteringCombine ActiveMQ (shared store) et ServiceMix (shared  lock)Réseau de brokers      10/05/2...
Cloud, ProvisionnementFuseSource Fabric - basé sur Apache ZookeeperService de coordination distribué hautement disponible ...
Cloud, ProvisionnementMécanisme de provisionnement et de déploiement à distanceBasé sur un profile associé à un agentkaraf...
Cloud, Provisionnement La fabric permet d enregister logiquement un endpoint   camel dans le registre de Zookeeper (=znode...
« Fin de la premiére partie »10/05/2011         Intégration avec Camel et ServiceMix                                      ...
DémonstrationCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commercial...
Sommaire De la théorie à la pratique Transposition vers le language camel DSL des EIP Codage, déboggage, testing Développe...
Contextehttp://camel.apache.org/tutorial-osgi-camel-part2.html        10/05/2011           Intégration avec Camel et Servi...
ConclusionQuestions ?Suivez-moi sur http://twitter.com/cmoulliard http://www.linkedin.com/in/charlesmoulliardMon blog : ht...
Bibliographie / liensIntegration - Camel : http://camel.apache.orgESB - ServiceMix : http://servicemix.apache.orgRuntime -...
Sponsors  10/05/2011   Intégration avec Camel et ServiceMix                                                               ...
Prochain SlideShare
Chargement dans…5
×

Fuse source parisjug-10052011

2 892 vues

Publié le

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 892
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
69
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Fuse source parisjug-10052011

  1. 1. 10/05/2011Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  2. 2. 10/05/2011Intégration avec Camel et ServiceMix Charles Moulliard Architecte de Solutions Apache Committer Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  3. 3. Objectif « Faire découvrir les projets Apache orientésIntégration comme Camel ainsi que le conteneur ServiceMix et les architectures cibles» 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 3 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  4. 4. IntervenantCharles Moulliard Ingénieur Agronome & Licencié en Zoologie 17 expérience dans le monde du développement IT (J2EE, .NET) Spécialisé dans le monde des nouvelles technologies Web/Internet/Intégration Chef de projet dans le monde bancaire, financier, telco, assurance, transports Architecte de solutions chez FuseSource Committeur Apache sur les projets : ServiceMix, Karaf (PMC) & Camel BIO : « Apache ServiceMix and Karaf in Action » - Manning editor 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 4 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  5. 5. SommaireIntégration avec Camel et ServiceMix Démystifier l ESB ServiceMix - plateforme multi-conteneurs Présentation des projets - Camel, CXF, Karaf et ActiveMq Description des topologies possibles - messaging, osgi, messaging + osgi, web Haute disponibilité, scalabilité et clustering - ActiveMQ, ServiceMix et ActiveMQ - ServiceMix 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 5 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  6. 6. « Démystifier l ESB et présenter la plateforme Apache ServiceMix » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 6 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  7. 7. ESB - ServiceMixDemystifier le concept - Enterprise Service Bus→ Ce nest pas un→ Ni un Mais un plateforme d échange de messages, dobjets transitant via une couche de transport 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 7 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  8. 8. ESB – ServiceMix (1)Permet de séparer lacouche métier decelles qui vonttransporterlinformation ettransformer 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 8 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  9. 9. SMX – porte conteneursServiceMix – projet de la fondation ApacheCréé en 2005 pour implémenter la spécificationJava Business IntegrationDécouple les composants (métier, technique) vialenvoi de messages XMLDéfini un modèle de packaging/déploiement dapplications (SU/SA)Couche transport sappelle - NormalisedMessaging Router 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 9 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  10. 10. SMX – porte conteneurs (2)Approche JBI est intéressante maiscontraignante Format XML Routage encapsulé Développement des composants Peu de support de la part des acteurs (IBM, Oracle, …) pour faire évoluer la spécification Parallèle avec EJB est intéressantePositionnement de ServiceMix pour le future 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 10 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  11. 11. SMX – porte conteneurs (3) 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 11 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  12. 12. SMX – porte conteneurs (3)ServiceMix 4Basé sur un noyau OSGIPq → offre modularité, gestion des jars,versioningNotre serveur devient unconteneur d intégrationopensource des projets Camel CXF ActiveMQ, Aries (JPA, Transaction, JNDI), …. 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 12 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  13. 13. Karaf – Cœur de ServiceMixDate de naissance - 16th of June 2010Runtime utilisant un serveur OSGI : Apache Felix Eclipse EquinoxFournit un conteneur léger dans lequel des Applications Composants Routes, ...peuvent être déployés 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 13 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  14. 14. Karaf – Cœur de ServiceMix 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 14 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  15. 15. Karaf – Cœur de ServiceMixCaractéristiques : Console dadministration (locale, remote, ssh, web, jmx) Systéme de provisionnement (features) Déploiement à chaud et gestion dynamiques des configs Gestion des instances Sécurité intégrée (JAAS → ldap, jdbc, file) Gestion centralisée des logs (log4j, logger, commons logging, ….) 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 15 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  16. 16. Conteneur(s) Plateforme est modulable car on sélectionne leslibrairies, conteneurs que lon souhaite utiliser Jetty, Pax WebOffre un meilleur contrôle du serveur Camel, JBI Integration Web CXF Spring, Blueprint Web Services IoC ActiveMQ Middelware Java 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 16 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  17. 17. « ActiveMQ – lagent déchange / de persistence des messages » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 17 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  18. 18. ActiveMQUne usine de fabrication de messages (PtP, Pub/Sub)supportant JMS et proposant connecteurs C, C++, .Net,PhP. 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 18 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  19. 19. « CXF – Loutil de fabrication des Web Services » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 19 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  20. 20. CXFFusion de 2 projets (Celtic and Xfire)Simplifie création et déploiement des web services via approche code-first ou WSDL-first.Supporte les standards comme : • JAX-WS : Web Services (XML/SOAP) • JAX-RS : RESTfull service (JSON) • SOAP 1.1, 1.2, WSDL 1.1 • WS-Security : sécurise la connexion client serveur et vice versa • WS-Addressing : standardise les données échangées dans les entêtes SOAP pour le routage • WS-RM : garantie de livraison du message 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 20 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  21. 21. CXF (1) Se configure trés facilement via plugin maven <plugin> <groupId>org.apache.cxf</groupId> <artifactId>cxf-codegen-plugin</artifactId> <version>${cxf-version}</version> <executions> <execution> <id>generate-sources</id> <phase>generate-sources</phase> <configuration> <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot> <wsdlOptions> <wsdlOption> <wsdl>${basedir}/src/main/resources/report_incident.wsdl</wsdl> </wsdlOption> </wsdlOptions> </configuration> <goals> <goal>wsdl2java</goal> </goals> </execution> </executions> </plugin> 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 21 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  22. 22. CXF (2) Fichier Spring XML<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cxf="http://camel.apache.org/schema/cxf" xsi:schemaLocation=" http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/cxfhttp://camel.apache.org/schema/cxf/camel-cxf.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"/> …. <cxf:cxfEndpoint id="reportIncident" address="http://localhost:9080/incident" wsdlURL="etc/report_incident.wsdl" serviceClass="org.apache.camel.example.ReportIncidentEndpoint"> </cxf:cxfEndpoint> …</beans> 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 22 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  23. 23. « Camel – Lintégrateur opensource des modéles entreprises (EIP) » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 23 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  24. 24. CamelDate de naissance Mars 2007Framework d’intégration opensource implémentant les modelés EIPUtilise un language specifique appelé DSLSupporte: Architecture transactionnelle, Echanges Sync/async, Gestion des threads, Mecanisme de controles des erreurs 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 24 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  25. 25. CamelPlus de 50 modèles dintégrationhttp://camel.apache.org/enterprise-integration-patterns.html 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 25 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  26. 26. CamelPlus de 100 composantshttp://camel.apache.org/components.html 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 26 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  27. 27. Camel18 formateurs de donnéeshttp://camel.apache.org/data-format.html 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 27 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  28. 28. CamelLe modèle – Content Based Router Langage DSL 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 28 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  29. 29. Camel 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 29 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  30. 30. Camel 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 30 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  31. 31. Camel 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 31 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  32. 32. Camel 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 32 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  33. 33. CamelJava DSL 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 33 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  34. 34. CamelRoute Camel + Java DSL 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 34 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  35. 35. CamelUne route Camel – EIP Filter Pattern 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 35 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  36. 36. CamelIntegration avec Eclipse, IntelliJ 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 36 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  37. 37. CamelSpring DSL 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 37 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  38. 38. CamelAssistance de l IDE 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 38 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  39. 39. « Quelles sont les architectures possibles – messages, java et/ou web » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 39 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  40. 40. Architecture - messagingLe BUS orchestre les échanges entre les endpoints FTP Web Service from(ftp) .beanRef(« myBean »); Bean/PoJo from(« cxf:bean:myWS ») .beanRef(« myBean ») ; 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 40 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  41. 41. Architecture - Java La plateforme OSGI sert de registre pour des services = “Interface” A « Interface » Service Hibernate/JPA DAO PoJo B C Registre OSGI<bean id="incidentServiceTarget" class="org.apache.camel.service.impl.IncidentServiceImpl"> <property name="incidentDAO"> <osgi:reference interface="org.apache.camel.dao.IncidentDAO"/> </property></bean> 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 41 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  42. 42. Architecture – Messaging + JavaDecouplage des composants « services » de la couche dintégration C « Interface » Service Hibernate/JPA DAO PoJo from(« cxf:bean:myWS ») Registre OSGI .to(« bean:name=validate ») .beanRef(«org.parisjug.jpaService»); B A Bean Validate Web Service 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 42 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  43. 43. Architecture – Java + WebL ESB héberge les projets Web (Jetty + Pax Web + OSGI HTTP Service) « Interface » Service Hibernate/JPA DAO PoJo Web Registre OSGI Application Bundle OSGI Runtime 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 43 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  44. 44. « Haute disponibilité, scalabilité et clustering » 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 44 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  45. 45. Une seule instanceUnité de déploiement = bundle1 seule instance SMX, plusieurs routes, cross- communication via NMR, asymétrie NMR CamelContext A CamelContext B 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 45 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  46. 46. Plusieurs instancesBridge assuré par ActiveMQ“Interconnecte” les différentes instances de SMX 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 46 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  47. 47. Haute disponibilité - ActiveMQ2 mécanismes disponibles : pure Master/Slave et Shared message store 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 47 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  48. 48. Haute disponibilité - ServiceMixSeul le mécanisme de (lock) shared store est possibleBundles peuvent etre deployés mais non activés 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 48 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  49. 49. Haute disponibilité - ClusteringCombine ActiveMQ (shared store) et ServiceMix (shared lock)Réseau de brokers 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 49 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  50. 50. Cloud, ProvisionnementFuseSource Fabric - basé sur Apache ZookeeperService de coordination distribué hautement disponible utilisant un registre utilisé pour les configs du cluster et les noeuds (runtime) ACLs Data change <<Zookeeper:toto>> <<Zookeeper:nestor>> Sync 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 50 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  51. 51. Cloud, ProvisionnementMécanisme de provisionnement et de déploiement à distanceBasé sur un profile associé à un agentkaraf@root> fabric:create-profile --parents default webserverkaraf@root> zk:create -r/fabric/configs/versions/base/profiles/webserver/org.fusesource.fabric.agent/repository.karaf mvn:org.apache.karaf.assemblies.features/standard/2.2.1-SNAPSHOT/xml/featureskaraf@root> zk:create -r/fabric/configs/versions/base/profiles/webserver/org.fusesource.fabric.agent/feature.war warkaraf@root> fabric:create-agent --profile webserver --parent root test 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 51 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  52. 52. Cloud, Provisionnement La fabric permet d enregister logiquement un endpoint camel dans le registre de Zookeeper (=znode) Offre une nouvelle stratégie pour les architectures HTTP, CXF pour balancer les requetes <from uri="fabric:parisJug: jetty:http://10.0.0.1:9090/"/><from uri="direct:A/> <<Zookeeper:2>><to uri="fabric:parisJug"/> <<Zookeeper:1>> <from uri="fabric:parisJug: jetty:http://10.0.0.2:9090/"/> <<Zookeeper:3>> 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 52 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  53. 53. « Fin de la premiére partie »10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 53 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  54. 54. DémonstrationCopyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  55. 55. Sommaire De la théorie à la pratique Transposition vers le language camel DSL des EIP Codage, déboggage, testing Développement des routes Camel Packaging et déploiement 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 55 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  56. 56. Contextehttp://camel.apache.org/tutorial-osgi-camel-part2.html 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 56 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  57. 57. ConclusionQuestions ?Suivez-moi sur http://twitter.com/cmoulliard http://www.linkedin.com/in/charlesmoulliardMon blog : http://cmoulliard.blogspot.com 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 57 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  58. 58. Bibliographie / liensIntegration - Camel : http://camel.apache.orgESB - ServiceMix : http://servicemix.apache.orgRuntime - Karaf : http://karaf.apache.orgWebService - CXF : http://cxf.apache.orgBroker - ActiveMQ : http://activemq.apache.orgOSGI EE - Aries : http://aries.apache.orgFuseSource :http://fusesource.com/documentation/EIP : http://www.enterpriseintegrationpatterns.com 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 58 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique
  59. 59. Sponsors 10/05/2011 Intégration avec Camel et ServiceMix www.parisjug.org 59 Copyright © 2008 ParisJug. Licence CC – Creative Commons 2.0 France – Paternité – Pas dUtilisation Commerciale – Partage des Conditions Initiales à lIdentique

×