Tutoriel jBPM en Français : Tous les Gateways Expliqués
🚀 Introduction
Les Gateways dans jBPM sont des nœuds de décision et de contrôle qui définissent comment les flux de processus divergent et convergent. Ils permettent aux workflows de brancher, fusionner ou synchroniser les chemins.
Dans ce blog, nous allons explorer tous les gateways majeurs avec des exemples :
❌ Exclusive (XOR) : choisir un seul chemin
🟢 Inclusive (OR) : choisir un ou plusieurs chemins
➕ Parallel (AND) : exécuter tous les chemins en parallèle
⏳ Event-Based : attendre des événements externes
⚙️ Complex : conditions / synchronisation avancées
🛠️ Prérequis
jBPM / Business Central & le bundle KIE Server
☕ JDK 11+
Accès :
http://localhost:8080/business-central
❌ Exclusive Gateway (XOR)
🎯 Objectif
Choisir un chemin sortant basé sur une condition unique.
🔍 Exemple de flux
Début → Tâche Humaine → ❌ Gateway → ✅ Fin d’Acceptation / ❌ Fin de Rejet
⚙️ Exemple de condition
ou
Utiliser quand un seul chemin doit être emprunté.
🟢 Inclusive Gateway (OR)
🎯 Objectif
Permettre de prendre un ou plusieurs chemins sortants selon les conditions.
🔍 Exemple de flux
Début → Inclusive Gateway → Email / Review / ✅ Fin
⚙️ Exemple de condition
sendEmail == true → chemin “Email”
reviewNeeded == true → chemin “Review”
Les deux peuvent être déclenchés simultanément.
Utiliser quand plusieurs branches peuvent s’exécuter en même temps.
➕ Parallel Gateway (AND)
🎯 Objectif
Diviser le processus en plusieurs chemins parallèles, sans condition.
🔍 Exemple de flux
Début → Parallel Gateway → Tâche Rapport & Tâche Email → Jointure Parallel → ✅ Fin
Utiliser lorsque des tâches doivent se produire simultanément (ex : notifier et générer un rapport).
⏳ Event-Based Gateway
🎯 Objectif
Attendre des événements et choisir le chemin selon celui qui se produit en premier.
🔍 Exemple de flux
Début → Event Gateway → Message (Réponse utilisateur) / Timer (Expiration) → ✅ Fin
Utiliser quand le flux dépend d’événements externes (réponse ou délai dépassé).
⚙️ Complex Gateway
🎯 Objectif
Utilisé pour une logique de synchronisation avancée (rare dans les processus simples).
🔍 Exemple de flux
Attendre 2 des 3 chemins entrants avant de continuer.
Utiliser seulement quand les autres gateways ne peuvent pas modéliser le comportement désiré.
👉 Source code: https://github.com/LearnITWithShikha/GatewayExamples
📊 Comparaison rapide des Gateways
| Gateway | Symbole | Comportement | Cas d’usage |
|---|---|---|---|
| ❌ Exclusive (XOR) | ❌ | Un seul chemin possible | Décision approuver / rejeter |
| 🟢 Inclusive (OR) | 🟢 | Un ou plusieurs chemins | Envoyer email et/ou revue |
| ➕ Parallel (AND) | ➕ | Tous les chemins en parallèle | Rapport + notification ensemble |
| ⏳ Event-Based | ⏳ | Attendre un événement | Réponse utilisateur OU timeout |
| ⚙️ Complex | ⚙️ | Logique conditionnelle avancée | Joindre 2 de 3 tâches complétées |
🎯 Conclusion
Les Gateways sont les maîtres de la décision dans les processus jBPM :
❌ Exclusive → choisir un seul chemin
🟢 Inclusive → choisir un ou plusieurs
➕ Parallel → exécuter tous les chemins en parallèle
⏳ Event-Based → attendre des événements externes
⚙️ Complex → conditions / synchronisation avancées
En maîtrisant ces gateways, vous pouvez concevoir des workflows qui reflètent la logique métier réelle — allant des décisions simples aux automatisations complexes pilotées par événements.
💼 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
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment