<< Le choix d'un serveur ESB | Home | Le choix d'un serveur ESB >>

Problème avec le moteur BPEL de Petals ESB

Après avoir testé et déployé avec succès plusieurs processus BPEL simples dans Petals ESB, nous en avons conclu que nous utiliserions ce bus pour déployer nos processus métier. Cependant quand nous avons commencé à développer des processus un peu plus élaborés, nous nous sommes vite rendus compte que le moteur BPEL utilisé n'implémentait pas toute une partie de la spécification WS-BPEL 2.0.
Le site de Petals Link propose le moteur BPEL Orchestra de l'OW2 Consortium comme alternative au moteur de base, mais la distribution JBI de ce dernier est encore en cours de développement.

Nous avons donc décidé de regarder ce que faisait la concurrence. Deux principaux serveurs on retenu notre attention car leurs moteurs BPEL implémentaient la spécification WS-BPEL 2.0 : ServiceMix et Glassfish ESB.
  • Glassfish ESB est le bus ESB de Sun. Il fournit tout comme Petals une interface graphique et des outils pour faciliter le développement des processus BPEL et leur déploiement sur le serveur. De plus après les premiers tests le moteur BPEL semblait plus complet que celui de Petals. Mais finalement le même problème bloquant que celui rencontré sous Petals nous a fait abandonner Glassfish ESB.
  • ServiceMix est le bus ESB de la fondation Apache. Le moteur BPEL de ce dernier est Apache Ode. Ce moteur respecte la spécification WS-BPEL 2.0 et après quelques tests il s'est révélé être le moteur le plus complet que nous ayons testé. Cependant le déploiement sur le serveur des processus pose problème. Que ce soit avec la version 1.3 ou 2.0b de Ode nous avons rencontré des bugs dont un qui n'a pas encore été résolu à l'heure actuelle.

Apache Ode fournit une archive War qui peut être déployée sous n'importe quel serveur d'application JEE et donc indépendant de tout serveur ESB. N'ayant pas trouvé de serveur ESB assez mature pour déployer nos services nous sommes donc contraints d'utiliser Ode avec Tomcat pour développer nos processus, en attendant que des corrections et/ou des améliorations soit apportées aux autres moteurs BPEL.


Re: Problème avec le moteur BPEL de Petals ESB

Bonjour Bastien.
Merci pour ces articles. Ca fait plaisir de voir le choix de Petals ESB, et tes commentaires remettent les pieds sur terre.
Toute la spécification BPEL n'a effectivement pas été implémentée, pour essayer de se concentrer sur ce qui paraissait le plus essentiel. Qu'est-ce qu'il te manque comme fonctions, pour ton projet ?

En ce moment, nous travaillons sur  les performances de BPEL (pour un cas client), et limitons les fonctionnalités.
Il est possible que par la suite on complète les fonctionnalités manquantes de la spécifications.

Re: Problème avec le moteur BPEL de Petals ESB

Bonjour Mathieu,

Désolé d'avoir mis autant de temps à répondre. Je ne travail pas à temps plein sur ce projet.

Effectivement j'ai rencontré des limites au moteur BPEL de Petals, dont une qui m'a décidé à aller voir ailleurs. Par exemple la balise <link> n'est pas supportée. Ce qui est problématique lorsqu'on attend la réponse de 2 services. J'ai également remarqué que des attributs comme "createInstance" et d'autre dont je ne me souviens pas ne sont pas reconnu (j'avais à chaque fois un message du style "not yet implemented").

Cependant je trouve que Petals ESB est bien plus simple à prendre en main que ServiceMix et les autres, notamment grâce à son interface web simple et à Petals Studio. Il m'a beaucoup aidé pour me former à SOA et au langage BPEL.

Bon courage et bonne continuation dans le développement de Petals.

Add a comment