210 likes | 367 Views
Jakub Kozák. Workflow. Motivace. Proč se tím budeme zabývat? Existuje něco obecnějšího než transakce? U transakce uvažujeme pouze operace čtení, zápisu. Podnikový proces. Anglicky a ve firmách tzv. business process
E N D
Jakub Kozák Workflow
Motivace • Proč se tím budeme zabývat? • Existuje něco obecnějšího než transakce? • U transakce uvažujeme pouze operace čtení, zápisu...
Podnikový proces • Anglicky a ve firmách tzv. business process • Definice: ... je množina jedné nebo více propojených činností, společně přispívajících k dosažení podnikového cíle, obvykle ve vazbě na organizační strukturu, která definuje funkční role a vztahy • Jak dlouho trvá – minuty, dny i déle • Příklad – prodej výrobku
Workflow • O sjednocení terminologie v této oblasti se snaží instituce Workflow Management Coalition (WFMC, www.wfmc.org) • Workflowznamená automatizaci celého nebo části podnikového procesu. • Workflow Management System (WFMS)definuje, vytváří a řídí průběh procesu. Je schopen interpretovat definici procesu, komunikovat s účastníky workflow a v případě potřeby spustit další aplikace.
Workflow – popis • Statické aspekty workflow: • Aktivity • Interaktivní – vykonávány po zásahu uživatele • Neinteraktivní – plně vykonávány v režii WFMS • Datové objekty • Aplikační data – zpracovávána a produkována aktivitami • Procesní data – nutná pro vykonávání workflow, např. stav aktivity, začátek aktivity apod. • Agenti – uživatelé nebo programy • Dynamické aspekty • Co (aktivita) má být vykonáno kdy, kým a s jakými daty? • Rozvržení aktivit: • Ad hoc – až při běhu • Při definici – pořadí je definováno navrhovatelem workflow
Příklad procesu/workflow Žádost o půjčku Bankovní úředník Zákazník Žádost zamítnuta Ověření Žádost přijata Vyplacení Řídící pracovník
Klasifikace workflow • Podle zapojení uživatelů • Orientované na uživatele - většinu práce zajišťují uživatelé a WFMS slouží jako podpora pro spolupráci a koordinaci. • Systémově orientované - vysoce automatizované procesy, vliv uživatelů je malý. • Podle charakteru procesů • Kolaborativní – podpora týmové spolupráce • Ad hoc – nejsou standardizované, většinou jedinečné • Administrativní – běžná denní agenda • Produkční – hlavní podnikové procesy, vysoce automatizované
Obecný model systému workflow • Definice procesu – popisuje strukturu procesu – činnosti, role, pravidla • Řídící data WF – interní data spravovaná jádrem systému • Aplikační data WF – specifická data aplikací, která WFMS nikdy nevidí • Věcná data WF – zpracovávána jádrem systému, na jejich základě se v případě alternativního postupu rozhoduje o dalším kroku • Seznam úkolů – datová struktura, do níž jsou ukládány všechny úkoly, které musí uživatel vykonat • Model organizační struktury – role pracovníků, vztahy mezi nimi...
Referenční model workflow • Referenční model systému workflow představuje základní architekturu systémů workflow, která vzešla z potřeby standardizace architektury těchto systémů. • Jednotlivá rozhraní jsou definovaná např. v dokumentech WFMC.
Typy WFMS • Založený na mailových zprávách (mail-based)zasílání úloh a dokumentů mailem • Založený na databázovém systému (database-based)uložení dokumentů a informací o procesech v databázi, do které musí agenti (uživatelé, aplikace...) přistupovat • Tento způsob je výhodnější pro řízení workflow • Lze využít všechny výhody DBMS, včetně jejich implementace řízení transakcí • Implementace WFMS pomocí aktivní DB
Transakce a workflow • WFMS musí zajistit konzistenci, kontrolu konkurence a zotavení z chyb. • Podobné problémy jsou řešeny v teorii transakcí. • Cílem tedy je rozšířit koncept transakcí i na workflow, abychom mohli popsat požadavky na korektnost a spolehlivost jednotlivých částí workflow.
Korektnost a spolehlivost • Korektnost • Konzistence jednotlivých úloh – zodpovědnost osoby, která úlohu implementuje • Konzistence jednotlivých workflow – pokud jsou workflow vykonávána paralelně, mohou vznikat nekonzistence • Konzistence v průběhu vykonávání různých konkurentních workflow – různá workflow pracují nad stejnými daty • Spolehlivost – potenciální zdroje selhání • (1) selhání engine • (2) selhání úlohy • (3) selhání komunikace
Transakce a workflow • Flat transakce • nejjednodušší a nejběžnější • příliš omezující • nehodí se pro popis workflow • Workflow má následující charakteristiky: • Dlouhé trvání • Tradiční transakční modely byly vyvinuty pro krátké transakce. • Vykonávat složité dlouho běžící úlohy jako jednu ACID transakci je nemožné (zpoždění ostatních kratších úloh). • Není možné zahodit dlouhé úseky práce. • Kooperace a konkurence • V jistém smyslu tolerance nekonzistentních výsledků • Uspořádatelnost se pro workflow nedá použít
Transakce a workflow • Flat transakce nejsou vhodné, vznikaly další komplikovanější modely • Rozšířené transakce – např. hnízděné transakce • Relaxované transakce – zmírněné požadavky na ACID • Nicméně úspěch flat modelu byl v jeho jednoduchosti • Při rozšiřování transakcí pro workflow „více neznamená lépe“, je potřeba najít hranici mezi komplexností a použitelností • Stávající modely byly příliš databázově orientované, což se pro workflow nehodí
Transakce pro workflow (TWF) • Spojení pokročilých transakčních modelů a workflow • Hlavní charakteristiky transakcí pro workflow (workflow transactions) • Analogie s klasickými transakcemi – TWF je posloupnost úloh ve workflow, pomocí nichž se business process dostane z jednoho konzistentního stavu do jiného konzistentního stavu • Transakční struktura • TWF musí povolovat hierarchické struktury, aby se dalo použít pro komplexní aplikace • Workflow se obvykle skládá z mnoha aktivit, které samy o sobě mohou být workflow
Transakce pro workflow (TWF) • Atomicita • Při selhání není cílem vrátit se úplně na začátek. • Použije se selektivní rollback, který vrátí workflow do posledního konzistentního stavu, k jehož nalezení je potřeba účast expertní osoby. • V online systému se nelze vracet do minulosti, pak se nabízí možnost alternativní cesty ve workflow. • TWF tedy zmírňuje požadavek klasické atomicity, který říká „všechno, nebo nic“. • Konzistence • Nejde o konzistenci v rámci jedné aktivity, ale o provedení aktivit ve správném pořadí. • Commit aktivity garantuje její správnost. • Pokud aktivita selže, je potřeba nastartovat proces obnovení.
Transakce pro workflow (TWF) • Izolace • Díky povaze workflow (dlouhé trvání, kooperace, konkurence) nelze vykonávat TWF v absolutní izolaci od konkurentních transakcí. • Uspořádatelnost je příliš omezující, ale existují přístupy, jak ji obejít, např. sémantická uspořádatelnost • Spočívá v nalezení kompatibilních aktivit lidským expertem, tj. aktivit, jejichž pořadí vykonání neovlivní výsledek • Trvanlivost • Jakmile TWF (nebo sub-TWF) provede commit, je to trvalé • Commit může být „vrácen zpátky“, pokud abortuje rodičovská transakce
Shrnutí • Workflow je užitečný koncept, který se v jisté formě používá ve všech společnostech • Transakce lze rošířit i pro workflow • Každá aplikace pro workflow má ale specifické požadavky, proto transakční modely pro workflow musí být flexibilní a snadno přizpůsobitelné
Literatura • A. Carda, R. Kunstová: Workflow Nástroj manažera pro řízení podnikových procesů, Grada Publishing, a. s., 2003 • J. Eder, H. Groiss, W. Liebhart: Workflow Management and Databases, Proc. 2ème Forum Int. d´Informatique Appliquée, 1996 • A. Sheth, M. Rusinkiewicz: On Transactional Workflow, Bulletin of the Technical Committee on Data Engineering, Vol. 16 No. 2, 1993 • Dokumenty Workflow Management Coalition na www.wfmc.org