Sur cette page
Gateways BPMN
Introduction
En BPMN 2.0, les gateways gèrent le flow des process en décidant comment les sequence flows se divisent, se rejoignent ou sont dirigés selon des conditions. Elles représentent des points où les chemins divergent ou convergent, pour modéliser des workflows complexes à multiples résultats possibles. Les gateways sont dessinées en losange sur les diagrammes BPMN, avec des icônes différentes selon leur rôle.
Types de Gateways
Exclusive Gateway (XOR Gateway)
- Objectif : Le gateway le plus courant, où un seul chemin de sortie est pris selon la condition.
- Représentation visuelle : Losange avec un “X” à l’intérieur.
- Exemple : Dans une validation, si la demande passe, un chemin est suivi ; si refusée, un autre.
- Cas d’usage : Quand le process ne prend qu’un chemin selon une décision, type “oui/non” ou “vrai/faux”.
Inclusive Gateway (OR Gateway)
- Objectif : Ce gateway permet de suivre un ou plusieurs chemins selon la condition. Tous les chemins où la condition est vraie sont suivis.
- Représentation visuelle : Losange avec un cercle dedans.
- Exemple : Si plusieurs validations sont demandées, le système suit tous les chemins valides selon les critères définis.
- Cas d’usage : Quand on peut suivre plusieurs chemins, ex : plusieurs critères qui lancent des actions différentes.
Parallel Gateway (AND Gateway)
- Objectif : Ce gateway coupe le flow en plusieurs chemins en parallèle, tous à faire ensemble. Il sert aussi à synchroniser des chemins.
- Représentation visuelle : Losange avec un « + » dedans.
- Exemple : Une tâche où plusieurs services relisent les documents en même temps.
- Cas d’usage : Quand des actions doivent se faire en parallèle ou que plusieurs chemins doivent être synchronisés avant de continuer.
Event-Based Gateway
- Objectif : Ce gateway oriente le flow selon les events qui arrivent. Il attend un event spécifique (ex : message, timer, signal) pour choisir la suite.
- Représentation visuelle : Losange avec un pentagone à l’intérieur.
- Exemple : Un process qui attend soit la réponse d’un client, soit un délai pour continuer.
- Cas d’usage : Quand l’étape suivante dépend d’events externes, comme attendre un message ou un déclenchement de timer.
Points clés sur les Gateways
- Division des flows : Les gateways divisent un sequence flow en plusieurs branches selon la condition ou l’event.
- Fusion des flows : Elles fusionnent aussi plusieurs sequence flows en un seul, pour synchroniser ou réunir selon la situation.
- Décision : Les gateways servent à modéliser les points où le flow dépend d’évaluations, events ou de l’utilisateur.
Cas d’usage
- Exclusive Gateway : Quand une seule condition est vraie et le process suit une seule voie.
- Parallel Gateway : Quand plusieurs tâches peuvent se faire en même temps et doivent être toutes terminées.
- Inclusive Gateway : Quand plusieurs conditions peuvent être vraies, plusieurs chemins à suivre.
- Event-Based Gateway : Quand le flow dépend d’events externes, comme attendre un message ou un timer.
- Complex Gateway : Quand le process suit des règles ou conditions complexes.
Exemple
Dans un workflow d’approbation simple :
- Exclusive Gateway : Si la demande est approuvée, le processus continue ; si refusée, il se termine.
- Parallel Gateway : Après l’approbation, deux tâches (préparation du document et notification) peuvent être faites en même temps.
- Event-Based Gateway : Le process attend soit une réponse client, soit un délai pour décider la suite.
Les gateways rendent les processus métier plus flexibles, facilitent la décision, le traitement parallèle et la synchronisation des chemins.