
Il Business Process Model and Notation (BPMN) è una rappresentazione grafica usata per specificare i processi aziendali in un business process modeling (BPM).
Originariamente sviluppato dalla Business Process Management Initiative (BPMI), BPMN è stato successivamente gestito dall'Object Management Group (OMG) dopo che le due organizzazioni si sono fuse nel giugno 2005. La versione attuale di BPMN è la 2.0.2, pubblicata nel gennaio 2014
Sebbene sia una specifica OMG, nel luglio 2013 BPMN è stato codificato come standard ISO disciplinato dalla norma tecnica ISO/IEC 19510.
BPMN è uno standard per il business process modeling che fornisce una notazione grafica per specificare i processi aziendali in un Business Process Diagram (BPD), basato su una tecnica di diagramma di flusso molto simile ai diagrammi di attività UML. BPMN e UML sono due specifiche di modellazione sviluppate dall'OMG che non sono in competizione ma complementari: UML enfatizza l'analisi e la progettazione di un sistema informativo, mentre BPMN si concentra sull'analisi e la progettazione dei processi aziendali che coinvolgono e interagiscono con i sistemi. Possiamo quindi passare da un diagramma di processo che definisce i requisiti di business in BPMN all'uso di diagrammi di casi in UML per documentare i requisiti per i sistemi coinvolti.
L'obiettivo di BPMN è quello di supportare il business process management sia per gli utenti tecnici che per gli utenti aziendali, fornendo una notazione intuitiva per gli utenti aziendali, ma in grado di rappresentare semantiche di processi complessi. La specifica BPMN fornisce anche una mappatura tra la grafica della notazione e i costrutti sottostanti dei linguaggi di esecuzione, in particolare il Business Process Execution Language (BPEL).
BPMN è stato progettato per fornire una notazione standard facilmente comprensibile da tutti gli stakeholder aziendali, in genere inclusi analisti aziendali, sviluppatori tecnici e manager aziendali. BPMN può quindi essere utilizzato per supportare l'obiettivo generalmente auspicabile da parte di tutti gli stakeholder di un progetto, adottando un linguaggio comune per descrivere i processi ed aiutando ad evitare lacune di comunicazione che possono sorgere tra la progettazione e l'implementazione dei processi aziendali.
BPMN è uno dei numerosi linguaggi standard per il business process modeling utilizzati dagli strumenti e dai processi di modellazione. Sebbene l'attuale varietà di linguaggi possa adattarsi a diversi ambienti di modellazione, c'è chi sostiene lo sviluppo o l'emergere di un unico standard completo che combini i punti di forza dei diversi linguaggi esistenti. Si suggerisce che, nel tempo, ciò potrebbe aiutare a unificare l'espressione dei concetti di base dei processi aziendali (ad esempio i processi pubblici e privati e le coreografie), nonché di concetti di processo avanzati (ad esempio la gestione delle eccezioni e la compensazione delle transazioni).
BPMN è vincolato a supportare solo i concetti di modellazione applicabili ai processi aziendali. Altri tipi di modellazione eseguiti dalle organizzazioni per scopi non di processo non rientrano nell'ambito di BPMN. Tra gli esempi di modelli esclusi da BPMN vi sono:
Inoltre, sebbene BPMN mostri il flusso di dati (messaggi) e l'associazione di artefatti di dati alle attività, esso non è un diagramma di flusso di dati.
Sono stati sviluppati due ulteriori standard che utilizzano un approccio simile al BPMN: il Case Management Model and Notation (CMMN), che affronta la modellazione del case management, e il Decision Model and Notation (DMN), che invece si occupa della modellazione decisionale.
I modelli BPMN sono espressi da semplici diagrammi costruiti a partire da un insieme limitato di elementi grafici. Essi semplificano la comprensione del flusso e del processo delle attività aziendali sia per gli utenti aziendali che per gli sviluppatori. Le 4 categorie di elementi basilari previste in BPMN sono:
Queste 4 categorie consentono la creazione di semplici diagrammi dei processi aziendali (business process diagram, BPD). Tali diagrammi consentono anche di creare nuovi tipi di oggetti o artefatti di flusso per rendere il diagramma più comprensibile.
Gli oggetti di flusso sono i principali elementi descrittivi all'interno di BPMN e sono costituiti da 3 elementi principali: eventi, attività e gateway.

Un evento è rappresentato da un cerchio e denota qualcosa che accade (rispetto ad un'attività, che è qualcosa che si fa). Le icone all'interno del cerchio indicano il tipo di evento (ad esempio, una busta che rappresenta un messaggio o un orologio che rappresenta il tempo). Gli eventi sono solitamente classificati su 3 livelli:

Un'attività è rappresentata da un rettangolo con gli angoli arrotondati e descrive il tipo di lavoro che deve essere svolto. Un'attività è un termine generico per il lavoro svolto da un'azienda e può essere atomica o composta. Le attività si distinguono in:

Un gateway è rappresentato con un rombo ed indica una biforcazione oppure una ricongiunzione di percorsi, a seconda delle condizioni espresse. Un gateway può essere:

Gli oggetti di flusso sono collegati tra loro utilizzando oggetti di collegamento (detti anche connettori), che sono di 3 tipi:

Le swim lane sono un meccanismo visivo di organizzazione e categorizzazione delle attività, basato su diagrammi di flusso interfunzionali. In BPMN sono costituite da due tipi:
Gli artefatti consentono agli sviluppatori di portare ulteriori informazioni all'interno del modello o del diagramma, che in questo modo diventa più leggibile. In BPMN esistono 3 artefatti predefiniti:
EPC (Event-driven Process Chain) e BPMN sono due notazioni con espressività simile per quanto riguarda la modellazione dei processi. Un modello BPMN può essere trasformato in un modello EPC, mentre viceversa un modello EPC può essere trasformato in un modello BPMN con una leggera perdita di informazioni. Uno studio ha dimostrato che per lo stesso processo il modello BPMN potrebbe richiedere circa il 40% in meno di elementi rispetto al modello EPC corrispondente, ma con un set di simboli leggermente più grande, e quindi il modello BPMN sarebbe più facile da leggere. La conversione tra le due notazioni può essere automatizzata.
I diagrammi di attività UML e BPMN sono due notazioni che possono essere utilizzate per modellare gli stessi processi: un sottoinsieme degli elementi del diagramma di attività ha una semantica simile agli elementi BPMN, nonostante l'insieme di simboli sia più piccolo e meno espressivo. Uno studio ha mostrato che entrambi i tipi di modelli di processo sembrano avere lo stesso livello di leggibilità per utenti inesperti, nonostante i vincoli formali più elevati di un diagramma di attività.
Un sottoinsieme di BPMN può essere trasposto direttamente in WS-BPEL, che è espressione di un processo direttamente eseguibile da un motore di workflow.