Tutoriel jBPM en Français : Exemple de Gateway (Flux Approuver/Rejeter)

  🚀 Introduction

Dans ce tutoriel, vous apprendrez à utiliser une Gateway dans jBPM pour diriger votre processus selon des conditions.
Nous allons construire un workflow simple de type approbation :

Début → Tâche Humaine → Gateway → ✅ Chemin Approuvé / ❌ Chemin Rejeté → Fin


🛠️ Prérequis

  • Bundle jBPM / Business Central & KIE Server (communautaire, version 7.x)

  • ☕ JDK 11+ (JDK 17 fonctionne aussi)

  • Un utilisateur avec le rôle manager

  • Accès via navigateur : http://localhost:8080/business-central


📝 Étape 1 : Créer un nouveau projet

  1. Connectez-vous à Business Central

  2. Créez un projet nommé : approval-gateway

  3. ➕ Ajoutez un nouveau Business Process : ApprovalProcess

    • Id : com.example.approval

    • Package : com.example


🎨 Étape 2 : Concevoir le workflow

  1. Ajoutez un nœud Start (Début)

  2. Ajoutez une Tâche Humaine → configurez-la :

    • Nom : Review Request

    • Acteurs : manager

    • Nom de tâche : review-request

  3. Ajoutez une Gateway Exclusive (XOR) juste après la tâche humaine

  4. ✅ Ajoutez un nœud End pour le chemin approuvé

  5. ❌ Ajoutez un autre nœud End pour le chemin rejeté

  6. Connectez :
    Début → Tâche Humaine → Gateway → Fin (Approuvé / Rejeté)


📊 Étape 3 : Définir les données

  • Ajoutez une variable de processus :

    • Nom : approved

    • Type : Boolean

  • Dans le formulaire de la tâche humaine, laissez l’utilisateur choisir : approved = true ou approved = false


⚙️ Étape 4 : Configurer les conditions de la Gateway

  1. Sélectionnez la Gateway → ajoutez deux connexions sortantes :

    • ✅ Chemin Approuvé → condition :

      approved == true
    • ❌ Chemin Rejeté → condition :

      approved == false

🔨 Étape 5 : Construire et déployer

  • Sauvegardez le processus

  • Build & Install le projet

  • Vérifiez que le déploiement sur le KIE Server est effectif


▶️ Étape 6 : Exécuter le processus

  1. Allez dans Manage → Process Definitions

  2. ▶️ Lancez une nouvelle instance de ApprovalProcess

  3. La tâche humaine est assignée → ouvrez le formulaire → sélectionnez approuver ou rejeter


📌 Étape 7 : Résultats selon le chemin choisi

  • ✅ Si approved = true → le flux va vers le nœud de fin approuvé

  • ❌ Si approved = false → le flux va vers le nœud de fin rejeté


🛠️ Dépannage

  • ❌ Tâche non visible ? → Vérifiez que l’utilisateur a bien le rôle manager

  • ⚠️ Les deux chemins s’activent ? → Assurez-vous que les conditions des branches sortantes sont mutuellement exclusives

  • Le processus ne se termine pas ? → Vérifiez qu’au moins une condition est correctement définie


👉 Source code: https://github.com/LearnITWithShikha/GatewayExamples

🎯 Conclusion

Le workflow Gateway montre comment les décisions métiers pilotent le flux de processus dans jBPM. En utilisant des branches basées sur des conditions (comme approuver/rejeter), vos workflows deviennent plus intelligents et proches des scénarios réels.

Cet exemple simple Approuver/Rejeter illustre :

  • l’utilisation des Tâches Humaines pour recueillir une décision

  • l’emploi des Gateways Exclusives pour diriger le flux

  • ✅ / ❌ des résultats différents selon la variable approved

Ensuite, vous pouvez explorer :

  • Les Gateways Parallèles pour exécuter plusieurs tâches simultanément

  • Les Gateways Inclusifs pour des chemins multiples valides

  • Combiner les Gateways avec des Service Tasks ou des Script Tasks pour des règles métiers plus complexes


💼 Support professionnel disponible

Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.

Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM).

📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com

Comments

Popular posts from this blog

jBPM Installation Guide: Step by Step Setup

Scopes of Signal in jBPM

OOPs Concepts in Java | English | Object Oriented Programming Explained