In questa pagina
Gateway BPMN
Introduzione
In BPMN 2.0, i gateway controllano il flusso dei processi decidendo come i sequence flow vengono suddivisi, uniti o indirizzati in base a condizioni specifiche. Sono punti di decisione in cui i percorsi di processo possono divergere o convergere, permettendo di modellare workflow complessi e gestire risultati diversi. Nei diagrammi BPMN i gateway sono rappresentati da rombi, ognuno con un’icona che indica il comportamento specifico.
Tipi di Gateway
Exclusive Gateway (XOR Gateway)
- Scopo: È il gateway più usato, consente di seguire un solo percorso sulla base di condizioni definite.
- Rappresentazione visiva: Rombo con una “X” all’interno.
- Esempio: In un processo di approvazione, se la richiesta è accettata segue un percorso, se respinta ne segue un altro.
- Quando usarlo: Quando il processo può proseguire solo lungo un percorso sulla base di una decisione, come “sì/no” o “vero/falso”.
Inclusive Gateway (OR Gateway)
- Scopo: Consente di seguire uno o più percorsi in base alle condizioni che risultano vere.
- Rappresentazione visiva: Rombo con un cerchio all’interno.
- Esempio: In un processo che richiede più approvazioni (ma non tutte), il sistema segue tutti i percorsi di approvazione applicabili secondo le condizioni definite.
- Quando usarlo: Per seguire più percorsi contemporaneamente, in base a criteri diversi.
Parallel Gateway (AND Gateway)
- Scopo: Divide il flusso in percorsi paralleli, dove tutti i rami vengono eseguiti insieme. Può anche sincronizzare flussi in ingresso.
- Rappresentazione visiva: Rombo con un “+” all’interno.
- Esempio: Attività in cui i documenti sono revisionati da più reparti nello stesso momento.
- Quando usarlo: Quando attività o azioni devono avvenire in parallelo oppure serve sincronizzare percorsi diversi prima di proseguire.
Event-Based Gateway
- Scopo: Questo gateway indirizza il flusso in base agli eventi che si verificano. Attende uno specifico evento (ad esempio, message, timer, signal) per decidere quale percorso seguire.
- Rappresentazione visiva: Rombo con un pentagono all’interno.
- Esempio: Un processo che attende la risposta di un cliente o un timeout prima di proseguire.
- Quando usarlo: Quando la fase successiva di un processo dipende da eventi esterni, come attendere un message o un timer.
Punti chiave sui Gateway
- Divisione dei flussi: I gateway possono dividere un sequence flow in più rami, scegliendo quali percorsi seguire in base a condizioni o eventi.
- Unione dei flussi: Possono anche unire più sequence flow in uno solo, sincronizzando percorsi paralleli o convergendo secondo condizioni definite.
- Punti di decisione: Sono essenziali per modellare punti di decisione, dove il flusso del processo dipende dal risultato di valutazioni, eventi o input utenti.
Casi d’uso
- Exclusive Gateway: Quando solo una condizione è vera e il processo deve seguire un unico percorso.
- Parallel Gateway: Quando più attività possono avvenire insieme e tutte vanno completate.
- Inclusive Gateway: Quando una o più condizioni sono vere e diversi percorsi devono essere attivati.
- Event-Based Gateway: Quando il flusso dipende da eventi esterni, come l’attesa di un message o di un timer.
- Complex Gateway: Quando il processo continua in base a regole o condizioni articolate.
Esempio
In un semplice workflow di approvazione:
- Exclusive Gateway: Se la richiesta è approvata, il processo prosegue; se viene respinta, termina.
- Parallel Gateway: Dopo l’approvazione, due attività (preparazione documenti e notifica) si svolgono in parallelo.
- Event-Based Gateway: Il processo attende la risposta di un cliente o un timeout per decidere il passo successivo.
I Gateway rendono i processi aziendali più flessibili, agevolando le decisioni, il lavoro parallelo e la sincronizzazione di percorsi diversi nel workflow.