Article co-écrit avec David Brassely

Le 3 mars dernier a eu lieu pour la première fois en France une journée autour de la communauté OpenESB.

La journée s’est déroulée dans les salles de Polytech Lille et organisée par deux membres de cette communauté : Paul Perez (Pymma) et Nicolas Héron.

La matinée était consacrée aux présentations tandis que l’après-midi fût dédiée aux ateliers pratiques.

Les présentations

Depuis le rachat de Sun par Oracle, l’avenir d’OpenESB était plus qu’incertain. Comme pour de nombreux autres projets, un fork s’imposait afin d’assurer le suivi des versions en cours mais également de poursuivre le développement des prochaines versions.

C’est ainsi que le projet openesb-dev a été créé afin de regrouper documentations, binaires, bug tracking et outils de communication (forums, wiki) en un seul endroit. La migration de toutes les données des serveurs d’Oracle vers ceux d’openesb-dev est toujours en cours (notamment en ce qui concerne les pages du Wiki). Le projet est désormais soutenu par les sociétés Logicoy, IntegratedApps et Pymma, toutes fournissant une offre de services orientée support autour d’OpenESB.

L’infrastructure

Nicolas Héron nous a présenté l’infrastructure mise en place pour héberger le projet

  • Codendi est la plateforme colaborative qui gère les différents sous-projets,
  • Les sources sont sous SVN,
  • Hudson pour l’intégration continue.

Il y a actuellement 8 projets hébergés dont les 2 principaux sont OpenESB 2.3 et 3.0 (nom de code historique : Fuji). Pour le moment le site n’est pas ce que nous trouvons de plus sexy, mais le travail fourni semble déjà remarquable ! La mailing-list vient d’être mise en place (http://openesb-dev.org/mailman/listinfo/community-general).

Concernant les binaires (installers pour la grande majorité des plates-formes), il est possible de trouver entre autres une version Milestone d’OpenESB V2.3 incluant Netbeans 6.9.1, Glassfish 2.1.1 et OpenESB 2.3.

Le reste de la matinée a été couverte par 3 présentations :

Monitoring par Youssef Yekhlef (Cap Gemini)

OpenESB ne dispose pas en soit de console de monitoring. Youssef nous a présenté (ponctué par une démonstration) une solution de monitoring basée sur des agents Nagios et sur OpsView qui permet de connaître l’état des composants (Binding Components, Service Assemblies, …).

Retours d’expérience

Quelques développeurs et architectes provenant d’une grande société de télécommunication Russe ont fait le déplacement afin de partager leur expérience d’OpenESB et d’expliquer les raisons pour lesquelles ils ont fait le choix de cet outil.

Outre l’aspect pricing (comparé à la suite Oracle entre autres), leur expérience en terme de support ne les a pas encouragé à se rapprocher d’un éditeur. De plus, OpenESB a rapidement pu répondre à leur besoin et ils ont ainsi pu participer activement à la vie du projet via la soumission de patchs ainsi que la correction de bugs.

Un framework pour aider les entreprise à adopter une démarche SOA

Pour terminer la matinée Bruno Sinkovic nous a présenté le framework TOGAF permettant d’encadrer l’appoche SOA d’une entreprise en s’assurant que les services partent toujours d’un besoin métier et non pas de la technique.

L’approche consiste à la mise en place d’un repository de besoins alimenté en priorité par le métier et au déclenchement de TODOs qui viennent à nouveau alimenter ce repository.

Retour en amphi

Avant de démarrer la partie pratique de cette journée en participant aux TPs, Paul Perez a effectué une présentation autour de la gestion des transactions dans un Système d’Informations et plus spécifiquement au travers de l’ESB.

OpenESB a introduit la gestion des transactions XA (i.e. les transactions distribuées) qui permet donc, en cas d’erreur lors du déroulement d’un process BPEL, de propager le rollback et ainsi assurer l’intégrité du système.

Or il arrive dans de nombreux cas que nous ne soyons pas dans un environnement transactionnel et qu’ainsi le rollback ne puisse pas avoir lieu puisque n’ayant aucun effet sur les systèmes tiers. L’exemple typique est celui de l’envoi d’un email. Le seul moyen d’annuler cette émission est d’envoyer un autre email informant que le précédent était une erreur.

C’est ainsi que Paul a introduit la notion de compensation qui représente l’action inverse de ce qui a été fait (un simulacre du rollback) mais cette fois-ci spécifiée et développée.

Le reste de l’après midi a été consacré à la mise en pratique grâce aux tutoriaux fournis par Pymma permettant aux personnes présentes de :

  • Découvrir OpenESB, l’écriture d’un process BPEL,
  • Mettre en pratique des mécanismes de compensation,
  • Mettre en oeuvre des Binding Components tels que le Database BC ou encore le JMS BC.

L’avenir d’OpenESB

L’avenir d’OpenESB reste encore incertain, la communauté étant pour le moment encore relativement “jeune”. Au jour d’aujourd’hui, Openesb-dev compte 159 utilisateurs enregistrés et les forums et tickets de bugs semblent relativement calmes.

Le support par Logicoy, IntegratedApps et Pymma aidera à promouvoir OpenESB et à fédérer autour du projet.

Merci à Nicolas Héron et Paul Perez pour l’organisation de cette journée.