SlideShare a Scribd company logo

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

PPT
Ph.D. final defense
PPT
Dbms ii mca-ch9-transaction-processing-2013
PPT
Distributed Transaction
PPT
Chapter 13
PPT
Databases: Concurrency Control
PPT
Concurrency
PDF
Introduction to database-Transaction Concurrency and Recovery
PPTX
Distributed Transactions(flat and nested) and Atomic Commit Protocols
Ph.D. final defense
Dbms ii mca-ch9-transaction-processing-2013
Distributed Transaction
Chapter 13
Databases: Concurrency Control
Concurrency
Introduction to database-Transaction Concurrency and Recovery
Distributed Transactions(flat and nested) and Atomic Commit Protocols

What's hot (20)

PPT
Unit06 dbms
PPTX
Transactions
PDF
DBMS-chap 2-Concurrency Control
PPT
15. Transactions in DBMS
PPTX
Critical section problem in operating system.
PPT
Two phase commit protocol in dbms
PPT
2 PHASE COMMIT PROTOCOL
PPT
Chapter17
PDF
management of distributed transactions
PDF
Agreement Protocols, distributed File Systems, Distributed Shared Memory
PPT
Transactions (Distributed computing)
PPTX
Transaction Management
PPTX
Mutual Exclusion using Peterson's Algorithm
PPT
Chapter 12 transactions and concurrency control
PPT
Concurrent transactions
PPTX
CS 542 -- Concurrency Control, Distributed Commit
PPT
Transaction management
DOCX
Critical section operating system
PPTX
serializability in dbms
Unit06 dbms
Transactions
DBMS-chap 2-Concurrency Control
15. Transactions in DBMS
Critical section problem in operating system.
Two phase commit protocol in dbms
2 PHASE COMMIT PROTOCOL
Chapter17
management of distributed transactions
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Transactions (Distributed computing)
Transaction Management
Mutual Exclusion using Peterson's Algorithm
Chapter 12 transactions and concurrency control
Concurrent transactions
CS 542 -- Concurrency Control, Distributed Commit
Transaction management
Critical section operating system
serializability in dbms
Ad

Viewers also liked (10)

PPT
06 07 lock
PDF
7 concurrency controltwo
PPT
02 fault tolerance
PPT
13 tm adv
PPT
14 turing wics
PDF
8 application servers_v2
PDF
10 replication
PPT
PPT
18 philbe replication stanford99
PDF
6 two phasecommit
06 07 lock
7 concurrency controltwo
02 fault tolerance
13 tm adv
14 turing wics
8 application servers_v2
10 replication
18 philbe replication stanford99
6 two phasecommit
Ad

Similar to 09 workflow (20)

PPTX
Transactional workflow
PDF
Online Workflow Management and Performance Analysis with Stampede
PPTX
Workflow systems
PPT
Windows Workflow Foundation
PDF
Windows workflow foundation using c#
PDF
General Workflow an introduction
PPT
]project-open[ Workflow Developer Tutorial Part 2
PPT
]project-open[ Workflow Developer Tutorial Part 4
PPTX
WF_in_retail_banking_enterprise_systems
PDF
State Machine Workflow: Esoteric Techniques & Patterns Everyone Should Buy pr...
PDF
11 bpm
PPTX
Workflow, a brief overview
PPTX
Workflow Systems: Myths, Truths and Wishful Thinking
PPTX
Workflow management
PPTX
Introduction To Windows Workflow Foundation 4.0
PDF
Microservies Vienna - Lost in transactions
PPT
About work flow
PPTX
08 worlflow management
PDF
Go With The Flow
PPT
05 a 01workflowarchitecture
Transactional workflow
Online Workflow Management and Performance Analysis with Stampede
Workflow systems
Windows Workflow Foundation
Windows workflow foundation using c#
General Workflow an introduction
]project-open[ Workflow Developer Tutorial Part 2
]project-open[ Workflow Developer Tutorial Part 4
WF_in_retail_banking_enterprise_systems
State Machine Workflow: Esoteric Techniques & Patterns Everyone Should Buy pr...
11 bpm
Workflow, a brief overview
Workflow Systems: Myths, Truths and Wishful Thinking
Workflow management
Introduction To Windows Workflow Foundation 4.0
Microservies Vienna - Lost in transactions
About work flow
08 worlflow management
Go With The Flow
05 a 01workflowarchitecture

More from ashish61_scs (20)

PDF
7 concurrency controltwo
PDF
Transactions
PPT
22 levine
PDF
21 domino mohan-1
PPT
20 access paths
PPT
19 structured files
PDF
17 wics99 harkey
PPT
16 greg hope_com_wics
PPT
15 bufferand records
PPT
14 scaleabilty wics
PPT
10b rm
PPT
10a log
PPT
08 message and_queues_dieter_gawlick
PPT
05 tp mon_orbs
PPT
04 transaction models
PPT
03 fault model
PPT
01 whirlwind tour
PDF
Solution5.2012
PDF
Solution6.2012
PDF
Solution7.2012
7 concurrency controltwo
Transactions
22 levine
21 domino mohan-1
20 access paths
19 structured files
17 wics99 harkey
16 greg hope_com_wics
15 bufferand records
14 scaleabilty wics
10b rm
10a log
08 message and_queues_dieter_gawlick
05 tp mon_orbs
04 transaction models
03 fault model
01 whirlwind tour
Solution5.2012
Solution6.2012
Solution7.2012

Recently uploaded (20)

PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
Institutional Correction lecture only . . .
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
Basic Mud Logging Guide for educational purpose
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
01-Introduction-to-Information-Management.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Classroom Observation Tools for Teachers
PPTX
master seminar digital applications in india
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPH.pptx obstetrics and gynecology in nursing
Institutional Correction lecture only . . .
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Basic Mud Logging Guide for educational purpose
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
O7-L3 Supply Chain Operations - ICLT Program
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
01-Introduction-to-Information-Management.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
TR - Agricultural Crops Production NC III.pdf
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Classroom Observation Tools for Teachers
master seminar digital applications in india
Microbial diseases, their pathogenesis and prophylaxis

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).