Dernière modification : Dec 08 , 2024
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

  1. Connectez-vous à Business Central (généralement http://localhost:8080/business-central).
  2. Cliquez sur Menu -> Design -> Projects.
  3. Cliquez sur Add Project -> New Project.
  4. Nommez votre projet (ex: MonPremierProcessus).
  5. Cliquez sur Create.

Dialogue Creation Projet

Étape 2 : Création d'un nouveau processus

  1. Dans votre projet, cliquez sur Add Asset -> New BPMN Process.
  2. Nommez votre processus (ex: ProcessusSimple).
  3. Cliquez sur Create. Le modélisateur BPMN s'ouvre.

Creation du Processus

Étape 3 : Modélisation du processus

  1. Création d'une variable globale welcomeMessage de type String
  2. Faites glisser un élément Start Event de la palette vers la zone de dessin.
  3. Faites glisser un élément Human Task sur la zone de dessin et connectez-le au Start Event.
    1. Configuration de l'élément Human Task :
    2. Création d'une data output de type String avec la source welcomeMessage
  4. Faites glisser un élément Script Task sur la zone de dessin et connectez-le au Human Task.
    1. Utiliser le script suivant pour réutiliser la variable générée System.out.println("Message de bienvenue : " + welcomeMessage);.
  5. Faites glisser un élément End Event sur la zone de dessin et connectez-le au Script Task.
  6. Enregistrez le processus.

Voici un exemple de processus créé en /materials/ProcessusSimple.bpmn en suivant les étapes.

Étape 4 : Déploiement du processus

  1. Cliquez sur l'icône Deploy dans la barre d'outils de Business Central.

Étape 5 : Interaction avec le processus via l'API REST

  1. 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 forme MonPremierProcessus_1.0.0-SNAPSHOT.

  2. 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.
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"
  1. 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.
curl -X GET "http://localhost:8080/kie-server/services/rest/server/queries/processes/instances/6" -H  "accept: application/json" --user "wbadmin:wbadmin"
  1. 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.

  1. 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.