Notacja biznesowa BPMN Piotr Kasprzyk
O co w ogóle tu chodzi? Business Process Modeling Notation Dzieło organizacji BPMI (Business Process Management Initiative) Znormalizowane i powszechnie dostępne narzędzie modelowania procesów biznesowych
“Modelowanie procesów biznesowych” – – czyli co? Opisanie uporządkowanego ciągu czynności biznesowych oraz informacji pomocniczych Wymodelowanie ścieżki realizacji celów biznesowych Mapy, opisy i modele procesów – różny stopień szczegółowości w zależności od potrzeb i odbiorcy
Odrobina historii BPMI opracowuje BPML (Business Process Modeling Language, “XML dla biznesu”) i zaczyna pracować nad jakąś notacją graficzną Sformowanie NWG (Notation Working Group) w 2001 r.; porzucenie BPML na rzecz BPEL (Business Process Execution Language) Opracowanie standardu BPMN w wersji 1.0, rok 2004
Odrobina historii, cz. II Połączenie BPMI z OMG (Object Management Group, zajmująca się np. UMLem) w 2005 roku Przyjęcie BPMN w wersji 1.0 jako standardu OMG (2006 r.) Praca nad wersją 2.0, liczne implementacje standardu dokonane przez poszczególne firmy (stan na 19 kwietnia 2007: 43 gotowe, 4 w planach; Borland, Corel, Fujitsu, Sun, IBM...)
Cele Uniwersalność, czytelność, przyjazność Możliwość tworzenia rzeczywistych procesów na podstawie modeli (BPML, obecnie BPEL)... ... ale także możliwość modelowania procesów abstrakcyjnych, “niekomputerowych” Niepowiązanie z żadną metodologią
Podstawy
Czynności (Activities) ilustrują prace wykonywane w procesie biznesowym atomowe lub nieatomowe reprezentowane przez kwadraty o zaokrąglonych rogach mogą być wykonywane raz lub iteracyjnie powtarzane
Zadania (Tasks) a Podprocesy (Sub-Processes) zadania to atomowe “cegiełki” budujące proces podprocesy służą to tworzenia hierarchicznych diagramów, są zamkniętymi całościami w obrębie głównego procesu jedne i drugie mogą być wzbogacane o specjalne oznaczenia
Oznaczenia czynności To tylko bazowy standard, my możemy w razie potrzeby używać dowolnych oznaczeń
Zdarzenia (Events) coś, co się “dzieje” w trakcie procesu biznesowego wpływają na przebieg i najczęściej są wywoływane przez wyzwalacz (trigger) mogą zaczynać, kończyć lub przerywać przebieg procesu reprezentowane przez okręgi – typ obwodu odpowiada typowi zdarzenia
Typy zdarzeń
Typy zdarzeń, cz. II
Wyzwalacze (Triggers) Zdarzenia pośrednie znajdujące się na obwodzie czynności oznaczają wyzwalacze – alternatywny przebieg procesu, który jest realizowany po zajściu danego zdarzenia.
Bramki (Gateways) bramki ilustrują dzielenie się i łączenie przebiegów procesu wszystkie są ilustrowane przez “romby”, typ zależy od rysunku wewnątrz; bramka służy zarówno do podzielenia przebiegu, jak i złączenia go w całość
Typy bramek
Bramki oparte na danych a Bramki oparte na decyzjach
Połączenia (Connections) Przebieg procesu ilustruje porządek, w którym wykonywane są czynności w procesie Przebieg komunikatów ilustruje przepływ wiadomości między “aktorami” procesu Powiązanie służy do kojarzenia danych, informacji i artefaktów z obiektami przepływu
Połączenia, cz. II Przebieg procesu może być “zwykły” lub oznaczony jako warunkowy/domyślny nie może przekraczać granicy podprocesu ani basenu (do tego służą np. komunikaty) Przebieg komunikatów ilustruje przebieg informacji między uczestnikami procesu (w notacji - basenami) łączy obiekty w basenach lub same baseny niedozwolony wewnątrz basenu
Tory pływackie (Swimlanes) Tory pływackie służą do dzielenia i hierarchizowania elementów procesu biznesowego Wyróżniamy dwa obiekty tego typu: Baseny (Pools), reprezentujące uczestników procesu biznesowego Tory (Lanes), ilustrujące bardziej precyzyjny podział w obrębie basenów
Przykłady
Przykłady, cz. II
Przykłady, cz. IV
BPEL Business Process Execution Language Koncepcje: Procesy biznesowe komunikujące się przez WebService'y Serializacja procesów biznesowych do XMLa Umożliwia realizowanie metodologii “programming in the large” Jego “półoficjalną” notacją jest BPMN
A czym się w to bawić? http://www.ilog.com/products/jviews/diagrammer/bpmnmodeler/ - niewątpliwa zaleta to darmowość :) www.magicdraw.com http://www.eclipse.org/stp/bpmn/ - plugin do Eclipse'a bpms.intalio.com ...