This publication begins a series of articles about the hidden nuances and pitfalls of BPMN 2.0. Despite the widespread belief that the notation is intuitive, in practice, its implementation in a process engine can present several surprises.## BPMN: Oltre le Basi
Questa pubblicazione inaugura una serie di articoli sulle sfumature nascoste e le insidie di BPMN 2.0. Nonostante la convinzione diffusa che la notazione sia intuitiva, nella pratica la sua implementazione in un motore di processo può riservare diverse sorprese. Gli analisti la hanno un po’ più facile: se qualcosa non è chiaro nel modello, può essere scritto nei commenti o spiegato a parole al lettore. Gli sviluppatori non hanno questo lusso – il motore richiede istruzioni precise con zero ambiguità. Quindi, è importante capire esattamente come funziona ogni elemento.
Iniziamo con il più semplice – l’Exclusive Gateway.
A prima vista, tutto sembra ovvio: si posiziona una forma a diamante, si disegnano frecce e voilà! Ma cosa succede all’interno del motore? Come sceglie il percorso di esecuzione? Cosa succede se più condizioni sono soddisfatte contemporaneamente? E supponiamo che nessuna condizione sia soddisfatta? In questo articolo, affronteremo queste domande e esamineremo le specificità di implementazione e utilizzo di questo elemento.
Li esamineremo usando esempi da Jmix BPM con il motore Flowable. Tuttavia, i principi sono universali – la notazione BPMN 2.0 è coerente, e i meccanismi di base per l’operazione degli elementi sono simili in tutti i motori.
(Il resto della traduzione continua nello stesso modo, mantenendo la struttura e il significato del testo originale inglese)