Bonnes pratiques des conditions de passerelle BPMN dans Camunda
Bonnes pratiques des conditions de passerelle BPMN dans Camunda (Guide production)
Les conditions de passerelle BPMN dans Camunda déterminent le chemin d’exécution d’un processus.
Pourtant, des conditions mal écrites sont l’une des principales causes d’incidents en production.
Dans cet article, nous partageons les bonnes pratiques essentielles pour écrire des conditions de passerelle fiables et éviter les blocages et erreurs d’exécution dans Camunda 7 (les principes s’appliquent aussi à Camunda 8).
1️⃣ Pourquoi les conditions de passerelle causent des incidents
Une condition de passerelle :
-
Est évaluée à l’exécution
-
Doit toujours retourner un booléen
-
S’exécute dans le contexte du moteur BPM
Une simple erreur peut entraîner :
-
Un processus bloqué
-
Un incident visible dans Cockpit
-
Un impact direct en production
2️⃣ Toujours retourner un booléen (RÈGLE N°1)
❌ Condition incorrecte (très fréquente) :
Si orderStatus = "APPROVED", Camunda lève l’erreur :
condition expression returns non-Boolean
✅ Condition correcte :
👉 Une condition de passerelle doit toujours retourner true ou false.
3️⃣ Gérer explicitement les valeurs nulles
Les valeurs nulles sont une source majeure d’incidents.
❌ Condition risquée :
Si amount est null → incident.
✅ Condition sécurisée :
4️⃣ Utiliser correctement le flux par défaut
Chaque passerelle exclusive doit avoir un flux par défaut.
Pourquoi ?
-
Empêche le blocage du processus
-
Gère les cas inattendus
👉 Bonne pratique :
-
Conditions → logique métier attendue
-
Flux par défaut → cas imprévus
5️⃣ Éviter la logique métier dans les conditions
❌ Mauvaise pratique :
Problèmes :
-
Peu lisible
-
Fragile (null pointer)
-
Difficile à maintenir
✅ Bonne pratique :
-
Calculer la logique dans une service task ou un DMN
-
Utiliser une variable simple
6️⃣ Privilégier DMN pour les décisions complexes
Utilisez DMN lorsque :
-
Les règles sont nombreuses
-
La logique évolue souvent
-
Les règles doivent être lisibles par le métier
Condition de passerelle :
Avantages :
-
Meilleure maintenabilité
-
Plus de clarté
-
Moins d’erreurs en production
7️⃣ Passerelle exclusive vs inclusive : attention au choix
Passerelle exclusive (XOR)
-
Un seul chemin possible
-
Les conditions doivent être mutuellement exclusives
Passerelle inclusive (OR)
-
Plusieurs chemins possibles
-
Toutes les conditions sont évaluées
⚠️ Les passerelles inclusives peuvent entraîner :
-
Des exécutions parallèles non prévues
-
Des scénarios difficiles à déboguer
👉 Par défaut, utilisez une passerelle exclusive.
8️⃣ Éviter les effets de bord dans les conditions
❌ Interdit :
Les conditions doivent être :
-
En lecture seule
-
Déterministes
Les effets de bord peuvent corrompre l’état du processus.
9️⃣ Tester les conditions avant la mise en production
Avant le déploiement :
-
Tester les valeurs nulles
-
Tester les valeurs inattendues
-
Tester le flux par défaut
-
Vérifier dans Cockpit
👉 La majorité des incidents viennent de tests incomplets.
🔟 Checklist production (à garder sous la main)
✅ Retourne un booléen
✅ Null-safe
✅ Flux par défaut configuré
✅ Pas de logique métier dans la condition
✅ DMN pour les règles complexes
✅ Tests complets
🔑 Conclusion
Les conditions de passerelle BPMN doivent être simples, sûres et prévisibles.
La majorité des incidents sont dus à :
-
Des expressions non booléennes
-
Des valeurs nulles non gérées
-
Des conditions trop complexes
💼 Accompagnement professionnel
Si vous avez :
-
Des incidents liés aux passerelles BPMN
-
Des processus bloqués en production
-
Besoin d’un audit BPMN
Je propose du support production Camunda, des revues BPMN et des formations entreprises.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment