Business Process Model and Notation
Business Process Model and Notation (BPMN) jest graficzną notacją służącą do opisywania procesów biznesowych. Jest zgodna z koncepcją architektury SOA. 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. Z polskich firm wspierających BPMN warto wymienić np. Rodan Systems w produkcie OfficeObjects®WorkFlow oraz DYSANT Software w produkcie DYSANT Framework. Z innych produktów obecnych na polskim rynku notację tę obsługują m.in. narzędzia Corel iGrafx, ADONIS, a wkrótce planują implementację Borland i IBM. iGrafx oferuje również możliwość przejścia z modelu BPMN na model BPEL.
BPMN opisuje trzy podstawowe typy procesów:
- proces wewnętrzny – prywatny private (internal) business process,
- proces publiczny – wychwytujący abstract - public
- proces kooperacji – współpracy B2B collaboration - global process
Podstawowe kategorie elementów graficznych BPMN:
- elementy aktywne - przepływu flow objects
- połączenia connecting objects
- miejsca realizacji procesu - swimlanes
- artefakty artifacts, elementy graficzne nie będące elementami przepływu; służą umieszczaniu informacji uzupełniających. Trzy artefakty są zdefiniowane w BPMN: dane, adnotacje i grupy. Można dodawać własne artefakty
Metodyka 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, wysłanie/odebranie wiadomości, zasada, czas, anulowanie, zerwanie (terminacja), wyjątek/usterka, kompensacja, łącze do i wielokrotne.
- Zadanie Task - symbolizowane przez prostokąt z zaokrąglonymi rogami. Zadanie to "praca" wykonywana w procesie.
- Bramka logiczna Gateway - symbolizowaną przez romb. Bramki mogą rozdzielać lub łączyć przepływy.
Połączenia:
- Linia ciągła – przebieg procesu – sequence flow
- Linia przerywana – przebieg wiadomości (komunikatów) - message flow
- Linia kropkowana – powiązanie association
Miejsca realizacji procesu:
- Uczestnicy, pule 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 (przedział czasu)
- 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).
- Tasks - Zadania:
- Send Task - Zadanie wyślij (komunikat)
- Receive Task - Zadanie odbierz (komunikat)
- Service Task- Usługa
- User Task - Zadanie użytkownika
- Manual Task - Zadanie ręczne
- Business Rule Task - Zadanie reguła biznesowa
- Script Task - Skrypt
- Global Task - Zadanie globalne
- Kompensation Task - Zadanie kompensacji
- Sub-Process - Podprocesy:
- Colapsed Subprocess - Podproces zwinięty
- Expanded Subprocess - Podproces osadzony
- Transaction - Transakcja biznesowa
- Event Sub-Processes - Podproces zdarzeniowy (Podproces wyzwalany zdarzeniem)
- i pochodne od tego: np. Podproces zwinięty transakcji biznesowej, Osadzony nieprzerywający podproces zdarzeniowy komunikatu lub Osadzony nieprzerywający podproces wyzwalany zdarzeniem komunikat.
- Gateways - Bramki (logiczne):
- Decision - Decyzyjna
- Merge/Join - Łącząca
- Fork - Rozdzielająca
- XOR - ALBO
- OR - LUB
- AND - I
- Event Based XOR - ALBO sterowana zdarzeniami
- Data Based XOR - ALBO sterowana danymi