samedi 28 février 2009

BPM & Moteur de workflow : l’offre open source

Un processus est un enchaînement ordonné (totalement ou non) de réalisation d'activités de l'entreprise qui : transforment des éléments d'entrée en éléments de sortie en vue de réaliser un objectif dans le cadre d'une stratégie.

Qu'est ce qu'un processus métier ?

Processus mis en œuvre au sein d'une organisation et dont les sorties répondent aux besoins d'un
client interne ou externe à cette organisation.

Un Processus métier

  1. Possède un objectif
  2. Possède des entrées spécifiques
  3. Possède des sorties spécifiques
  4. Utilise des ressources
  5. Possède un ensemble d'activités réalisées dans un certain ordre
  6. Peut concerner plusieurs unités organisationnelles
  7. Crée une valeur ajoutée pour un participant (Le participant peut être interne ou externe).

On constate aujourd'hui une convergence des solutions de workflow et de gestion des processus métier (BPM Business Process Management).

Qu'est ce qu'un moteur de workflow ?

D'un point de vue « informatique », la gestion électronique des processus métier (workflow ) des processus est la gestion des flux d'informations au sein d'une organisation, comme par exemple la transmission automatique de documents entre des personnes.

Ainsi, le workflow décrit le circuit de validation, les tâches à accomplir entre les différents acteurs d'un processus, les délais, les modes de validation, et fournit à chacun des acteurs les informations nécessaires pour la réalisation de sa tâche.

Pour un processus de publication en ligne par exemple, il s'agit de la modélisation des tâches de l'ensemble de la chaîne éditoriale.

Il permet généralement un suivi et identifie les acteurs en précisant leur rôle et la manière de le remplir au mieux.

Le moteur de workflow est le dispositif logiciel permettant d'exécuter une ou plusieurs instances de workflow. Par abus de langage, on peut appeler ce dispositif logiciel tout simplement "workflow".

Un tel système est capable de charger en mémoire une ou plusieurs définitions de processus de workflow. Sur demande de l'utilisateur, un processus peut être démarré (instancié). Le système va suivre le cheminement décrit par le processus et présenter la ou les activités à réaliser aux différents acteurs du workflow.

Les éléments de base d'un moteur de workflow ?

Les solutions Workflow définissent

  • un model pour spécifier les machines à état (Graphe)
  • Un modèle d'exécution

Les modèles peuvent être différents, Mais, ils sont tous basés sur la notion de graphe orienté (directed graph) et définissent ainsi un GOP (Graph Oriented Programming)

Des moteurs de workflow (BPM) open source ?

Face aux solutions propriétaires de BPM et de workflow (Oracle, IBM, BEA, W4, etc.), l'open source présente des alternatives très attractives, dont les principales sont (liste complète en annexe):

Moteur de workflow open source

Jbpm

http://www.jboss.org/jbossjbpm/

Bonita

http://wiki.bonita.objectweb.org/xwiki/bin/view/Main/WebHome

enhydra-shark

http://www.enhydra.org/workflow/shark/index.html


OSWorkflow

http://www.opensymphony.com/osworkflow/

http://wfmopen.sourceforge.net/

Agila

http://incubator.apache.org/projects/agila/index.html

OFBiz : The Open For Business Project: Workflow Engine Guide

http://ofbiz.apache.org/docs/workflow.html

XFLOW Process Management System

http://xflow.sourceforge.net/

A noter que les acteurs du monde open source (JBoss, OW2 ..) collaborent pour concevoir une approche innovante de virtualisation BPM, autour du concept de PVM (Process Virtual Machine). Cette approche est en avance par rapport aux approches classiques des moteurs de workflow propriétaires.

Le moteur BPM / workflow de Jboss (RedHat) JBPM

Deux parties :

jBPM un moteur de workflow

JBoss jBPM est un système de gestion de workflow écrit en Java, basé sur la notion de GOP (Graph Oriented Programming) un modèle de programmation orienté processus.

Il allie la définition graphique du processus (traduite ensuite en XML) et la programmation Java pour permettre de structurer l'application métier soutenat le processu cible. Développeurs et responsables métier peuvent se référer aux mêmes graphes, ce qui facilite l'implémentation des processus requis par les uns et concrétisés par les autres.

IDE de modélisation intégré à Eclipse

En plus du moteur de workflow, jBPM fournit un outil d'assistance au développement basé sur Eclipse: permettant de modéliser graphiquement les différentes activités qui composent le processus.

Installation

Les étapes :

  • Installer JAVA.
  • Installer le moteur JBoss jBPM et le serveur d'application JBoss (ou un autre serveur d'application Java EE).
  • Installer le designer de processus.

la suite ..... "
Graph Oriented Programming (GOP) avec JBPM"

pour aller plus loin :

http://fr.wikipedia.org/wiki/Moteur_de_workflow

http://java-source.net/open-source/workflow-engines

http://www.novaforge.org/novaforge/fr-selectionner/bmp

http://www.jboss.org/jbossjbpm/jbpm_documentation/


autres sujets

1. Un peu de monitoring Métier (BAM) avec JBPM et SeeWhy (event-driven business intelligence )

2. Comment modéliser un processus métier avec JBPM : exemple “gestion des entretiens”

3. Quelle est la différence entre JBPM et Intalio ?

4. Graph Oriented Programming (GOP) avec JBPM

5. La version 4 de JBPM prend le virage de BPMN

6. BPM & Moteur de workflow : l’offre open source


8 commentaires :

killer a dit…

merci bq pour ses informations

killer a dit…

merci pour tt sa

Anonyme a dit…

configuration de logiciel d'automatisation des processus alfresco

Khaled BEN DRISS a dit…

pour le BPM avec Alfresco, il y a JBPM

Hicham Jellab a dit…

Bonjour,

Pourquoi avez-vous omis le BPMS leader Open Source, soit Intalio? (comunity.intalio.com)

Khaled BEN DRISS a dit…

la liste ne comprend que les moteurs de workflow qu'on pourrait "embarquer" dans un code java EE ...
Intallio BPMS est plus qu'un moteur de workflow

miguel.valdes a dit…

Bonjour,

Juste preciser que l'URL pour telecharger la solution open source Bonita est http://www.bonitasoft.com

La nouvelle version de ce logiciel: Bonita Open Solution 5.0 a été versé à la communauté fin Janvier 2010.
Vous pouvez poser vos questions sur les forums communautaires: http://www.bonitasoft.org/forum

Anonyme a dit…

bonjour

comment faire la liaison entre un moteur de workflow et une application de gestion de reservation de billet d'avion par exemple.

est ce qu'il existent des APIs spécial pour faire la liaison ou on devra faire la liaison par implémentation de code.


Merci

Enregistrer un commentaire

Architecte SOA & Professionnel Open Source Headline Animator

 
Khaled BEN DRISS
Cloud Computing, SOA et Web 2.0 : Des sujets techniques sur SOA et l'Open Source : de Java & .Net, PHP5, Symfony, à SaaS / PaaS en passant par Azure, google appengine, le BPM, la Modélisation et d'autres sujets du coté du serveur et cloud computing.