OpenESB Community Day 2011
Le 03/03/2011 s’est déroulé à Lille (exactement à Polytech Lille à Villeneuve d’Ascq) l’OpenESB Community Day. Une journée de conférence autour d’OpenESB centré sur la communauté de développeur et d’utilisateur.
OpenESB est une implémentation Open Source d’un ESB (Enterprise Service Bus) développé par Sun, qui a été abandonné par Oracle lors du rachat de Sun. OpenESB est basé sur JBI (Java Business integration), un standard Java de développement d’ESB régie par une JSR (la 208) et comprenant principalement un ensemble de composant fonctionnant avec Glassfihs et un ensemble de plugin Netbeans. OpenESB fait aujourd’hui l’objet d’une reprise en main par une communauté externe Oracle, et c’est le sujet de cette journée de conférences.
State of the Community – Paul Perez (Pymma)
La communauté à repris le code d’OpenESB et les développements autour de la technologie:
- OpenESB v2.3 : version en cours de finalisation basée sur Glassfish 2.1.1 et Netbeans 6.9.x. Première version livrée par la communauté (bien qu’elle ai repris les version 2.1 et 2.2 qui sont toujours disponible sur le site)
- OpenESB v3 : version prévue pour l’année prochaine basée sur Glassfish 3 (projet Fuji) avec l’aide des partenaires de la communauté (Pymma, LogiCoy, Integrated Apps)
Oracle a arrêté tout développement sur OpenESB, a arrêté le support sur Glassfish ESB (la version commerciale d’OpenESB que vendrait Sun) et a arrêté tout développement sur Java CAPS (version “enterprise” historique de l’ESB de Sun racheté à l’entreprise SeeBeyond et comprenant des composants supplémentaire par rapport à OpenESB) et ne vend plus de licence Java CAPS. De plus Oracle a démantelé les équipes ESB de Sun dans le but de n’offrir plus qu’Oracle ESB (l’ESB propriétaire d’Oracle basé sur WebLogic).
Pour les projets ayant démarré avec Java CAPS, Glassfish ESB ou OpenESB, OpenESB est maintenant la seule solution. Pour ceux qui recherchent une solution ESB ouverte, performante, simple et outillée, OpenESB est une bonne solution maintenant qu’une nouvelle communauté se créé.
La communauté OpenESB:
- 600 membres
- Des services tournés vers les entreprises : support, training, …
- Une infrastructure de développement
- Des partenaires : LogiCoy (USA), Integrated Apps (Russie), Pymma (Royaume Uni)
Infrastructure – Nicolas Heron (Adeo)
Une infrastructure a été mise en place pour la communauté OpenESB :
- Plateforme collaborative basée sur Codendi : http://openesb-dev.org
- Plateforme d’intégration continue : Hudson, permet la mise à disposition de build d’OpenESB
- Gestionnaire de source : SVN
- Wiki : http://wiki.openesb-dev.org
La plateforme a permis de faire un fork d’OpenESB et d’en reprendre le développement par la communauté. La plateforme hébergée chez OVH est maintenant prête et va permettre de relancer la communauté.
Monitoring (Youssef Yekhlef – Cap gemini)
Présentation d’une solution de monitoring d’une plateforme OpenESB à l’aide de Nagios et d’OpsView. Le but étant de valider si les composants du serveur (les Service Engine) et les composants applicatifs (les Service Assemblies) sont démarré.
Pour cela :
- Utilisation d’un agent Nagios dans le domaine Glassfish : Jmx4Perl
- Définition de check actif dans Nagios appelant l’Agent
- Utilisation de l’API JMX de management d’OpenESB qui permet de gérer tout les aspects de l’ESB (la console Glassfish et l’asadmin se basent dessus) : administration, configuration, installation, notification, alerte, …
- Centralisation des checks Nagios dans OpsView qui est une console de supervision de Nagios OpenSource
Une démo a présenté l’implémentation et le résultat.
Services Oriented Developement Process – Bruno Sinkovic (Pymma)
Problématique : comment développer efficacement des services de types SOA.
Tout d’abord, une petite définition de ce qu’est un service :
service = Piece of business Process
Un service a donc une notion métier. La définition d’un service se fait au niveau fonctionnel et pas technique.
Pymma a mis au point un processus de développement SOA léger en s’inspirant de TOGAF (The Open Group Architecture Framework). Le principe de base de TOGAF est d’avoir une méthodologie centré sur les requirements et conduite par des évènements . La notion centrale est un repository de requirements, les évènement entrant dans le répository et créant un ensemble de TODOs qui eux même génèrent des évènement qui rentrent de nouveau dans le repository.
Cette méthodologie est sensée permettre de rester plus proche des requirements du métier.
Transaction, Delivery, Concistency, Error management in BPEL – Paul Perez (Pymma)
Je n’ai pas noté le nom exacte de cette conférence alors j’ai listé les notions abordées.
BPEL Transaction avec XA
Nativement, le langage BPEL ne support pas les transactions de type XA. Mais OpenESB a ajouter le support des transaction comme fonctionnalité additionnelle a son moteur BPEL.
L’interêt de XA réside dans le fait que c’est un standard de transaction supporté par de nombreuses technologies (infrastructure, SGBD, J2EE) qui permet donc de créer une transactions entre plusieurs systèmes.
XA est basée sur les principes suivants:
- délivrance garantie d’un et d’un seul message
- nécessite UNIFORMITY et PROXIMITY : tout les systèmes impactée par la transaction doivent supporter XA
- nécessite de la consistance et de la disponibilité (selon le Théorème CAP, il ne peut donc avoir de résistance au morcellement)
Un ensemble de notion SOA et ESB on été présentée:
- Integration Process : processus d’intégration : processus court, impliquant peut de partenaires, tâches automatiques.
- Business Process : processus long, impliquant de nombreux partenaire, tâches automatiques et manuelles.
- Acknowledge (ack) en BPEL : si le BPEL n’est pas atomique, l’acknoledge est envoyé juste après le receive. S’il est atomic, l’acknowloedge est envoyé à la fin du BPEL (donc, en cas de problème, un rollback est fait).
- Side effect : un composant a modifié sont contexte et ne peut donc pas faire de rollback cohérent en cas d’exception.
- Compensation : action de supprimer le side effect d’un composant.
Pour aller plus loin, consultez les livres blanc disponibles sur le site de Pymma : http://www.pymma.com/eng/Open-ESB-JCAPS-Papers
Training
Un ensemble de training fourni par Pymma on été proposé (vous pouvez les retrouver ici : http://www.pymma.com/eng/Training) à la réalisation avec l’aide des experts venus assisté à la journée. Ce fut principalement l’occasion de discuter avec les intervenants et les participants plus que réellement réaliser les exercices proposés.