BPMN Gateways
Introduzione
In BPMN 2.0, i Gateways controllano il flusso dei processi determinando come i sequence flow vengono suddivisi, uniti o indirizzati in base a determinate condizioni. Sono punti di decisione all’interno di un processo dove il percorso può divergere o convergere, permettendo di modellare workflow complessi con molteplici possibili esiti. I Gateways sono rappresentati da forme a diamante nei diagrammi BPMN, con diverse icone all’interno per indicarne il comportamento specifico.
Tipi di Gateways:
Exclusive Gateway (XOR Gateway)
- Scopo: Questo è il tipo di gateway più comune, dove viene seguito solo un percorso in uscita basato su condizioni.
- Rappresentazione Visiva: Una forma a diamante con una “X” all’interno.
- Esempio: In un processo di approvazione, se la richiesta è approvata, segue un percorso; se negata, ne segue un altro.
- Caso d’Uso: Quando il processo può prendere solo un percorso basato su una decisione, come “sì/no” o “vero/falso”.
Inclusive Gateway (OR Gateway)
- Scopo: Questo gateway permette di seguire uno o più percorsi in base alle condizioni. Vengono seguiti tutti i percorsi le cui condizioni risultano vere.
- Rappresentazione Visiva: Una forma a diamante con un cerchio all’interno.
- Esempio: In un processo dove sono necessarie più approvazioni (ma non tutte), il sistema può seguire tutti i percorsi di approvazione applicabili in base alle condizioni impostate.
- Caso d’Uso: Quando più percorsi possono essere seguiti a seconda delle condizioni, come criteri multipli che potrebbero attivare azioni diverse.
Parallel Gateway (AND Gateway)
- Scopo: Questo gateway viene utilizzato per dividere il flusso in più percorsi paralleli, dove tutti i rami devono essere seguiti simultaneamente. Può anche essere usato per sincronizzare più percorsi in entrata.
- Rappresentazione Visiva: Una forma a diamante con un ”+” all’interno.
- Esempio: Un task dove i documenti sono revisionati da più dipartimenti contemporaneamente.
- Caso d’Uso: Quando task o azioni devono avvenire in parallelo o quando più percorsi devono essere sincronizzati prima di continuare.
Gateway Basato su Evento
- Scopo: Questo gateway dirige il flusso in base agli eventi che si verificano. Attende un evento specifico (es. messaggio, timer, segnale) per determinare quale percorso intraprendere.
- Rappresentazione Visiva: Una forma a diamante con un pentagono all’interno.
- Esempio: Un processo che attende una risposta del cliente o un timeout per continuare il flusso.
- Caso d’Uso: Quando il passo successivo di un processo dipende da eventi esterni, come l’attesa di un messaggio o un trigger di timer.
Punti Chiave sui Gateways
- Suddivisione dei Flussi: I Gateways possono suddividere un unico sequence flow in più ramificazioni, determinando quale/i percorso/i seguire in base a condizioni o eventi.
- Unione dei Flussi: I Gateways possono anche unire più sequence flow in uno solo, sincronizzando percorsi paralleli o convergendo in base a condizioni specifiche.
- Decision-Making: I Gateways sono essenziali per modellare punti di decisione, dove il flusso del processo dipende dal risultato di valutazioni, eventi o input dell’utente.
Casi d’Uso
- Exclusive Gateway: Quando solo una condizione può essere vera e il processo deve seguire un unico percorso.
- Parallel Gateway: Quando più task possono avvenire simultaneamente e tutti devono essere completati.
- Inclusive Gateway: Quando una o più condizioni possono essere vere e più percorsi devono essere seguiti.
- Event-Based Gateway: Quando il flusso dipende da eventi esterni, come l’attesa di un messaggio o di un timer.
- Complex Gateway: Quando regole o condizioni complesse determinano come il processo continua.
Esempio
In un semplice flusso di lavoro di approvazione:
- Exclusive Gateway: Se la richiesta è approvata, il processo procede; se rifiutata, termina.
- Parallel Gateway: Dopo l’approvazione, due task (preparazione del documento e notifica) possono essere completati in parallelo.
- Event-Based Gateway: Il processo attende una risposta del cliente o un timeout per determinare il passo successivo.
I Gateways sono critici per rendere i processi aziendali più flessibili, consentendo decisioni, elaborazioni parallele e sincronizzazione di diversi percorsi all’interno del workflow.