SlideShare a Scribd company logo
1 of 30

Aug. 2 Aug. 3 Aug. 4 Aug. 5 Aug. 6
9:00 Intro &
terminology
TP mons
& ORBs
Logging &
res. Mgr.
Files &
Buffer Mgr.
Structured
files
11:00 Reliability Locking
theory
Res. Mgr. &
Trans. Mgr.
COM+ Access paths
13:30 Fault
tolerance
Locking
techniques
CICS & TP
& Internet
CORBA/
EJB + TP
Groupware
15:30 Transaction
models
Queueing Advanced
Trans. Mgr.
Replication Performance
& TPC
18:00 Reception Workflow Cyberbricks Party FREE
Transactional Workflow
Chapter 9

What Is the Problem ?
“A workflow management system is an
active system that manages the flow of
business processes performed by multiple
persons in multiple steps. It gets the right
data to the right people with the right tools
at the right time.”
(This definition omits a umber of aspects:
roles, events, errors, cooperation, ...)

In More Technical Terms: What Is
Workflow ?
WF is a long-lived execution involving a potentially
large number of autonomous agents such as
programs, databases, sensors, actors, humans.
Control flow and data flow are (partially) pre-defined
and may evolve over time.
There are numerous interdependent consistency
criteria.
A WF must be kept alive by “the system” under all
circumstances.

Source
Step
case
case
fork
loop
compensation
step
Components of a Workflow

Steps ...
execute application logic of any kind,
can interact with human operators,
access shared data in databases,
depend on events and can create their own
events,
have a short duration and (should) behave like
classical transactions,
are invoked depending on the execution history.

The Script ...
specifies the control flow and the workflow,
defines the event and data conditions under
which a step is to be executed,
defines the synchronization criteria for accessing
shared data,
maintains the local execution context of a
workflow instance,
handles resource conflicts, in particular on
shared data,
represents a persistent execution.

What Is Transactional Workflow ?
There are different interpretations:
Extended transaction models adapted to the
needs of workflow: Sagas, Flex transactions,
etc.
Application of some transactional properties
such as isolation and durability to workflows.
Using classical distributed transactions to
implement the control flow machinery of a
workflow system.

What Happens to the Transactional
Properties ?
A: Atomicity does not apply to an entire workflow
C: Consistency must be redefined including the
temporal dimension.
I: Isolation must be limited in time; cooperation
must be allowed.
D: Rather than the effects of transaction, the
execution itself must be durable.

Correctness
Transactional correctness guarantees a
consistent overall state if each individual step is
executed correctly (or not at all) and there was a
consistent initial state.
In long-lived executions, this definition cannnot
be used, because
strict isolation is not feasible and
rollback is not option at the workflow level.

Rollback vs. Compensation
Rollback is based on the assumption that an
erroneous state can be reverted to the previous
(correct) state without affecting anybody =>
Isolation.
Compensation tries to modify an erroneous state
such that all the consistency constraints work as
though the faulty operation was never executed
=> Formal definition of consistency.

Correctness For Long-Lived Activities
Transactions can be executed iff the possibility
of rollback is maintained.
A step in a workflow can be executed iff
the individual step can be rolled back and
its commitment does not block any of the previously
executed steps from being compensated if needed.

What Are Invariants For?
Compensation must be guaranteed for
completed steps =>
certain predicates on the shared and local state must
be maintained.
The requirements for a state to be executable
are formalized as combined event / state
predicates called “invariants”.
Invariants are alos useful to describe
correctness criteria for forward execution.

Types of Invariants
Entry invariants guard the execution of a step.
If an entry invariant is violated, there are different
options:
give up (compensate),
negotiate,
resolve conflict.
Exit invariants formalize the new consistent state. Its
protection can be
strict (must),
moderate (want),
lose (hope).

Invariants: Virtual Objects
Invariants may contain expressions like:
obj_1 + obj_2 rel_op value.
The objects are not necessarily managed by the
same RM.
To support such invariants, they are established
as virtual objects, which:
have a special name,
have a “value” method,
are stored at each participating RM,
are evaluated locally whenever possible.

Dynamic Aspects of Invariants
p1
pa2 pa3 pa4
pb2 pb3 pb4
Individual invariants established by each step

p1
p1&pa2 p1&pa2&pa3 p1&pa2&pa3&pa4
p1&pb2 p1&pb2&pb3 p1&pb2&pb3&pb4
Accumulated invariants for a “case of” control flow
Dynamic Aspects of Invariants

Dynamic Aspects of Invariants
Invariants can be deleted if the step with the
corresponding entry invariant will never be
executed. This implies:
All invariants become obsolete at the end of a
workflow.
Dead code must be detected dynamically.
We need special loop invariants.
If a step´s compensation step is dynamically
modified, this may cause problems.

Supporting Invariants
In order to support invariants, database systems
must give up some their autonomy. In particular,
they have to:
provide notification about lock conflicts,
implement recoverable locks,
implement semantic locks (e.g. escrow),
implement existence locks at the tuple and at the
schema level.

Using Transactions in a Workflow-
System
Application-level transactions for grouping multiple
steps
Transaction 1
Transaction 2

B C
System-level transactions for transferring control
from one step to the next
Using Transactions in a Workflow-System
B C
System-level transactions for transferring control
from one step to the next
Using Transactions in a Workflow-System

C
System-level transactions for transferring control
from one step to the next
B
CM
transfer
control
receive
request
notify
CM
notify
CM
System transaction A
Using Transactions in a Workflow-System

B C
Input queuecommit
local
processing
post
Version 1: Synchronous transfer
Workflow and Transactional Queues

B C
Input queuecommit
local
processing
Version 2: Asynchronous transfer
output
queue
Commit-
Post-Transaction
Transfer Transaction
Workflow and Transactional Queues

C
Input queue Output queue
Local code
1.
dequeue
2. local execution
3. post
Complete
local transaction
incl. transfer
of control
Queue-Driven Step Processing

C
Normal processing
dequeue
local
processing
Transaction abort
local
rollback
post
Queues And Rollback

Problems Related to Rollback
Why did the local transaction fail (system abort or
application-initiated rollback?)
In which cases should the TA be re-posted (and how
often)?
Who gets notified about an abort (source or CM)?
Who gets notified about the eventual failure to restart a
transaction?
Should application-level TAs be treated as distributed or
nested transactions at the system level?
Which programming level should handle these issues
(step or script)?

Summing It Up - 1
Transactional concepts can be carried over to
workflow management in multiple ways and at
differet levels.
The most obvious application of transaction
technology is at the level of the workflow engine,
where transactions provide persistent execution
of a script, local recovery in case of partial
failures, reliable state transitions, recoverable
events, and consistent context.

Summing It Up - 2
Transactions at the system level need a number
of extensions: nesting, chaining, leave-resume,
transfer.
Participating resource managers need to be able
to support an open distributed two-phase-
commit protocol.
Persistent storage managers need a number of
functional extensions such as recoverable locks.

Summing It Up - 3
At the step level, transactions provide atomicity
for short-term related computations.
The TM must be able to support dependen-cies
among transcations.
At the script level, the concepts of atomicity and
consistency have to be translated into more
abstract notions (compensation, invariants).

More Related Content

What's hot

DBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlDBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlMukesh Tekwani
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMSkoolkampus
 
Critical section problem in operating system.
Critical section problem in operating system.Critical section problem in operating system.
Critical section problem in operating system.MOHIT DADU
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbmsDilouar Hossain
 
2 PHASE COMMIT PROTOCOL
2 PHASE COMMIT PROTOCOL2 PHASE COMMIT PROTOCOL
2 PHASE COMMIT PROTOCOLKABILESH RAMAR
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactionsNilu Desai
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemorySHIKHA GAUTAM
 
Transactions (Distributed computing)
Transactions (Distributed computing)Transactions (Distributed computing)
Transactions (Distributed computing)Sri Prasanna
 
Transaction Management
Transaction Management Transaction Management
Transaction Management Visakh V
 
Mutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's AlgorithmMutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's AlgorithmSouvik Roy
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlAbDul ThaYyal
 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactionsSajan Sahu
 
CS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitCS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitJ Singh
 
Transaction management
Transaction managementTransaction management
Transaction managementrenuka_a
 

What's hot (20)

Unit06 dbms
Unit06 dbmsUnit06 dbms
Unit06 dbms
 
Transactions
TransactionsTransactions
Transactions
 
DBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency ControlDBMS-chap 2-Concurrency Control
DBMS-chap 2-Concurrency Control
 
15. Transactions in DBMS
15. Transactions in DBMS15. Transactions in DBMS
15. Transactions in DBMS
 
Critical section problem in operating system.
Critical section problem in operating system.Critical section problem in operating system.
Critical section problem in operating system.
 
Two phase commit protocol in dbms
Two phase commit protocol in dbmsTwo phase commit protocol in dbms
Two phase commit protocol in dbms
 
2 PHASE COMMIT PROTOCOL
2 PHASE COMMIT PROTOCOL2 PHASE COMMIT PROTOCOL
2 PHASE COMMIT PROTOCOL
 
Chapter17
Chapter17Chapter17
Chapter17
 
management of distributed transactions
management of distributed transactionsmanagement of distributed transactions
management of distributed transactions
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
Transactions (Distributed computing)
Transactions (Distributed computing)Transactions (Distributed computing)
Transactions (Distributed computing)
 
Transaction Management
Transaction Management Transaction Management
Transaction Management
 
Mutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's AlgorithmMutual Exclusion using Peterson's Algorithm
Mutual Exclusion using Peterson's Algorithm
 
Chapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency controlChapter 12 transactions and concurrency control
Chapter 12 transactions and concurrency control
 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactions
 
CS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed CommitCS 542 -- Concurrency Control, Distributed Commit
CS 542 -- Concurrency Control, Distributed Commit
 
Transaction management
Transaction managementTransaction management
Transaction management
 
Critical section operating system
Critical section  operating systemCritical section  operating system
Critical section operating system
 
serializability in dbms
serializability in dbmsserializability in dbms
serializability in dbms
 
Ch15
Ch15Ch15
Ch15
 

Viewers also liked

Viewers also liked (10)

06 07 lock
06 07 lock06 07 lock
06 07 lock
 
7 concurrency controltwo
7 concurrency controltwo7 concurrency controltwo
7 concurrency controltwo
 
02 fault tolerance
02 fault tolerance02 fault tolerance
02 fault tolerance
 
13 tm adv
13 tm adv13 tm adv
13 tm adv
 
14 turing wics
14 turing wics14 turing wics
14 turing wics
 
8 application servers_v2
8 application servers_v28 application servers_v2
8 application servers_v2
 
10 replication
10 replication10 replication
10 replication
 
11 tm
11 tm11 tm
11 tm
 
18 philbe replication stanford99
18 philbe replication stanford9918 philbe replication stanford99
18 philbe replication stanford99
 
6 two phasecommit
6 two phasecommit6 two phasecommit
6 two phasecommit
 

Similar to 09 workflow

24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMSkoolkampus
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsDang Tuan
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming languageVasavi College of Engg
 
Spring Transaction Management
Spring Transaction ManagementSpring Transaction Management
Spring Transaction ManagementYe Win
 
Session 9 Tp9
Session 9 Tp9Session 9 Tp9
Session 9 Tp9phanleson
 
RTS Short Topics
RTS Short TopicsRTS Short Topics
RTS Short TopicsSilas Kanth
 
Unraveling the mystery how to predict application performance problems
Unraveling the mystery how to predict application performance problems Unraveling the mystery how to predict application performance problems
Unraveling the mystery how to predict application performance problems jKool
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsRaj vardhan
 
Operating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksOperating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksMukesh Chinta
 
Ch17 OS
Ch17 OSCh17 OS
Ch17 OSC.U
 
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016DevOpsDays Tel Aviv
 
Modeling of multiversion concurrency control
Modeling of multiversion concurrency controlModeling of multiversion concurrency control
Modeling of multiversion concurrency controlJawid Ahmad Baktash
 

Similar to 09 workflow (20)

24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS24. Advanced Transaction Processing in DBMS
24. Advanced Transaction Processing in DBMS
 
Autonomous transaction
Autonomous transactionAutonomous transaction
Autonomous transaction
 
Ho20
Ho20Ho20
Ho20
 
chp13.pdf
chp13.pdfchp13.pdf
chp13.pdf
 
Advanced DBMS presentation
Advanced DBMS presentationAdvanced DBMS presentation
Advanced DBMS presentation
 
M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming language
 
DBMS UNIT 4
DBMS UNIT 4DBMS UNIT 4
DBMS UNIT 4
 
Spring Transaction Management
Spring Transaction ManagementSpring Transaction Management
Spring Transaction Management
 
Session 9 Tp9
Session 9 Tp9Session 9 Tp9
Session 9 Tp9
 
Job Opportunity
Job OpportunityJob Opportunity
Job Opportunity
 
RTS Short Topics
RTS Short TopicsRTS Short Topics
RTS Short Topics
 
Unraveling the mystery how to predict application performance problems
Unraveling the mystery how to predict application performance problems Unraveling the mystery how to predict application performance problems
Unraveling the mystery how to predict application performance problems
 
UNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing ConceptsUNIT-IV: Transaction Processing Concepts
UNIT-IV: Transaction Processing Concepts
 
Operating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and DeadlocksOperating Systems - Process Synchronization and Deadlocks
Operating Systems - Process Synchronization and Deadlocks
 
Ch17 OS
Ch17 OSCh17 OS
Ch17 OS
 
OSCh17
OSCh17OSCh17
OSCh17
 
OS_Ch17
OS_Ch17OS_Ch17
OS_Ch17
 
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
 
Modeling of multiversion concurrency control
Modeling of multiversion concurrency controlModeling of multiversion concurrency control
Modeling of multiversion concurrency control
 

More from ashish61_scs

More from ashish61_scs (20)

7 concurrency controltwo
7 concurrency controltwo7 concurrency controltwo
7 concurrency controltwo
 
Transactions
TransactionsTransactions
Transactions
 
22 levine
22 levine22 levine
22 levine
 
21 domino mohan-1
21 domino mohan-121 domino mohan-1
21 domino mohan-1
 
20 access paths
20 access paths20 access paths
20 access paths
 
19 structured files
19 structured files19 structured files
19 structured files
 
17 wics99 harkey
17 wics99 harkey17 wics99 harkey
17 wics99 harkey
 
16 greg hope_com_wics
16 greg hope_com_wics16 greg hope_com_wics
16 greg hope_com_wics
 
15 bufferand records
15 bufferand records15 bufferand records
15 bufferand records
 
14 scaleabilty wics
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
 
10b rm
10b rm10b rm
10b rm
 
10a log
10a log10a log
10a log
 
08 message and_queues_dieter_gawlick
08 message and_queues_dieter_gawlick08 message and_queues_dieter_gawlick
08 message and_queues_dieter_gawlick
 
05 tp mon_orbs
05 tp mon_orbs05 tp mon_orbs
05 tp mon_orbs
 
04 transaction models
04 transaction models04 transaction models
04 transaction models
 
03 fault model
03 fault model03 fault model
03 fault model
 
01 whirlwind tour
01 whirlwind tour01 whirlwind tour
01 whirlwind tour
 
Solution5.2012
Solution5.2012Solution5.2012
Solution5.2012
 
Solution6.2012
Solution6.2012Solution6.2012
Solution6.2012
 
Solution7.2012
Solution7.2012Solution7.2012
Solution7.2012
 

Recently uploaded

Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxUnboundStockton
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 

Recently uploaded (20)

9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Blooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docxBlooming Together_ Growing a Community Garden Worksheet.docx
Blooming Together_ Growing a Community Garden Worksheet.docx
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 

09 workflow

  • 1.  Aug. 2 Aug. 3 Aug. 4 Aug. 5 Aug. 6 9:00 Intro & terminology TP mons & ORBs Logging & res. Mgr. Files & Buffer Mgr. Structured files 11:00 Reliability Locking theory Res. Mgr. & Trans. Mgr. COM+ Access paths 13:30 Fault tolerance Locking techniques CICS & TP & Internet CORBA/ EJB + TP Groupware 15:30 Transaction models Queueing Advanced Trans. Mgr. Replication Performance & TPC 18:00 Reception Workflow Cyberbricks Party FREE Transactional Workflow Chapter 9
  • 2.  What Is the Problem ? “A workflow management system is an active system that manages the flow of business processes performed by multiple persons in multiple steps. It gets the right data to the right people with the right tools at the right time.” (This definition omits a umber of aspects: roles, events, errors, cooperation, ...)
  • 3.  In More Technical Terms: What Is Workflow ? WF is a long-lived execution involving a potentially large number of autonomous agents such as programs, databases, sensors, actors, humans. Control flow and data flow are (partially) pre-defined and may evolve over time. There are numerous interdependent consistency criteria. A WF must be kept alive by “the system” under all circumstances.
  • 5.  Steps ... execute application logic of any kind, can interact with human operators, access shared data in databases, depend on events and can create their own events, have a short duration and (should) behave like classical transactions, are invoked depending on the execution history.
  • 6.  The Script ... specifies the control flow and the workflow, defines the event and data conditions under which a step is to be executed, defines the synchronization criteria for accessing shared data, maintains the local execution context of a workflow instance, handles resource conflicts, in particular on shared data, represents a persistent execution.
  • 7.  What Is Transactional Workflow ? There are different interpretations: Extended transaction models adapted to the needs of workflow: Sagas, Flex transactions, etc. Application of some transactional properties such as isolation and durability to workflows. Using classical distributed transactions to implement the control flow machinery of a workflow system.
  • 8.  What Happens to the Transactional Properties ? A: Atomicity does not apply to an entire workflow C: Consistency must be redefined including the temporal dimension. I: Isolation must be limited in time; cooperation must be allowed. D: Rather than the effects of transaction, the execution itself must be durable.
  • 9.  Correctness Transactional correctness guarantees a consistent overall state if each individual step is executed correctly (or not at all) and there was a consistent initial state. In long-lived executions, this definition cannnot be used, because strict isolation is not feasible and rollback is not option at the workflow level.
  • 10.  Rollback vs. Compensation Rollback is based on the assumption that an erroneous state can be reverted to the previous (correct) state without affecting anybody => Isolation. Compensation tries to modify an erroneous state such that all the consistency constraints work as though the faulty operation was never executed => Formal definition of consistency.
  • 11.  Correctness For Long-Lived Activities Transactions can be executed iff the possibility of rollback is maintained. A step in a workflow can be executed iff the individual step can be rolled back and its commitment does not block any of the previously executed steps from being compensated if needed.
  • 12.  What Are Invariants For? Compensation must be guaranteed for completed steps => certain predicates on the shared and local state must be maintained. The requirements for a state to be executable are formalized as combined event / state predicates called “invariants”. Invariants are alos useful to describe correctness criteria for forward execution.
  • 13.  Types of Invariants Entry invariants guard the execution of a step. If an entry invariant is violated, there are different options: give up (compensate), negotiate, resolve conflict. Exit invariants formalize the new consistent state. Its protection can be strict (must), moderate (want), lose (hope).
  • 14.  Invariants: Virtual Objects Invariants may contain expressions like: obj_1 + obj_2 rel_op value. The objects are not necessarily managed by the same RM. To support such invariants, they are established as virtual objects, which: have a special name, have a “value” method, are stored at each participating RM, are evaluated locally whenever possible.
  • 15.  Dynamic Aspects of Invariants p1 pa2 pa3 pa4 pb2 pb3 pb4 Individual invariants established by each step
  • 16.  p1 p1&pa2 p1&pa2&pa3 p1&pa2&pa3&pa4 p1&pb2 p1&pb2&pb3 p1&pb2&pb3&pb4 Accumulated invariants for a “case of” control flow Dynamic Aspects of Invariants
  • 17.  Dynamic Aspects of Invariants Invariants can be deleted if the step with the corresponding entry invariant will never be executed. This implies: All invariants become obsolete at the end of a workflow. Dead code must be detected dynamically. We need special loop invariants. If a step´s compensation step is dynamically modified, this may cause problems.
  • 18.  Supporting Invariants In order to support invariants, database systems must give up some their autonomy. In particular, they have to: provide notification about lock conflicts, implement recoverable locks, implement semantic locks (e.g. escrow), implement existence locks at the tuple and at the schema level.
  • 19.  Using Transactions in a Workflow- System Application-level transactions for grouping multiple steps Transaction 1 Transaction 2
  • 20.  B C System-level transactions for transferring control from one step to the next Using Transactions in a Workflow-System
  • 21. B C System-level transactions for transferring control from one step to the next Using Transactions in a Workflow-System
  • 22.  C System-level transactions for transferring control from one step to the next B CM transfer control receive request notify CM notify CM System transaction A Using Transactions in a Workflow-System
  • 23.  B C Input queuecommit local processing post Version 1: Synchronous transfer Workflow and Transactional Queues
  • 24.  B C Input queuecommit local processing Version 2: Asynchronous transfer output queue Commit- Post-Transaction Transfer Transaction Workflow and Transactional Queues
  • 25.  C Input queue Output queue Local code 1. dequeue 2. local execution 3. post Complete local transaction incl. transfer of control Queue-Driven Step Processing
  • 27.  Problems Related to Rollback Why did the local transaction fail (system abort or application-initiated rollback?) In which cases should the TA be re-posted (and how often)? Who gets notified about an abort (source or CM)? Who gets notified about the eventual failure to restart a transaction? Should application-level TAs be treated as distributed or nested transactions at the system level? Which programming level should handle these issues (step or script)?
  • 28.  Summing It Up - 1 Transactional concepts can be carried over to workflow management in multiple ways and at differet levels. The most obvious application of transaction technology is at the level of the workflow engine, where transactions provide persistent execution of a script, local recovery in case of partial failures, reliable state transitions, recoverable events, and consistent context.
  • 29.  Summing It Up - 2 Transactions at the system level need a number of extensions: nesting, chaining, leave-resume, transfer. Participating resource managers need to be able to support an open distributed two-phase- commit protocol. Persistent storage managers need a number of functional extensions such as recoverable locks.
  • 30.  Summing It Up - 3 At the step level, transactions provide atomicity for short-term related computations. The TM must be able to support dependen-cies among transcations. At the script level, the concepts of atomicity and consistency have to be translated into more abstract notions (compensation, invariants).