Passerelles BPMN
Introduction
En BPMN 2.0, les gateways gèrent le flux des processus en décidant comment les flux de séquence 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
Passerelle exclusive (XOR)
- Objectif : La passerelle la plus courante, 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”.
Passerelle inclusive (OR)
- Objectif : Cette passerelle 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.
Passerelle parallèle (AND)
- Objectif : Ce gateway coupe le flux 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.
Passerelle événementielle
- Objectif : Ce gateway oriente le flux selon les événements 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’événements 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 flux de séquence en un seul, pour synchroniser ou réunir selon la situation.
- Décision : Les gateways servent à modéliser les points où le flux 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.
- Passerelle événementielle : Quand le flux dépend d’événements 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.
- Passerelle événementielle : 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.