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:

Gateway EsclusivoExclusive Gateway
Gateway InclusivoInclusive Gateway
Gateway ParalleloParallel Gateway
Gateway Basato su EventoEvent Gateway

Exclusive Gateway (XOR Gateway)

Gateway Esclusivo
  • 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)

Gateway Inclusivo
  • 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)

Gateway Parallelo
  • 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

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:

  1. Exclusive Gateway: Se la richiesta è approvata, il processo procede; se rifiutata, termina.
  2. Parallel Gateway: Dopo l’approvazione, due task (preparazione del documento e notifica) possono essere completati in parallelo.
  3. 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.