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 brancherfusionner 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

approved == true

ou

approved == false

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

GatewaySymboleComportementCas d’usage
❌ Exclusive (XOR)Un seul chemin possibleDécision approuver / rejeter
🟢 Inclusive (OR)🟢Un ou plusieurs cheminsEnvoyer email et/ou revue
➕ Parallel (AND)Tous les chemins en parallèleRapport + notification ensemble
⏳ Event-BasedAttendre un événementRéponse utilisateur OU timeout
⚙️ Complex⚙️Logique conditionnelle avancéeJoindre 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

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