Camunda BPM – Guide Complet des Passerelles (Gateways)

 🚀 Introduction

Dans BPMN (Business Process Model and Notation), les passerelles — appelées gateways — contrôlent la prise de décision et la synchronisation dans un processus.

Camunda BPM implémente ces passerelles selon la norme officielle BPMN 2.0.

Dans ce blog, nous allons découvrir :

✔ Les différents types de passerelles
✔ Quand utiliser chacune
✔ Comment Camunda les exécute
✔ Des exemples réels basés sur des workflows d’entreprise


Cette architecture est couramment utilisée dans les environnements microservices modernes.

👉 environnements microservices modernes


🧩 Qu’est-ce qu’une Passerelle (Gateway) en BPMN ?

Une passerelle est un point de décision, de division ou de synchronisation dans un diagramme BPMN.

Elle détermine comment le processus doit continuer en fonction :

  • de conditions

  • d’exécutions parallèles

  • d’événements externes

  • de règles métiers complexes


🔀 Les Types de Passerelles dans Camunda BPM

Il existe 5 types principaux de passerelles :

PasserelleIcôneUtilisation
Exclusive (XOR)Une seule voie est prise
🟢 Inclusive (OR)🟢Une ou plusieurs voies possibles
Parallel (AND)Toutes les voies sont exécutées
Event-BasedEn attente d’un événement
⚙️ Complex⚙️Logique avancée / règles complexes

1️⃣ Passerelle Exclusive (XOR) – « Choisir une seule voie » ❌

La passerelle exclusive permet de choisir une seule sortie parmi plusieurs.

✔ Quand l’utiliser :

  • Une seule condition peut être vraie

  • Un seul chemin doit être exécuté

  • Exemple : approbation basique, vérification simple

► Exemple :

Commande reçue ↓ Vérifier montant ↓ ↓ < 500 ≥ 500







✔ Comportement dans Camunda:

  • Évalue les conditions dans l’ordre

  • Le premier chemin vrai est choisi

  • Chemin par défaut possible


2️⃣ Passerelle Inclusive (OR) – « Une ou plusieurs voies » 🟢

La passerelle inclusive permet d’activer une ou plusieurs branches simultanément.

✔ Quand l’utiliser :

  • Plusieurs conditions peuvent être vraies

  • Règles qui se chevauchent

  • Exemple : notifications multiples, checks combinés

► Exemple :

Vérifier document ↓ ↓ ↓ Valide? Manque? Revue?


















✔ Comportement dans Camunda:

  • Active toutes les conditions vraies

  • Attend le retour de toutes les branches actives avant de continuer


3️⃣ Passerelle Parallèle (AND) – « Exécuter tout » ➕

La passerelle parallèle lance toutes les branches en même temps.

✔ Quand l’utiliser :

  • Tâches indépendantes

  • Multi-services

  • Traitements en parallèle

► Exemple :

Start ↓ Passerelle parallèle ↓ ↓ ↓ A B C (tâches parallèles)





✔ Comportement dans Camunda:

  • Aucune condition

  • Toutes les branches se déclenchent

  • À la jonction, toutes doivent être terminées


4️⃣ Passerelle Basée sur les Événements (Event-Based) ⏳

La passerelle event-based attend qu’un événement spécifique se produise.

✔ Quand l’utiliser :

  • En attente d’un message

  • Timeout

  • Interaction utilisateur

  • Système externe

► Exemple :

Attendre : 1️⃣ Message du système A 2️⃣ Timer (5 minutes) 3️⃣ Annulation utilisateur





✔ Comportement Camunda:

  • Souscrit aux événements

  • Le premier événement reçu est choisi

  • Les autres sont annulés


5️⃣ Passerelle Complexe – « Logique avancée » ⚙️

Utilisée pour des cas très spécifiques avec une logique complexe.

✔ Quand l’utiliser :

  • Synchronisation conditionnelle

  • Pour « n’importe quelles 2 tâches sur 3 »

  • Processus dynamiques

► Exemple :

Le flux continue après la fin de 2 branches sur 3.




✔ Comportement Camunda:

  • Utilise des conditions personnalisées

  • Rare mais extrêmement puissant


📊 Tableau Résumé

PasserelleRègleExécution
❌ ExclusiveUne seule condition vraieUn seul chemin
🟢 InclusiveUne ou plusieursSynchronisation intelligente
➕ ParallèleToutesExécution simultanée
⏳ Basée sur événementsAttendre un événementLe premier gagne
⚙ ComplexeLogique personnaliséeContrôle avancé

🧠 Exemples réels d’entreprise

🧾 Processus de validation de facture

  • XOR → Valide / invalide

  • OR → Notifications multiples

  • AND → Génération PDF, email, enregistrement

🚀 Workflow microservices

  • AND → Appels parallèles

  • Event-Based → Callback système ou timeout

🏦 KYC bancaire

  • OR → Documents manquants

  • XOR → Niveau de risque


🔧 Comment Camunda exécute les passerelles

✔ Exclusive / Inclusive :

  • Conditions définies dans le flux sortant

  • Expressions JUEL ou FEEL-like

✔ Parallèle :

  • Aucun test

  • Activation de tokens concurrents

✔ Basée sur événements :

  • Création de souscriptions d’événements

  • Le premier déclencheur gagne

✔ Complexe :

  • Conditions personnalisées

  • Synchronisation dynamique


🎯 Conclusion

Les passerelles sont les décideurs du workflow Camunda :

  • ❌ Exclusive → un seul chemin

  • 🟢 Inclusive → un ou plusieurs

  • ➕ Parallèle → exécuter tout

  • ⏳ Basée sur événements → attendre un événement

  • ⚙ Complexe → logique avancée

Bien utiliser chaque type de passerelle permet de créer des workflows robustes, flexibles et évolutifs dans Camunda BPM.

Les passerelles donnent au BPMN sa puissance : décisions, branchements, parallélisme, événements et synchronisation.

💼 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).

🌐 WebsiteIT Trainings | Digital lectern | Digital rostrum | Digital metal podium 


 

🎥 Learn IT with Shikha on YouTube

Prefer learning through videos? Watch practical tutorials on Kafka, Camunda, Alfresco, Java, Spring Boot, Microservices and Enterprise Architecture.

▶ Subscribe to Learn IT with Shikha on YouTube

Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

10 BPMN Best Practices Every Camunda Developer Should Know

OOPs Concepts in Java | English | Object Oriented Programming Explained