Sie sind auf Seite 1von 31

Document mis disposition par :

http://www.ingenieurs.fr

Attention
Ce document est un travail dtudiant,
il na pas t relu et vrifi par ingenieurs.fr

En consquence croisez vos sources :)

Sommaire
1-Introduction2
1-1- BPM (Business Process Management)..2
1-2 J-Boss JBPM2

2-Installation de JBPM3
2-1 Architecture de JOBSS JBPM 3
2- 2 Installation du moteur JBoss JBPM et le serveur dapplication jboss3
2-3 Installation de ANT..4
2-4 Installation du JPDL Designer .5

2-JBPM en action .7

1-Introduction:

1-1- BPM (Business Process Management)

Matt Cumberlidge dfinit PBM dans son live Business Process Management with JBPM

comme sui:
<< Business Process Management involves the graphical modeling of a business process,
from which workflow software can be generated, which in turn will control the live operation of the
3

process, interacting with both humans and other applications. Further software measures the
execution of the process in the live environment in order to permit ongoing analysis and iterative
improvements.>>
Donc BPM implique la modlisation graphique dun processus daffaire, partir de laquelle
un logiciel de workflow peut tre gnrer, ce logiciel contrlera le fonctionnement du processus et
sera capable dinteragir avec les humains et dautres applications, Aussi, ce logiciel sera capable de
faire des mesures sur lexcution du processus dans son environnement ce qui permettra au BA
(Business Analyst ) damliorer lanalyse et raliser dautre itrations.
Ces dernires annes tout le monde parle de BPM et de son importance pour amliorer la
productivit des entreprises. Dans une tude publie par cioinsight.com : en 2007, BPM est la
deuxime technologies adopte par les entreprises pour amliorer leurs comptitivits et leurs
productivits, ceci nest pas fruit du hasard, en effet ladoption du BPM a beaucoup davantages
parmi lesquels on cite :

Productivit et efficacit.
Gouvernance et respect les processus.
Mthode agile.
BPM sadapte facilement au changement dans lorganisme.
LAmlioration de la communication, la coopration et la coordination entre les diffrentes
quipes.
Maximisation de lutilisation des ressources.
Rduction de la dure du cycle du processus.
Minimisation des cots.
BPM facilite lintgration des nouveaux membres des quipes.

1-2 J-Boss JBPM

J-Boss JBPM est un framework open source qui permet la dfinition et lexcution des
processus. JBPM permet aux entreprises de dfinir et dautomatiser des BPs ( business Process) qui
coordonnent avec des humains, des applications et des services.
JBPM fournit un modle unique de programmation oriente processus avec son langage de
dfinition des processus : JPDL ( JBoss Process Definition Language). JPDL permet au dveloppeur de
structurer son logiciel autour dun graphe de processus facile comprendre. Cette approche permet
la dfinition des BPs avec un langage comprhensible par le BA et le dveloppeur, ce qui facilite
limplmentation des processus ncessaires.
J-Boss JBPM vient avec un designer visuel bas sur Eclipse, un moteur qui excute les
processus, et un serveur dapplication prs configure.
4

2-Installation de JBPM

Dans ce tutorial, je suppose que vous avez dj install la JVM sur votre machine
Windows XP, et quelle fonctionne correctement.

2-1 Architecture de JOBSS JBPM :

Avant de commencer linstallation, jetons un regard sur ce schma graphique de JBPM, ce qui
vous aidera comprendre la plateforme avec laquelle nous allons travailler

Le Process Designer dveloppe le Process Definition du processus, et il le dploie sur la


base de donne des processus, le moteur de JBPM interagit avec la base de donne des processus
pour rpondre aux requtes de la WEBCONSOLE qui est lapplication avec laquelle lutilisateur final
interagit.

2- 2 Installation du moteur JBoss JBPM et le serveur dapplication jboss:


5

Le moteur JBoss JBPM est le programme qui excute les processus, le moteur est dploy
dans un serveur dapplication JBoss.
Premirement, on doit tlcharger les fichiers ncessaires, Pour cela, tlchargez la dernire version
de jbpm-jpdl-suite, au jour dcriture de ce tutorial la dernire version stable tait 3.2.2, une fois le
tlchargement termin, dezippez le fichier dans un dossier , je lai fait vers le dossier c:\jbpm. Et
cest fini, vous avez JBPM install sur votre machine, pour tester que tout est bien install, dplacez
vous dans le dosser dont le quel vous avez install jbpm , ouvrez le dossier server (pour moi
C:\jbpm\jbpm-jpdl-3.2.2\server) et double click sur start, attendez quelque second, le temps
ncessaire pour le lancement du serveur . Maintenant lancez votre navigateur web et tapez :
http://localhost:8080/jbpm-console/ dans la barre dadresse. Vous devez avoir devant vous une page
similaire celle ci :

2-3 Installation de ANT

Si vous navez pas encore install ANT sur votre machine, tlchargez le ici, une fois
tlcharg, dezippez le dans un dossier de votre choix ( de prfrence : C:\Program Files ). Vous
devez informer le systme sur lemplacement de ANT, pour le faire, cliquez avec le bouton droit de la
sourie sur Poste de travail, -> proprits->avanc->variables denvironnement, dans les variables
systme, slectionnez la variable PATH, et appuyez sur modifier, Dans la zone de texte valeur de la
variable, allez jusqu' la fin de la liste, ajouter ; suivi du chemin du dossier bin dans le dossier
dinstallation de ANT.
Vous devez avoir quelque chose comme a :

Appuyez sur ok -> appliquer->ok.

2-4 Installation du JPDL Designer :


7

Tlchargez la dernire version de Eclipse pour Windows (pour moi cest : eclipse-sdk3.3.2.win32.zip), copier le dans le dossier designer qui se trouve dans le dossier dinstallation de
JBPM.
Toujours dans dossier Designer, ouvrez avec un diteur de texte le fichier build.properties, vous devez
voir quelque chose comme a :

Ce fichier est utilis par ANT pour installer Eclipse ainsi que le plugin du designer, Comme vous
laurez dj comprit, il indique ANT la version de Eclipse installer ainsi que son chemin accs
Donc nous devons changer la version et le chemin de Eclipse, aprs les modifications, votre fichier
doit tre comme celui ci :

# the next property points to the eclipse zip file on your local
# machine. the build script in this directory contains a target
# to get eclipse and put it in this directory. in case you have it
# in another location, update the property below.

eclipse.file.name=eclipse-SDK-3.3.2-win32.zip

# Replace the eclipse.local.path with the uncomment version if you want


# to supply eclipse in this directory.
8

eclipse.local.path=.
#eclipse.local.path=${user.home}/jbpm/repository/eclipse/sdk/3.2.1
eclipse.local.url=${eclipse.local.path}/${eclipse.file.name}

#eclipse.remote.path=http://repository.jboss.com/eclipse/sdk/3.2.1
#eclipse.remote.url=${eclipse.remote.path}/${eclipse.file.name}

Enregistrer et fermer le fichier.


Maintenant ouvrez la ligne de commande (dmarrer->excuter : cm->ok), dplacez vous avec la
commande cd vers le dossier designer et lancez la commande : ANT , vous devez avoir quelque
chose comme a :

Et cest tout, Pour lancer Eclipse, dans le dossier designer double click sur Designer,

Pour vrifier que tout fonctionne bien. Appuyer sur 'workbench, puis File->New->project,
vous devez avoir quelque chose comme ceci :

10

Jusqu maintenant nous avons vue comment installer JBPM et sa suite doutils, dans la
deuxime partie de ce tutorial nous allons voir comment travailler avec ces outils travers un
exemple simple.

11

2-JBPM en action :

Dans cette partie nous allons traiter un exemple simple, il sagit du processus de demande de
cong dans une entreprise, dans cet exemple un employ fait une demande de cong un
responsable des ressources humaines, ce dernier doit dcider, soit il accepte la demande, soit il la
rejette.

Passons maintenant a laction, Dmarrer votre Eclipse partir du Designer(Astuce : faites un


raccourcis vers le designer dans le bureau, comme a vous naurez pas a ce dplacer vers le dossier
designer chaque fois que vous voulez dmarrer Eclipse )
Allez dans file->new->projet et choisissez jBossjBPM->Process Project :

12

Cliquez sur next, et puis donnez le nom conge votre projet, et cliquer sur finish.
Dans le package explorer, allez sur src/main/jpdl, click avec le bouton droit->new->other.

13

Puis choisissez jBoss jBPM -> Process Definition :

14

Puis cliquez sur next, donnez un nom au processus :conge et cliquez sur finish.

15

Vous ntes pas supposs comprendre le fonctionnement de tous les outils que le designer a
mit votre disposition, nous allons travailler avec le minimum, et dans mon prochain tutorial je vais
faire une explication dtaille, base sur la documentation officielle, des diffrents composants du
JPDL. ( jai dj commenc la traduction, contactez moi par email, si vous voulais maidez)
Pour commencer, faites un click sur

16

et cliquez au centre,

Faites la mme chose avec Task Node et End .


Vous devez avoir quelque chose comme a :

Pour chaque nud faites la chose suivante :


Allez dans le volet proprietes-> general et donnez un nom significatif, aprs cette tape, vous aurez
quelque chose comme a :

17

Maintenant nous devons lier les nuds de taches en eux, pour cela nous allons utiliser les
Transitions. Cliquer sur
, puis clique sur le nud faire une demande et apres le
nud traiter la demande, refaites la mme chose pour obtenir le rsultat suivant.

18

Pour renommer les transitions, faites la mme chose que vous avez fait avec les nuds :

Maintenant, cliquez au centre (ne cliquez sur aucun composant),


Dans le volet proprits, slectionner swimlanes , cliquer avec le bouton droit-> New
Swimlane :

Donnez le nom employe au swimlane, et dans la partie assignement, choisissez expression


et dans le champs expression entrer : group(employe) :

19

Crez un autre swimlane avec les donnes suivantes : Nom : rh, expression : group(rh).

Maintenant nous allons crer des taches pour chaque nud, on va commencer avec le
noeud faire demande.
Slectionnez le nud, dans le volet proprits, slectionnez Task -> Configure Task

Remplissez le champs Name avec : demande, dans la partie assignement, choisissez :


swimlane et remplir le le champs swimlane name avec employe.
Dans la partie Controller, remplissez le tableau comme sui :

Dans la partie Details, cliquez sur generate form, remplissez le formulaire comme sui, et
cliquez sur ok

20

Refaites la mme chose pour le nud : traiter une demande


Name : traitement.
Assignemnet :
o

Swimlane
Swimlane name : rh

Controller :

details :
21

Nous avons presque fini avec le Designer, Nous allons maintenant crer les groupes RH, et
EMPLOYE dans la base de donne et en mme temps crer deux utilisateurs pour les testes. Pour
cela, nous devons tout dabord lancer le serveur, vous vous souvenez du serveur ? pour le faire, allez
dans le dossier dinstallation de jBPM, ouvrez le dossier Server et double click sur Start. Lancer le
navigateur entrez dans la barre dadresse ladresse : http://localhost:8080, puis ok

22

Cliquez sur JMX Console. Puis sur database=jbpmDB,service=Hypersonic


Puis invoquez la fonction startDatabaseManager() vous devez voir quelque chose comme a :

23

par exemple si vous voulez voir la liste des groupes dj existants , composez la commande SQL
suivant :
select * from public.jbpm_id_group
voici le rsultat de cette commande sur ma machine :

24

Maintenant nous allons ajouter les deux groupes avec la commande :


Insert into public.jbpm_id_group values (100,'G','employe','organisation',null)
Insert into public.jbpm_id_group values (101,'G','rh','organisation',null)
on ajoute deux utilisateurs : lamdauf et jerry :
insert into public.jbpm_id_user values (100,'U','lamdauf','lamdauf@gmail.com','lamdauf')
insert into public.jbpm_id_user values (101,'U','jerry','jerry@gmail.com','jerry')
Maintenant on va attribuer des roles aux deux utilisateurs:
insert into public.jbpm_id_membership values ( 13,'M',null,null,100,100)
insert into public.jbpm_id_membership values ( 14,'M',null,null,101,101)
insert into public.jbpm_id_membership values ( 15,'M',null,null,100,5)
insert into public.jbpm_id_membership values ( 16,'M',null,null,101,5)
25

Et cest fini, pour vrifier que les deux comptes sont crs correctement, lancer le navigateur avec
ladresse suivante http://localhost :8080/jbpm-console, et essayez de se connecter avec le login
lamdauf mot de passe lamdauf.
En fait il y a une manire plus simple pour ajouter les groupes et les utilisateurs, vous devez juste
vous connecter autant que manager, et vous aurez une interface pour ajouter et supprimer les
groupes et les utilisateurs, mais je voulais juste mentionner quil y a une base de donne derrire
JBPM et si vous jetez un regard sur les tables de la base de donnes vous comprendrez un peu le
fonctionnement de JBPM. En effet, JBPM enregistre tout dans la base de donne : la dfinition des
processus, les instances des processus, les nuds, les taches,.. Et il les manipule de fur et a mesure
que le lexcution du processus continue. Aussi, dans des tutoriaux a venir, je vous expliquerai
comment changer le SGBD, par dfaut jbpm vient avec hypersonic, mais peut tre que vous
souhaitez le faire fonctionner avec Mysql par exemple. En resume,, il faut crer la base de donne
dans Mysql et modifier quelques fichiers de configuration..

Maintenant revenons sur Eclipse et slectionner Deployement.

Assurez vous que vous avez dj lanc le serveur avec la bouton Test Connection , si vous
recevez le message :

Cela veut dire que vous pouvez dployer larchive du processus sur le serveur, et pour le faire,
appuyez sur Deploy process archive et cest fini.

26

Allez dans le navigateur web et taper ladresse : http://localhost:8080/jbpm-console , utilisez le


compte lamdauf pour sidentifier. Si tout sest bien pass vous devez avoir cet cran daccueil.

Cliquez sur examine , puis sur start

Puis un click sur examine et vous serez redirig vers la page :

27

Remplissez les champs et cliquez sur valider, un message vous informera que vous avez termin la
tache :

Maintenant deconnectez vous, et reconnectez vous avec le compte : jerry, Mot de passe : jerry :
voila votre page daccueil :

28

Cliquez sur Task pour consulter les taches :

Cliquer sur examine :

29

Faites votre dcision et valider pour terminer le processus. Si vous cliquez sur Task vous
remarquerez quil ny a pas plus de tache faire.

30

Document mis disposition par :

http://www.ingenieurs.fr

Attention
Ce document est un travail dtudiant,
il na pas t relu et vrifi par ingenieurs.fr

En consquence croisez vos sources :)

31