Tutoriel jBPM en Français : Gateway Inclusive (OR)

   🚀 Introduction

La Gateway Inclusive (OR) dans jBPM permet à un processus de suivre un ou plusieurs chemins simultanément, en fonction de conditions.

Contrairement à la Gateway Exclusive (XOR), qui ne choisit qu’un seul chemin, la Inclusive peut déclencher plusieurs flux sortants lorsque leurs conditions s’avèrent vraies.

Cela s’avère utile pour des scénarios tels que des revues multi-étapes, des notifications conditionnelles, ou des actions parallèles mais optionnelles.


🛠️ Prérequis

  • jBPM / Business Central & KIE Server installés

  • ☕ JDK 11+ (ou JDK 17)

  • Utilisateurs avec rôles analyst / manager

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


📝 Étape 1 : Créer un nouveau processus

  1. Connectez-vous à Business Central

  2. Créez un projet : inclusive-gateway-demo

  3. ➕ Ajoutez un Business Process nommé InclusiveProcess

    • Id : com.example.inclusive

    • Package : com.example


🎨 Étape 2 : Concevoir le workflow

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

  2. Ajouter une Gateway Inclusive (OR)

  3. Ajouter une tâche Email (Envoyer Notification)

  4. Ajouter une tâche Humaine (Revue par le Manager)

  5. Ajouter une tâche Report (Générer Rapport)

  6. Ajouter une autre Gateway Inclusive (Join)

  7. ✅ Ajouter un nœud End (Fin)

Connectez comme suit :

Début → Inclusive (Split) → (Email, Revue, Rapport) → Inclusive (Join) → Fin


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

  • Ajouter des variables de processus :

    • sendEmail:Boolean

    • reviewNeeded:Boolean

    • generateReport:Boolean


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

  • Chemin Email → condition :

    sendEmail == true
  • Chemin Review → condition :

    reviewNeeded == true
  • Chemin Report → condition :

    generateReport == true

Plusieurs conditions peuvent être vraies en même temps, donc plus d’un chemin peut s’exécuter en parallèle.


🔨 Étape 5 : Construire et déployer

  1. Sauvegarder le processus

  2. Build & Install le projet

  3. Déployer sur le KIE Server


▶️ Étape 6 : Lancer le processus

  1. Aller dans Manage → Process Definitions

  2. ▶️ Démarrer une instance du InclusiveProcess

  3. Définir les variables (sendEmailreviewNeededgenerateReport) comme vrai/faux

  4. Le processus suit tous les chemins pour lesquels la condition est vraie


📌 Étape 7 : Résultats possibles

  • Si seul sendEmail=true → seule la tâche Email s'exécute

  • Si reviewNeeded=true et generateReport=true → Review + Report s’exécutent ensemble

  • Si toutes les variables sont vraies → les trois tâches s’exécutent avant la jointure à la Gateway Inclusive


🛠️ Dépannage

  • ❌ Aucun chemin déclenché ? → Assurez-vous qu’au moins une condition est vraie

  • ⚠️ Risque d’impasse ? → Toujours inclure une Gateway Join correspondante avant le nœud de fin

  • Comportement inattendu ? → Vérifiez les types de données (Boolean vs String)


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

🎯 Conclusion

La Gateway Inclusive (OR) est un moyen puissant de modéliser des workflows où plus d’une condition peut être vraie simultanément.

Elle offre une flexibilité au-delà de la XOR Exclusive en permettant l’exécution multi-branche.

Tu peux maintenant :

  • Envoyer des notifications optionnelles

  • Demander des revues uniquement si nécessaire

  • Générer des rapports selon les conditions

En maîtrisant les Gateways Inclusives, tu pourras concevoir des processus flexibles et réalistes où les règles métier déclenchent plusieurs actions en parallèle.


💼 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