EO_05 Vzor transakce
Obsah přednášky • Transakce jako základní prvek modelování podnikových procesů. • Transakce a její fáze. • Základní vzor transakce. • Standardní vzor transakce. • Kompletní vzor transakce.
2
Transakční vzor • Podnik je systém aktorů, kteří vykonávají produkční činy a koordinační činy. • Otázka je, jak tyto činy jsou v relaci mezi sebou. • Existují konkrétní struktury nebo vzory ve kterých se vyskytují? • Na první pohled vzhledem k velké rozmanitosti koordinačních procesů se zdá, že existuje jistě mnoho různých procesů. 3
Transakční vzor • Naštěstí všechny tyto koordinační procesy mohou být považovány za cesty přes jeden generický koordinační vzor. • Koordinační kroky jsou vykonávány jako kroky v univerzálních vzorech. • Tyto vzory se nazývají transakcemi, vždy zahrnují dvě role aktorů a směřují k dosažení konkrétního výsledku.
4
Transakční vzor • Transakce se v podstatě skládá z tvou konverzací: – konverzace požadavku (order conversation) – konverzace výsledku (result conversation)
• Konverzace je definovaná jako sekvence koordinačních činů mezi dvěma rolemi aktorů, směřující k dosažení dobře definovaného výsledku, týkajícího se produkčního činu a produkčního faktu (P-čin/fakt).
5
Transakční vzor • Mezi produkčním činem a faktem je vykonání produkčního činu, k čemuž slouží obě konverzace. • Transakce tedy zahrnuje tři fáze: – fázi požadavku (objednání – O phase order) – fázi vykonání (E-phase execution) – fázi výsledku (result R-phase).
• Jedna ze zúčastněných rolí aktorů se nazývá iniciátor a druhá zúčastněná role aktorů je exekutor (vykonavatel). 6
Transakční vzor • Ve fázi objednávky, iniciátor a exekutor pracují na dosažení dohody o zamýšleném výsledku transakce, to je o produkčním faktu, který vykoná exekutor. • Ve fázi exekuce (provedení) je tento produkční fakt skutečně vytvořen exekutorem. • Ve výsledkové fázi, iniciátor a exekutor pracují na dosažení dohody ohledně produkčního faktu, který je aktuálně vytvořen (jejich představy se mohou lišit). 7
Transakční vzor • Pouze za předpokladu, že je dosaženo dohody, bude produkční fakt existovat (vstoupí do existence). • Časový okamžik ve kterém začne produkční fakt existovat je odsouhlasen ve výsledkové fázi.
8
Transakční vzor • Každá transakce je instancí konkrétního typu transakce: tento typ transakce koresponduje s typem produkčního faktu, který je cílem nebo výsledkem transakce. • Např. transakce týkající se produkčního typu faktu (P-fact) členství C bylo započato jsou stejného typu, vede k přesnější definici role aktora. • Elementární role aktora je pravomoc (authority) být vykonavatelem přesně jednoho typu transakce. 9
Základní vzor transakce • Jednoduchý příklad transakce, která se uskutečnila při komunikaci tváří v tvář mezi dvěma subjekty, z nichž jeden je v roli iniciátora (kupuje květiny – klient K) a druhý v roli exekutora (prodává květiny – prodavač P). (1) (2) (3) (4) (5)
K: P: P: K:
Rád bych si koupil danou kytku. Dobře pane. <skutečné donesení kytku klientovi> Tady ji máte. Děkuji.
O phase E phase R phase
10
Formalizovanější zápis transakce (1) (2) (3) (4) (5)
K: request: P: Klient má kytku K: na počkání P: promise: K: Klient má kytku K: na počkání. <skutečné donesení kytku klientovi> P: state: K: Klient má kytku K: nyní. K: accept: P: Klient má kytku K: nyní.
• Část faktu je identická v řádcích 1, 2, 4, 5. • Odkazuje se na pojmenovanou kytku K. • Na počkání, nyní – implicitní předpoklad. 11
Zápis transakce • Standardní zápis odhaluje kontextovou závislost s verbální konverzací. • Místo času „na počkání“ může být např. „zítra v poledne“. • Není zahrnuto placení za kytku, protože příklad neobsahuje placení a samotné placení tvoří další transakci. • Placení bývá součástí doručení požadovaného faktu. 12
Transakční vzor request
fact requested
promise
desired new fact
fact promised
fact accepted
fact produced
accept
state fact stated
customer
transaction
producer
grafické a formální vyjádření 13
Transakční proces a jeho fáze Ve fázi propozice (návrhu) aktoři diskutují o vytvoření produktu, a snaží se dosáhnout dohody.
Požádání o květiny Objednání (požadavek) knihy Žádost o členství
Ve fázi provedení (exekuce) vykonavatel (exekutor) vytvoří nějaký produkt.
Vytvoření Rozhodnutí Posouzení
Ve výsledné fázi aktoři diskutují o produktu, který byl vytvořena snaží se dospět k dohodě.
Získání květin Získání knihy Stát se členem (získání členství) 14
Základní vzor transakce • Šedě označené rámy představují oblasti odpovědnosti. • Koordinační fakta jsou kreslena kruhy – uprostřed. • Koordinační fakta jsou mezi rolemi. • Produkční čin a produkční fakt je na straně exekutora.
15
Základní vzor transakce • Příklad nákupu chleba nebo květin kompletně pokrývá základní vzor transakce. • Čin – obdélník, kruh koordinační fakt, kosočtverec – produkční fakt.
16
Nákup bochníku chleba • Zákazník hraje roli iniciátora, pekař hraje roli exekutora. • Iniciátor žádá o dodání bochníku. Výsledkem je C-fakt, že dodání je požadováno. • Oběma aktorům je dovoleno, aby fakt znali (je uprostřed - intersubjektivní). • C-fakt „rq“ je agenda pro exekutore (pekaře). • Jako výsledek zpracování agendy pekař slíbí dodat požadovaný bochník, což přivede proces do stavu slibu (C-fakt „pm“). 17
Nákup bochníku chleba • C-fakt „pm“ je agendou pro pekaře, který vytvoří Pfakt. • P-fakt se skládá z rozhodnutí pekaře prodat bochník zákazníkovi. • P-fakt je přenesené vlastnictví k bochníku. • P-čin a P-fakt jsou šedé, protože patří do subjektivního světa exekutora. Iniciátor o nich principielně neví. • Pekař uvede (state), že doručení bochníku bylo provedeno, z čehož plyne (intersubjektivní) C-fakt „st“. Tento fakt je v agendě zákazníka. 18
Nákup bochníku chleba • Zákazník odpoví akceptováním vytvořeného P-faktu, což přivede proces do úspěšného koncového stavu „ac“. • Proces se zdá být přehnaný (overdone): – alespoň slib a akceptace se zdají být nadbytečné. – Není tomu tak. – Vykonání koordinačních činů nutně neznamená, že se nutně projeví v ústní nebo psané komunikaci. Projeví se např. kývnutím. C-činy se někdy provádí mlčky. 19
Nákup bochníku chleba • Mlčky provedený C-čin je stále C-čin. • Dosud – úspěšná cesta v transakčním vzoru. • Vše je v plném souhlasu.
20
Standardní vzor transakce • Principielně se mohou objevit nesouhlasy, konkrétně ve stavech požadovaný („requested“) a uvedený („stated“). • Místo přislíbení může exekutor odpovědět nepřijetím (decline) a místo akceptování může iniciátor odpovědět odmítnutím (reject). • Důvodem nepřijetí a odmítnutí může být směs tří nároků (požadavků) oprávněností (validity claims). 21
Standardní vzor transakce • Tato situace přivede proces do intersubjektivního stavu nepřijatý „declined“ nebo odmítnutý „rejected“ . • Stavy indikovány dvojitým kruhem a vedou ke stavu diskuse. • To znamená oba aktoři si musí „společně sednout“ a dohodnout další postup. • Původní vzor transakce, rozšířený o dva stavy se nazývá Standardní vzor transakce. 22
Standardní vzor transakce • Průběh „diskuse“ se nedá dopředu odhadnout. • Nejméně problematické jsou požadavek na pravdu a požadavek na upřímnost. • Nejvíce problematický je požadavek na spravedlnost.
23
Standardní transakční vzor • Požadavek Jana, stát se členem knihovny. • První oprávněný nárok, který může hrát roli je požadavek na pravdu – objektivní svět. • To znamená, že propozice transakce musí být proveditelné (dosaženi request v čase). • Již dosažení max. počtu členů – důvod pro odmítnutí žádosti o členství.
24
Standardní vzor transakce • Druhý oprávněný nárok, který může hrát roli je nárok na spravedlnost – sociální svět. • Příkladem tohoto nepřijetí je, když Jan žádá Marii o členství, když není v práci (v kině). • Marie může přimět Jana pro opětovnou žádost o členství.
25
Standardní vzor transakce • Třetí oprávněný nárok je požadavek na upřímnost – subjektivní svět. • Jan již dnes třikrát žádal a žádost stáhnul. Marie pochybuje o jeho upřímnosti. • Svoje nesouhlasy mohou řešit v diskusi a pokus se shodnou, proces může začít znova.
26
Znázornění činu a faktu v jednom složeném symbolu.
27
Vzory rušení Cancellation Patterns
• V praxi je zcela běžné, že buď iniciátor nebo exekutor transakce chtějí revokovat čin (který může vést k částečnému nebo úplnému vrácení změn – rollback transakce). • To splňuje volba zrušit kdykoli libovolný C-čin ve vzoru transakce. • Každé rušení začíná s činem „cancel“ na něž je umístěn podmínkový C-fakt (reprezentovaný čárkovanou čárou se šipkou). 28
Vzory rušení Cancellation Patterns
• To jednoduše znamená, že cancellation může být jen provedeno, pokud existuje C-fakt.
29
Vzor cancellation pro request • podmínka, že C-fakt request
existuje a vyvolá čin cancel, který způsobí C-fakt cancel diskusi.
• Rušení požadavku nastane, když např. zákazník vidí lepší bochníky. • V diskusi většinou pekař dovolí změnu, vyvolá C-fakt quit, což vyvolá u zákazníka C-čin quit a končí v C-fakt quit. Zákazník začne znova. • Pekař může odmítnout a požadavek (request) je v platnosti. 30
Vzor cancellation pro promise
• Pekař po příslibu zjistí, že požadovaný bochník je již prodaný. • C-fakt cancel (růžový) je diskuse. • Cesta do C-činů – allow dovolí zrušení slibu. • C-čin refuse nedovolí zrušení slibu. Zákazník aktuálně nedostane bochník – snad jindy. 31
Vzor cancellation pro statement - uvedení
• Pokud pekař po předložení bochníku zjistí, že bochník není v pořádku, může zrušit fázi statement (vyhne se možná odmítnutí zákazníkem). • Diskusní stav cancel (růžová) dovolí, pekař předloží jiný bochník. • Zákazník odmítne, zákazník je ochotný přijmout vadný bochník. 32
Vzor cancellation pro acceptance přijetí
• Předpoklad – transakce úspěšně dokončena, ale např. před obchodem zákazník prohlédne bochník – chce revokovat akceptaci. • V diskuzi pravděpodobně záleží na vztahu na vztahu pekaře a zákazníka. • Je-li vztah důležitý pro pekaře, dovolí odmítnutí C-fakt reject. • Jinak je zákazník odmítnut – refuse a C-fakt accept zůstává v platnosti. 33
Univerzální vzor transakce • Zahrnuje Standardní vzor transakce včetně 4 vzorů cancellation. • Čtyři vzory cancellation jsou nezbytné a dostatečné pro vzetí do úvahy všech možných vrácení změn (rollback).
34
Univerzální vzor transakce executor
initiator
initiator
executor quit
allow
de cline
cancel (rq)
re fuse
pro mise
re fuse
ac cept
cancel (ac)
allow
cancel (pm)
re quest
re fuse
allow
allow
state
cancel (st)
re fuse
re ject
stop
35
Kompletní vzor transakce (1) executor
initiator
initiator
executor quit
allow
de cline
cancel (rq)
re fuse
pro mise
re fuse
ac cept
cancel (ac)
allow
cancel (pm)
re quest
re fuse
allow
allow
state
cancel (st)
re fuse
re ject
stop
36
Kompletní vzor transakce (2) executor
initiator
initiator
executor quit
allow
de cline
cancel (rq)
re fuse
pro mise
re fuse
ac cept
cancel (ac)
allow
cancel (pm)
re quest
re fuse
allow
allow
state
cancel (st)
re fuse
re ject
stop
37
Kompletní vzor transakce (3) executor
initiator
initiator
executor quit
allow
de cline
cancel (rq)
re fuse
pro mise
re fuse
ac cept
cancel (ac)
allow
cancel (pm)
re quest
re fuse
allow
allow
state
cancel (st)
re fuse
re ject
stop
38
Kompletní vzor transakce (4) executor
initiator
initiator
executor quit
allow
de cline
cancel (rq)
re fuse
pro mise
re fuse
ac cept
cancel (ac)
allow
cancel (pm)
re quest
re fuse
allow
allow
state
cancel (st)
re fuse
re ject
stop
39
Podnikový proces jako strom transakcí • Ve stromu transakcí: – role aktorů A1, A2 … označení iniciátor exekutor, – jednotlivé transakce T1, T2, … – strom představuje všechny možné průchody, instance reprezentuje jeden konkrétní průchod stromem – tedy konkrétní podnikový proces.
40
Podnikový proces jako strom transakcí A0
T1
A1
T2
T3
T4
A2
A3
A4
T5
T6
T7
T8
T9
A5
A6
A7
A8
A9
41
Kompletní transakční vzor • Každá transakce T1, T2 … představuje kompletní transakční vzor.
42