BPMN 2.0 Firemní proces 2  Posloupnost aktivit vykonávaná jedním či více účastníky za účelem přinést organizaci nějakou hodnotu  Proces může se může rozložit na sekvenci několika jednodušších aktivit  Aktivity musí někdo (nebo něco) provést (účastník)  Cílem je vytvořit pro organizaci nějakou hodnotu, ať už přímo či nepřímo Typy firemních procesů 3  Manažerské procesy  Řídí běh organizace  Operační procesy  Tvoří vnitřní (core) aktivity organizace a vytvářejí primární přínosné hodnoty  Podpůrné procesy  Podporují vnitřní operační procesy Proč modelovat procesy 4  Princip: Nelze řídit to, čemu nerozumíte  Chápat a řídit aktuální procesy  Měření času, nákladů, zdrojů  Zlepšovat současné procesy  Zefektivnění, identifikace chybějících kroků, racionalizace  Návrh nových procesů  Realizace business požadavků novými procesy  Zprostředkovat existující a nové procesy  Procesní modely jsou velmi efektivním způsobem jak komunikovat existující a nové procesy  Automatizace procesů  Aplikace strojového zpracování procesů BPMN struktura 5  BPMN 2 dovoluje modelovat čtyři související aspekty business procesů:  Proces – sekvence aktivit tvořících business proces  Zaměření: sekvence aktivit a událostí  Spolupráce (collaboration) – proces, který má dva nebo více účastníků  Zaměření: sekvence aktivit a událostí a/nebo zpráv zasílaných mezi účastníky  Choreografie – posloupnost interakcí mezi účastníky  Zaměření: účastníci v business procesech a posloupnost jejich vzájemných interakcí  Konverzace – zachycuje B2B interakce BPMN sumarizace 6  4 typy událostí (+různé druhy triggerů a catch&throw sémantiky)  4 typy aktivit (+jejich varianty)  5 typů rozhodovacích uzlů  3 typy propojovacích objektů (sequence flow, message flow, association)  2 artefakty (annotations, groups)  4 typy datových objektů  Konverzace, choreografie, atd. Procesní diagram 7  BPMN proces – množina elementů sekvenčního toku, které mohou být propojeny sekvenčním tokem a dalšími spojovacími objekty a tvoří souhrnně určitý druh vývojového diagramu  Objekty sekvenčního toku:  Události – něco co v průběhu procesu nastane  Aktivity – práce, která je během procesu vykonána  Rozhodovací uzly – řízení (sekvenčního) toku během procesu Procesní diagram - příklad 8 Procesní sémantika - tokeny 9  Token – imaginární bod reprezentující aktuální okamžik průchodu grafem (procesním diagramem)  Tokeny procházejí od zdrojového objektu k cílovému objektu prostřednictvím sekvenčního toku  Objekt sekvenčního toku je aktivován (proveden) v okamžiku kdy je na jeho vstup přiveden token Postup tokenu diagramem 10 Instance procesů 11 Komponenty diagramu - artefakty 12 Použití artefaktů 13 BPMN diagram spolupráce  Collaboration diagram – více než jeden účastník  Pokud je pouze jeden kontext a žádné oddíly kontextu, jedná se o procesní diagram a rámeček kontextu může být vynechán 14 Události 15  Výskyt něčeho, co nastane při vykonávání procesu a je pro organizaci důležité z procesní perspektivy  Mohou mít trigger (spouštěč) nebo result (výsledek) – indikuje symbol uvnitř události Typy událostí 16 Základní události 17  Tzv. „none events“ – nespecifikované události.  Nemají upřesněný spouštěč  Používají se tehdy, jestliže není známo co událost spouští (vyvolává)  V případě více vstupních událostí – pouze jedna může být nespecifikovaná. 18 Nespecifikované vnitřní události 19  Nemají trigger, spouštějí se okamžitě po získání tokenu  Užívají se jako indikátor toho, že aktivita/proces dosáhly důležitého stavu nebo milníku  Neměly by se užívat často! Aktivity 20 Aktivity – vícenásobné toky 21  Aktivita může mít žádné nebo více vstupních vláken a žádné nebo více výstupní vlákno.  Pokud má aktivita více vstupních vláken, spouští se při každém příchodu tokenu.  Po dokončení vysílá aktivita tokeny na všechna odchozí vlákna. Rozhodovací uzly 22 Explicitní a implicitní sloučení 23 Příklad BPD 24 Aktivity – volání (Call Activities) 25  Globální task/proces je znovupoužitelný task/proces, který může být volán jiným procesem využitím call aktivity.  Call aktivity mají silné ohraničení. Typy tasků 26 Send a Receive 27  Send task – po dokončení odešle zprávu po všech odchozích message flow šipkách.  Receive task – čeká na zprávu, po skončení vysílá token na všech odchozích vláknech. Manual a User 28  Manual task – vykonává jej účastník bez jakékoliv formy strojového zpracování nebo automatizace  User task – člověk realizuje task s pomocí nějakého SW systému Service 29  Service task – účastní se jej účastníci zvnějšku aktuálního procesu  Service – externí systém  User – externí uživatel  Tento typ tasku musí být spouštěn vstupní událostí typu message!  Po skončení je často odeslána zpráva zpět do procesu, který task vyvolal. Script a Business Rule 30  Script – reprezentuje skript, který je spouštěn Business Process Engine  Business Rule – poskytuje vstup nebo získává výstup z Business Rule Engine  BR – výrok, který definuje nějakou formu omezení pro chod organizace a vždy má hodnotu True/False Typy sub-procesů 31 Ad-hoc 32  Pořadí vnořených aktivit určují vykonavatelé procesu  Každá aktivita může být provedena 0-krát až n- krát Event sub-proces 33  Nejsou součástí standardního procesního toku  Nemají vstupní/výstupní vlákna, nejsou částí rodičovského procesního toku!  Jsou vždy spouštěny vstupní událostí s triggerem message, error, escalation, compensation, conditional, signal, timer nebo multiple  Pokud jsou spouštěny přerušující vstupní událostí, přerušují běh procesu, jinak běží souběžně  Musí mít okraje zakresleny přerušovanou čárou Event sub-proces 34 Události – dělení 35  Trigger – určuje co způsobilo výskyt události  Behavior – Throw nebo Catch – zda přerušují či nepřerušují obsaženou aktivitu  Type – kde mohou být použity v rámci procesu Události – dělení 36 Spouštěč události (Trigger) 37  Popisuje, co událost ve skutečnosti dělá, např. zda zachytává či vysílá zprávu  Typ triggeru ovlivňuje catch/throw sémantiku Throw a Catch 38  Throwing – čeká na token, pak vysílá trigger.  Catching – událost čeká na trigger, pak vysílá token.  Vstupní – pouze zachycují (catch)  Koncové – pouze háží (throw)  Intermediate – mohou obojí, záleží na triggeru  Boundary – pouze zachycují (catch) Interrupting a Non-interrupting 39  Přerušující - interrupting – spuštění aktivitu ukončuje, procesní tok pokračuje dále z události, která zachycuje (catching) – plná čára  Nepřerušující – non-interrupting – při spuštění aktivita pokračuje, procesní tok se větví u zachytávající události (catching) – přerušovaná čára Typy událostí 40  Vstupní  Vnitřní  Hraniční (boundary)  Koncové Vnitřní události 41  Nevyvolávají novou instanci procesu! Vznikají až v jeho průběhu.  Mohou chytat i házet (catch/throw)  Catch – čeká na trigger události, pak vysílá token  Throw – vysílá trigger události, pak vysílá token Vnitřní události - metamodel 42 Boundary event 43  Interrupting – zahýbají procesní tok (branch)  Non-interrupting – větví procesní tok (fork) Události 44 Message a Signal 45  Obojí jsou balíčky nějakých dat  Message – zasíláno 1:1, obsahuje informace od odesílateli i příjemci  Signal – zasíláno 1:N, odesílatel ani příjemce nejsou specifikováni Události Message 46  Catching Message – spouštěny přijetím zprávy z jiného kontextu  Throwing Message – háží zprávu (výsledek) do jiného kontextu Send a Receive tasky 47  Lze používat i ve spojení se Send a Receive tasky (speciální druh tasků)  Fungují zcela analogicky  Send task – po skončení zasílá zprávu přes všechny odchozí message flows  Receive task – čeká na zprávu a po skončení vysílá tokeny na všechny odchozí vlákna Události Signal 48  Catching události typu Signal jsou spouštěny přijetím vysílaného signálu ze současného kontextu nebo z externího kontextu Události Timer 49  Reaguje na časový okamžik – proto je používán pouze v režimu catch. Spuštění – jakmile je splněna podmínka  3 způsoby použití:  Vypršení času  Časové rozvětvení – pro non-interrupting variantu  Oddálení – v rámci toku pozdrží pokračování, dokud není splněna podmínka Události Conditional 50  Spouštěny splněním Booleovské podmínky z FALSE na TRUE Události Terminate 51  Událost zkonzumuje token a ukončí všechny aktivity v procesu (všechny vlákna) Datové objekty 52  Propojovány asociační vazbou, ne sekvenčním tokem!  Neovlivňují přímo sekvenční tok  Mohou být v 0 či více stavech (UML 2 specifikace: „A condition or situation during the life of an object during which it satisfies some condition, performs some activity or waits for some event.“ Typy datových objektů 53 DĚKUJI ZA POZORNOST 54