Business Process Model and Notation (BPMN, Notacja i Model Procesu Biznesowego[1]) – graficzna notacja służąca do opisywania procesów biznesowych.
Powstała w ramach Business Process Management Initiative, obecnie jest utrzymywana przez konsorcjum Object Management Group.
Aktualna wersja standardu to 2.0. We wcześniejszych wersjach nazwa BPMN była rozwijana jako Business Process Modeling Notation.
Dużą zaletą tej notacji jest jej jednoznaczność, przydatność zarówno do opisów procesów na potrzeby oprogramowania klasy ERP, jak i Workflow oraz to, że wspiera ją ponad 70 narzędzi. Notację tę obsługują m.in. narzędzia iGrafx, ADONIS, Borland i IBM. iGrafx oferuje również możliwość przejścia z modelu BPMN na model BPEL.
Metodą wymiany danych pomiędzy narzędziami BPMN są XPDL i BPMN DI (XML format zapisu modeli BPMN). Istnieje też jednoznaczna metoda tłumaczenia z BPMN do BPEL, jednakże BPEL nie obsługuje wszystkich dozwolonych konstrukcji BPMN.
Przykładowy diagram BPMN
BPMN opisuje dwa typy relacji procesów:
Orkiestrację – sposób realizacji procesu opisywaną modelem procesu wewnętrznego – prywatnego private (internal) business process,
Choreografię – sposób współdziałania procesów, którą można zapisać diagramami:
Procesu publicznego – skróconego abstract – public
Procesu kooperacji – współpracy B2BCollaboration – global process
Choreografii – Choreography diagram
Złożone struktury choreografii można zapisać diagramem:
Konwersacji – „Conversation”
Podstawowe kategorie elementów graficznych BPMN:
węzły przepływu – flow nodes
czynności
zdarzenia
bramki
połączenia – connecting objects
miejsca realizacji procesu: baseny i tory (pływackie) – pools, swimlanes
obiekty danych – data objects
artefakty – artifacts, elementy graficzne niebędące elementami przepływu; służą umieszczaniu informacji uzupełniających. Można dodawać własne artefakty. Trzy artefakty są zdefiniowane w BPMN:
adnotacje
grupy
powiązania
dekoratory – decorators, obiekty graficzne służące do odwzorowania pewnych wzorców zachowań. W BPMN występuje jeden dekorator:
komunikat – message
Notacja BPMN zakłada operowanie trzema podstawowymi typami obiektów aktywnych (przepływu):
Zdarzenie Event – symbolizowane przez okrąg. Zdarzenia mogą być początkowe (pojedyncza cienka linia ciągła), pośrednie (podwójna cienka linia ciągła) i końcowe (pojedyncza gruba linia ciągła). Występują następujące typy zdarzeń:
nieokreślone,
komunikat,
sygnał,
zasada,
czas,
anulowanie,
zerwanie (terminacja),
usterka,
eskalacja
kompensacja,
łącze
wielokrotne.
Czynność Activity – symbolizowane przez prostokąt z zaokrąglonymi rogami. Czynność to „praca” wykonywana w procesie lub w przypadku diagramów choreografii „współpraca” wykonywana pomiędzy procesami. Czynnościami mogą być:
Zadanie Task – czynność niezdekomponowana,
Podproces Sub-Process – czynność zdekomponowana, posiadająca opisaną innymi zadaniami lub podprocesami logikę wykonania.
Bramka Gateway – symbolizowaną przez romb. Bramki mogą rozdzielać lub łączyć przepływy.
Swoistym elementem aktywnym jest Konwersacja – czyli uporządkowana wymiana komunikatów pomiędzy uczestnikami obrazowana za pomocą sześciokąta na powiązaniu konwersacyjnym.
Połączenia:
Linia ciągła – przebieg procesu – sequence flow
Linia przerywana – przebieg wiadomości (komunikatów) – message flow
Linia kropkowana:
powiązanie – association
powiązanie danych – data association
Linia podwójna – powiązanie konwersacyjne – conversation Link
Miejsca realizacji procesu:
Uczestnicy, baseny pools, reprezentujące uczestników procesu (np. firmy / systemy informatyczne) i opisujące zwykle sytuacje B2B;
Tory lanes, będące elementami struktury organizacyjnej, na jakie dzielimy w razie potrzeby uczestników (najczęściej role biznesowe występujące u danego uczestnika); specyfikacja nie definiuje sposobu wykorzystywania torów.
Proponowana terminologia BPMN
Events – Zdarzenia:
Message – Wiadomość (komunikat)
Timer – Czas
Error – Usterka (Wyjątek)
Escalation – Eskalacja
Signal – Sygnał
Cancel – Anulowanie
Compensation – Kompensacja
Rule – Zasada
Link – Łącze
Terminate – Zerwanie
Multiple – Wielokrotne
i pochodne od tego: np. Cancel Event – zdarzenie Anuluj, Send Message Event – Zdarzenie Wyślij wiadomość lub Terminate Event – Zdarzenie Zerwanie (procesu).