Chapitre Introduction à jBPM et à la Programmation Orientée Processus
Création de votre premier processus métier avec jBPM

Prérequis
- jBPM installé et en cours d'exécution (voir exercice d'installation).
- Business Central accessible via un navigateur web.
Étapes de l'exercice
Étape 1 : Création d'un nouveau projet
- Connectez-vous à Business Central (généralement
http://localhost:8080/business-central
). - Cliquez sur
Menu
->Design
->Projects
. - Cliquez sur
Add Project
->New Project
. - Nommez votre projet (ex:
MonPremierProcessus
). - Cliquez sur
Create
.
Étape 2 : Création d'un nouveau processus
- Dans votre projet, cliquez sur
Add Asset
->New BPMN Process
. - Nommez votre processus (ex:
ProcessusSimple
). - Cliquez sur
Create
. Le modélisateur BPMN s'ouvre.
Étape 3 : Modélisation du processus
- Création d'une variable globale
welcomeMessage
de type String - Faites glisser un élément
Start Event
de la palette vers la zone de dessin. - Faites glisser un élément
Human Task
sur la zone de dessin et connectez-le auStart Event
.- Configuration de l'élément
Human Task
: - Création d'une data output de type
String
avec la sourcewelcomeMessage
- Configuration de l'élément
- Faites glisser un élément
Script Task
sur la zone de dessin et connectez-le auHuman Task
.- Utiliser le script suivant pour réutiliser la variable générée
System.out.println("Message de bienvenue : " + welcomeMessage);
.
- Utiliser le script suivant pour réutiliser la variable générée
- Faites glisser un élément
End Event
sur la zone de dessin et connectez-le auScript Task
. - Enregistrez le processus.
Voici un exemple de processus créé en /materials/ProcessusSimple.bpmn en suivant les étapes.
Étape 4 : Déploiement du processus
- Cliquez sur l'icône
Deploy
dans la barre d'outils de Business Central.
Étape 5 : Interaction avec le processus via l'API REST
-
Obtenir l'ID du conteneur KIE: L'URL de base de l'API REST ressemble à ceci:
http://localhost:8080/kie-server/services/rest/server
. Vous trouverez l'ID du conteneur dans Business Central, généralement sous la formeMonPremierProcessus_1.0.0-SNAPSHOT
. -
Démarrer une instance de processus:
- Utilisez un outil comme
curl
ou Postman pour envoyer une requête POST à :http://localhost:8080/kie-server/services/rest/server/containers/{containerId}/processes/ProcessusSimple/instances
- Remplacez
{containerId}
par l'ID de votre conteneur.
- Utilisez un outil comme
curl -X POST "http://localhost:8080/kie-server/services/rest/server/containers/MonPremierProcessus/processes/MonPremierProcessus.ProcessusSimple/instances" -H "Accept: application/json" -H "Content-Type: application/json" --user "wbadmin:wbadmin" -d '{"welcomeMessage": ""}'
Recherchez les instances de processus avec une commande comme :
curl -X GET "http://localhost:8080/kie-server/services/rest/server/queries/containers/MonPremierProcessus_1.0.0-SNAPSHOT/process/instances?page=0&pageSize=10&sortOrder=true" -H "accept: application/json"
- Vérifier l'état du processus:
- Envoyez une requête GET à:
http://localhost:8080/kie-server/services/rest/server/queries/processes/instance/{processInstanceId}
- Remplacez
{processInstanceId}
par l'ID renvoyé après le démarrage du processus.
- Envoyez une requête GET à:
curl -X GET "http://localhost:8080/kie-server/services/rest/server/queries/processes/instances/6" -H "accept: application/json" --user "wbadmin:wbadmin"
- Vérifier l'exécution de la Script Task
La Script Task utilise la valeur de welcomeMessage. Vous pouvez vérifier cela en consultant les logs de votre serveur ou en accédant au journal des exécutions.
- Récupérer l'état final du processus
Pour vérifier que le processus s'est terminé correctement et obtenir les valeurs des variables :
curl -X GET "http://localhost:8080/kie-server/services/rest/server/containers/{container-id}/processes/instances/12345/variables" \
-H "Accept: application/json" \
--user "wbadmin:wbadmin"
Exemple de réponse :
{
"welcomeMessage": "Bienvenue à jBPM !",
"processInstanceId": 12345,
"status": "COMPLETED"
}
Exercices Supplémentaires
- Explorez l'API REST de jBPM pour gérer les tâches, les variables de processus et d'autres aspects du cycle de vie du processus.
Exemple "Claim une tâche"
curl -X PUT "http://localhost:8080/kie-server/services/rest/server/containers/MonPremierProcessus_1.0.0-SNAPSHOT/tasks/8/states/claimed?user=mary" -H "accept: application/json"
Compléter une tâche utilisateur :
curl -X PUT "http://localhost:8080/kie-server/services/rest/server/containers/{container-id}/tasks/{task-id}/states/completed" -H "Content-Type: application/json" --user "wbadmin:wbadmin" -d '{"welcomeMessage": "Bienvenue à jBPM !"}'
Vérifier les variables finales :
curl -X GET "http://localhost:8080/kie-server/services/rest/server/containers/{container-id}/processes/instances/{process-instance-id}/variables" -H "Accept: application/json" --user "wbadmin:wbadmin"
Conclusion
Vous avez créé, déployé et interagi avec un processus métier simple dans jBPM. Ce premier pas vous ouvre la voie à la construction d'applications plus complexes basées sur les processus.