JBoss jBPM est un moteur de workflow et de gestion de processus métiers qui permet le controle des processus qui coordonnent les personnes, les applications et les services. Avec son architecture modulaire, JBoss jBPM combine le développement des applications workflow avec un moteur de processus flexible et extensible. L’éditeur de processus JBoss jBPM représente graphiquement les étapes d’un processus métier et facilite le lien entre les analystes et les développeurs.
UTILISATEURS
Puisque JBoss jBPM est présenté sous la forme d'une simple bibliothèque Java, il peut être utilisé de façon indépendante dans un programme Java ou avec un serveur d'applications comme JBoss Application Server, pour des applications d'entreprise hautement extensibles. JBoss jBPM facilite les modifications des processus métiers complexes, ce qui améliore significativement la souplesse de l'entreprise.
COMMUNAUTE
Le projet est hébergé par la communauté Jboss et fait partie du stack middleware JEMS proposé par Jboss Group. RedHat est le leader du projet avec une équipe de développement partagé entre la Belgique et les Etats Unis. En plus de la communauté animée par Jboss Group, le projet est actif avec des utilisateurs et commiteurs en Europe et Etats-Unis.
FONCTIONNALITES
Moteur de processus flexible et extensible :
- Conçu pour fonctionner seul ou pour fonctionner parfaitement au sein de toute application Java ou J2EE
- Modèle de programmation orienté processus qui associe le meilleur de Java aux avantages des techniques de programmation déclaratives
- Support des langages de processus JPDL, PageFlow et BPEL
- Définition graphique des processus via le Graphical Process Designer (GPD)
Le produit est parfait pour être intégrée dans une
environnement Java lightweight. Le kernel workflow est très léger et
peut être extensible pour supporter des langages de définition des
processus très variées. Actuellement les langages suivants sont
supportés : JPDL (pour le workflow humain), PageFlow (pour la
définition des enchaînements des formulaires) et BPEL pour
l’orchestration des services web.
Le langage JPDL proposé pour la définition des processus workflow
humain est très intuitif mais on regrette que des standards workflow
humain type XPDL ne soit pas supportés
L’interface graphique de définition des processus sous forme de plugin Eclipse permet de masquer l’utilisation du langage JPDL
L’intégration avec le framework Jboss Seam permet d’interfacer facilement le workflow avec une application web
Les outils d’administration et monitoring workflow sont très limités
dans la version actuelle. Néanmoins, elles offrent la possibilité
d’exécuter graphiquement un processus workflow.
De futures versions mettront en oeuvre la technologie innovante de 'Process Virtual Machine' développée en commun par JBoss, OW2 et Bull.
ROADMAP
La version actuelle est la 3.1.3. La prochaine version majeure devrait inclure le support complet du langage BPEL ainsi que l’éditeur graphique BPEL grâce à l’intégration du plugin Eclipse BPEL. La version 4.x est en cours de développement et vise une nouvelle architecture plus légère et facilement extensible.
ROBUSTESSE ET PERFORMANCE
JBPM est déployé en production dans des organisations appartenant à des domaines d’activités très différents tels que les finances ou la santé.
DOCUMENTATION
La documentation en Anglais est complète. Elle couvre l’installation du produit, les concepts de base, les exemples d’utilisation ainsi que la définition des processus et les concepts liés à la programmation. Elle est disponible sous forme d’un document html.
FACILITE D’EMPLOI
JBPM est une librairie générique pour la gestion des différents langages des processus. Cette généricité rajoute de la complexité lors de la première prise en main du produit. Le modèle de base est basé sur le concept « Graph Oriented Programming » qui certes apporte de la flexibilité mais qui diffère des approches traditionnelles de workflow.
INTEGRATION
JBPM peut être intégré dans des systèmes très légers type Java ; application Java stand-alone ou application web ainsi que dans systèmes plus complexes type J2EE.
L’utilisation de JBPM dans des solutions non-java nécessite le développement d’une couche de communication web services
LIENS UTILES
Documentation du projet
Datasheet