Comparaison des Passerelles dans jBPM : Inclusive vs Parallèle vs Exclusive (en Français)
Lors de la modélisation de processus métiers avec jBPM, les passerelles (gateways) sont des éléments essentiels pour contrôler la façon dont le flux de travail se divise et se rejoint. Choisir la bonne passerelle garantit que votre logique de processus se comporte comme prévu.
Dans cet article, nous allons comparer les trois passerelles les plus utilisées : Inclusive (OR), Parallèle (AND) et Exclusive (XOR).
🔹 Passerelle Exclusive (XOR)
Comportement :
-
Une seule voie de sortie est prise, selon la première condition vérifiée.
-
Les conditions sont évaluées dans l’ordre, la première qui est vraie est suivie.
-
Un chemin par défaut peut être configuré si aucune condition n’est remplie.
Cas d’usage :
-
Choisir un repas en fonction du budget ou de la préférence (un seul repas possible).
Exemple de condition (MVEL) :
🔹 Passerelle Parallèle (AND)
Comportement :
-
Toutes les voies de sortie sont activées simultanément.
-
Aucune condition n’est vérifiée : toutes les branches s’exécutent en parallèle.
-
Au point de convergence, la passerelle attend que toutes les branches entrantes soient terminées.
Cas d’usage :
-
Effectuer plusieurs tâches en même temps, par exemple envoyer un email, mettre à jour la base de données et notifier un responsable.
🔹 Passerelle Inclusive (OR)
Comportement :
-
Une ou plusieurs voies de sortie peuvent être prises, selon les conditions.
-
Contrairement à l’Exclusive, plusieurs conditions peuvent être vraies ; plusieurs branches s’exécutent donc en parallèle.
-
Au point de convergence, la passerelle attend uniquement les branches activées.
Cas d’usage :
-
Traitement de commande où la facturation et l’expédition peuvent être déclenchées ensemble si les conditions sont remplies.
Exemple de condition (MVEL) :
Comparaison des Passerelles dans jBPM : Inclusive vs Parallèle vs Exclusive (en Français)
| Passerelle | Comportement au Split | Conditions | Comportement au Merge | Cas d’usage typique | Exemple jBPM/MVEL | Pièges fréquents |
|---|---|---|---|---|---|---|
| Exclusive (XOR) | Une seule voie de sortie est prise. | Oui — la première condition true l’emporte ; flux par défaut possible. |
Poursuit quand l’unique branche entrante est terminée. | Choisir exactement une option (ex. un seul type de repas). |
budget >= 300 && isVegetarian == trueUn flux par défaut gère l’absence de correspondance. |
Confondre = (affectation) avec == (comparaison) ; ordre des conditions. |
| Parallèle (AND) | Toutes les voies de sortie démarrent en même temps. | Non — aucune condition, toutes les branches s’exécutent. | La passerelle de convergence attend toutes les branches. | Exécuter en parallèle : envoyer email, journaliser, mettre à jour la base. | N/A (pas de condition sur les flux) | Oublier la jonction parallèle ; essayer d’ajouter des conditions (non supporté). |
| Inclusive (OR) | Une ou plusieurs voies de sortie peuvent être prises. | Oui — chaque flux dont la condition est true est activé. |
La convergence attend uniquement les branches activées. | Branchement flexible : facturer si requis, expédier si en stock, notifier si VIP. |
technologies != null && technologies.contains("Java")budget >= 300
|
Définir un défaut qui tire toujours ; mauvaise méthode (contain au lieu de contains). |
Notes : Utilisez MVEL sur les flux sortants pour les passerelles Exclusive et Inclusive. Assurez-vous que la passerelle de convergence correspond au type de split (XOR→XOR, AND→AND, OR→OR).
🛠 Bonnes pratiques
-
Utiliser Exclusive Gateway lorsqu’un seul choix est nécessaire.
-
Utiliser Parallel Gateway lorsque toutes les tâches doivent s’exécuter en parallèle.
-
Utiliser Inclusive Gateway lorsque plusieurs conditions peuvent être vraies et que des branches multiples sont possibles.
🧩En résumé
✅ Conclusion
Les passerelles permettent un contrôle précis de la logique des processus dans jBPM. En choisissant la bonne (Inclusive, Parallèle ou Exclusive), vous pouvez modéliser des flux de travail reflétant fidèlement les règles métier.
💼 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