BPMN Jaroslav Bělehrad LaSArIS - 10.12.2009 Co je to proces? Proces je tok práce postupující od jednoho člověka k druhému a v případě větších procesů i z jednoho oddělení do druhého, přičemž procesy lze definovat na celé řadě úrovní. Vždy však mají jasně vymezený začátek, určitý počet kroků uprostřed a jasně vymezený konec. (M. Robson, P. Ullah) Proces je soubor činností, který vyžaduje jeden nebo více druhů vstupů a tvoří výstup, který má hodnotu pro zákazníka. (M. Hammer) Proces je po částech uspořádaná množina kroků, jež směřují ke splnění požadovaného cíle opakovatelným způsobem. (I. Vondrák) vlastnosti Skládá se z uspořádaných činností (kroků). Má jednoznačně definovaný počátek a konec. Transformuje vstupy na výstupy. Využívá zdroje. Je opakovatelný. Modelování procesu BPMN síťové diagramy Together workflow editor (vlastní notace) UML - activity diagram Petriho sítě a další Co je BPMN? de facto standard pro modelování business procesů vyvynutý skupinou BPMI Primárním cílem BPMN je poskytnout notaci, která je jednoduše pochopitelná všemi firemními uživateli (od firemních analytiků, přes vývojáře až pro lidi, kteří budou firemní procesy řídit a monitorovat). BPMN vyplňuje mezeru mezi návrhem procesu a jeho následnou implementací definuje BPD (Business Process Diagram) Historie BPMN BPMI - Business Process Management Iniciative BPMN 1.0 specifikace - květen 2004 později standard OMG BPMN 1.0 únor 2006 (formálně přijato) BPMN 1.1 leden 2008 (formálně přijato) BPMN 1.2 leden 2009 (formálně přijato) BPMN 2.0 zatím 2.0 beta 1 (14.8.2009) formální přijetí snad počátkem roku 2010 BPD - Business Process Diagram síť grafických prvků všechny elementy jsou navzájem jednoduše rozlišitelné (tvarem, barvou) přenositelnost - XPDL (XML Process Definition Language) formát standardizovaný WfMC čtyři základní typy objektů Tokové objekty (Flow Objects) Spojovací objekty (Connecting Objects) Artefakty (Artifakts) Plavecké dráhy (Swimlanes) Typy objektů v BPD Flow Objects Event Activity Gateway Connecting Objects Sequence Flow Message Flow Association Artifacts Data Object Group Annotation Swimlanes Pool Lane Problémy u verzí BPMN 1.x BPMN je grafická notace, nepodporuje standardizovaný metamodel. Z toho důvodu malá přenositelnost mezi BPMN nástroji. Sice je tu XPDL, ale to nedostačuje a navíc ho nepodporují všechny nástroje převod mezi BPMN a jazykem BPEL (Business Process Execution Language), který je blokově orientovaný je problém, většina nástrojů implementuje jen transformaci BPMN -> BPEL BPMN 2.0 RFP vydáno 5.6.2007 zarovnání BPMN a BPDM (Business Process Definition Metamodel) k utvoření jednotného jazyka s metamodelem, grafickou notací a formátem pro výměnu. vytvoření jednotné specifikace nazvané Business Process Model and Notation (BPMN 2.0), která definuje jednoduchý jazyk s metamodelem, grafickou notaci a výměnný formát, s pozměněným jménem, které zachová zančku BPMN rozšíření BPMN notace k naplnění konceptu BPDM změny které jsou potřebné k zarovnání BPMN a BPDM do jednoho konzistentního jazyka schopnost výměny Business process modelů a jejich diagramů mezi modelovacími nástroji se zachováním semantické integrity Novinky BPMN 2.0 na první pohled jasná změna název - Business Process Model and Notation :-D hlavní změny od verze 1.2 změny v grafické notaci Přidán diagram choreografie Přidán diagram komunikací nepřerušující (non-interrupting) události event subprocesses technické změny vytvořen formální metamodel výměnný formát pro sémantický model (XMI a XSD) výměnný formát prodiagramy (XMI a XSD) XSLT transformace mezi XMI a XSD Choreography diagram Choreography diagram choreografie definuje sekvenci interakcí mezi participanty (účastníky procesu) již se nevyužívají se pooly u modelu procesu více participantů nemůže existovat v rámci jednoho poolu neobarvený participant je iniciátorem aktivity Pools využívají se u colaboration a conversation diagramu musí být minimálně 2 a více Diagram choreografie Diagram kolaborace Diagram konverzace vs. Konverzace rozložena na jednotlivé toky zpráv Konverzace je množina výměny zpráv (toků zpráv), které spolu souvisí Další novinky události (events) interupting a non-interupting events přidává možnost vykonávat zachycenou událost bez přerušení hlavního toku - de facto paralelně activity call activity identifikuje bod v procesu, kde může být zavolán globální proces nebo globální úkol (task) proces je vyvolán, ale není spuštěn ve výsledku je při spuštění call activity předáno řízení zavolanému globálnímu procesu nebo úloze Další novinky gateways přidává nové Exclusive Event-based Gateway (instantiate) a Parallel Event-based Gateway (instantiate) exclusive - stejná jako event-baset gateway, postačuje pouze jedna událost ke spuštění, stojí na začátku procesu, je instanciována dřív než nastane daná událost parallel - stejná jako exclusive s tím rozdílem, že musí nastat všechny události Další novinky artifacts data objects již se nejedná o artefakt, ale o flow objekt (?) nyní je možné definovat dokument pro celý proces jak na vstupu, tak na výstupu Collection Data Objects je podobný multi-instance data objektům explicitně vyjadřuje zapojení více jak jednoho dokumentu Data storages například databáze v těchto objektech zůstávají informace i v době, kdy je instance procesu ukončena Další novinky Message flow přidány message-shapes pomáhají objasnit informace vyměňované mezi pooly Subprocesses event Subprocesses jsou volitelnou částí subprocesu a jsou použity k zachycení vyvstalých situací v daném (ohraničeném) subprocesu jsou inicializovány danou počátešní událostí (startevent) a nejsou součástí standartního řídícího toku jsou samostatné, ale spouštěné v kontextu daného subprocesu Další novinky Subprocesses - pokračování Event-Subprocess Interrupting přerušují řídící tok subprocesu Event-Subprocess Non-Interrupting nemají efekt na subproces Otázky? Konec prezentace Děkuji za pozornost