1 Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 Workflow Concepts and Techniques...
-
date post
22-Dec-2015 -
Category
Documents
-
view
228 -
download
0
Transcript of 1 Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 Workflow Concepts and Techniques...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 1
Workflow Concepts and Techniques
Claude Godart & Hala Skaf-Molli
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 2
Contents
• Where to get more information ?
• Business Process
• Workflow Definition
• Workflow Conceptual Model
• Benefits of Workflow Technology
• Workflow and Related Technologies
• Conclusion
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 3
Where to get more information?
• http://www.aiim.org/wfmc/– Workflow Management Coalition (WfMC):
– non-profit, International Organization of Workflow vendors, users and analysts..
– Define standards for the workflow system
– Reference model
– 180 Members: Microsoft, Oracle, Action Technology, DCE consultants, IBM, SAP AG, NEC ….
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 4
Where to get more information?• Tutorials:
– Workflow and Workflow management system, P. Peretti (Altan Group), Globecom Rio de Janeiro 1999
– Workflow Management in the Internet Age, C. Mohan (IBM Almaden Research Center), école d’été objets répartis, Grenoble 1999.
• Books– Production Workflow: Concepts and techniques, by F. Leymann (IBM)
and D. Roller (IBM), Prentice Hall.
– Workflow Technology in Computer supported Co-coperative Work, edited by Michel Beaudouin-Lafon
• On the Web– www.w4.fr
– www.teamware.com
– ….;
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 5
Business Process
• Procedures within an organization…
• A sequence of activities performed by various persons, the visible result being various pieces of paper.
• Example:– loan process in a bank– claims processing in an insurance company...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 6
Workflow
• The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules [WFMC].– Ensure that the right work is done at the right
time by the right people, in the right order.
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 7
Workflow
• We call the operational aspects of a business process-the sequence of tasks and who performs them, the information flow to support the tasks, and the tracking and reporting mechanisms that measure and control them-the workflow [Mohan99]
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 8
Processes and Workflow
Real World
Process Model
Process
Computer
Workflow Model
WorkflowIn
stan
ce
Inst
ance
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 9
Applications ExampleEvery time individuals co-operate to achieve a common
goal according to a predefined procedure workflow management is the appropriate tool.
• Insurance policy/claims processing (AVECOM)
• Loan request handling
• System administration (e.g. BDA activities)
• Healthcare claims (Empire Blue Cross Blue Shield)
• Order management (Microsoft)
• Travel expense approvals..
• Technical documentation creation
• Quality management
• Concurrent Engineering
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 10
Ex: Loan Request Handling
• Activities– Collect Credit Information – Assess Risk (amount > 10 000 FF)– Request Approval (amount > 10 000 FF or
High Risk)– Accept Credit– Reject Credit
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 11
Control flow of activities
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 12
Data flow
NameAddressRiskAmount
NameAddressRiskAmountName
AddressRiskAmount
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 13
Workflow challenge
• The workflow initiative promotes independence between process logic and programs
• as the database initiative promoted independence between process data and programs
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 14
Workflow Process Logic
• Two major facets:– Flow of control: the execution sequence of
activities…• nodes are activities, arcs are control connectors…
• transition condition is attached to a control connector...
– Data Flow : determines which paths should be taken..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 15
Workflow Collaboratif Workflow de ProductionDocuments complexes et Documents à compléter/instruire :composites : - Contrat
- Document technique - Commande-Livraison - Document de recherche & facturation
- Publication
Workflow «Ad hoc» Workflow Administratif- Demandes spécifiques Traitements administratifs :- Gestion des cas particuliers - Processus d’achat
- Agendas, notes de frais- Gestion de personnel
Workflow Collaboratif Workflow de ProductionDocuments complexes et Documents à compléter/instruire :composites : - Contrat
- Document technique - Commande-Livraison - Document de recherche & facturation
- Publication
Workflow «Ad hoc» Workflow Administratif- Demandes spécifiques Traitements administratifs :- Gestion des cas particuliers - Processus d’achat
- Agendas, notes de frais- Gestion de personnel
Fréquence des processus
Valeur ajoutée des processus
Co
mm
un
icat
ion
Pro
du
ctio
n
Typologie et caractéristiques des
Workflow
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 16
Caractéristiques requises par type de Workflow 1/4
• Workflow de Production– Débit important (temps de réponse faible et bonne capacité de monter en
charge)– Puissant formalisme de représentation des procédures (procédures
définies de façon extensive)– Puissant environnement de développement et des outils d’intégration
avec les systèmes existants– Mécanismes d’affectation complets– Outil d’administration des opérations efficace (administration des
utilisateurs, des droits d’accès, des instances de procédure, statistiques)
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 17
Caractéristiques requises par type de Workflow 2/4
• Workflow Administratif– Mêmes caractéristiques que celles du Workflow de production avec toutefois un
niveau de complexité et de richesse inférieur– Définition des procédures et activités sous forme graphique (limitation au
maximum de la programmation)– Présentation graphique des portefeuilles d’activités («worklists») fournie (agent)– Présentation graphique de l’historique des instances de procédures fournie (agent)– Support et distribution Internet afin de limiter le coût de déploiement
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 18
Caractéristiques requises par type de Workflow 3/4
• Workflow collaboratif– Définition des procédures et activités sous forme graphique (gestion de sous-
procédures, réutilisation)– Modifications dynamiques de procédures– Présentation graphique des portefeuilles d’activités («worklists») fournie avec des
fonctionnalités de délégation, acceptation/rejet/re-soumission (agent)– Présentation graphique de l’historique des instances de procédures fournie (agent)– Support et distribution Internet afin de limiter le coût de déploiement
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 19
Caractéristiques requises par type de Workflow 4/4
• Workflow Ad hoc– Produit très simple à utiliser (formation des utilisateurs en une demie-journée)
– Aucune programmation, toutes les définitions doivent se faire de façon graphique et sous forme de règles
– Limitation des fonctionnalités disponibles à l’essentiel afin de faciliter l’utilisation du produit
– Support et distribution Internet afin de limiter le coût de déploiement
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 20
Fréquence des processus
Valeur ajoutée des processus
•FlowMark(IBM)
•Visual Worlflo(FileNet)
•StaffWare(StaffWare)
•Lotus Notes(IBM)
•Ensemble(FileNet)
•TeamWare flow(TeamWare)
•In Concert(Xerox)
•TeamWare flow(TeamWare)
•In Concert(Xerox)
•StaffWare(StaffWare)
•TeamWare flow(TeamWare)
•In Concert(Xerox)
•W4(World Wide
Web Workflow)
•W4(World Wide
Web Workflow)
•EastmanSoftware Workflow(EastmanSoftware)
Positionnement des principales solutions
Source : Cap Gemini
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 21
Dimensions of Workflow
Three Dimensional workflow space W3 (what, who, which)
Process Logic
organization
IT Infrastructure
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 22
Workflow Management System
• A system that completely defines, manages and executes « workflow » through the execution of software whose order of execution is driven by a computer representation of the workflow logic [WFMC].
• Common characteristics:– basis for developing integration
– interoperability
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 23
WF system characteristics
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 24
Running Activities
Activity
Input ContainerOutput Container
WorklistWorkitem..
Program
1
2
3
4
5
1: user click (manual activity)
2: WfS: builds input container
3: Wfs call program
4: access database
5: put new value in output container
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 25
Modèle de référence WFMC
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 26
Workflow system’s components
• Build-time functions : flow modeling component– administrators and analysts to define processes
(procedure) and activities– analyze and simulate them– assign to participant specifications– view work process statistics– make change to process
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 27
Workflow system’s components
• Run-time process control functions : workflow execution (enactment) in an operational environment– workflow engine
• process creation and deletion
• activity scheduling
• interactions with application tools and human resources
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 28
Workflow system’s components
• Run-time activity interactions with humans users and IT application tools functions :– transfer control between activities– tool invocation and data passing– workflow interperability
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 29
Execution d’un WF
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 30
Workflow Concepts
Activity Process Role
Operation Flow of control Actor
Task Transition Position
Step Route User
Work Path Group
Job Resource
Staff
Organizational unit
A lot of words around workflow
What is done Relationships among Who doesthings done
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 31
WfMC process definition meta-model Process definition
Process activity Process
relevant data
TransitionInformation
Sub-process
Atomic activity
consists_of
implemented as
from to
Participantspecification
executed_by
may use
Loop
Applicationdeclaration
*
* *
* *
**
** *
may use
*
Participantspecification
may reference
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 32
Process
• Workflow process (or procedure) is the automated parts of a business process
• A coordinated set of activity(s) that are connected in order to achieve a common goal.
• Example:– « order processing procedure » Engineering– « claims administration process » : Insurance
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 33
Activity
• The body of a work step of a process.– Compound activity: another process.– Elementary activity: a basic set of work;
sequential set of primitive actions executed by a signal participant.
• 3 modes: automatic, manual, mixed..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 34
Activity Example
• Process: «order equipment» has 3 work steps:1. Order entry
2. Credit check
3. Billing
4. Shipping
1. automatic; 2. manual; 3. automatic; 4. mixed
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 35
Activity Example
2. Credit check
2.1. log request
2.2 gather data
2.3 evaluate
2.4. fill out report form
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 36
Process instancestate-transition
Initiated
Suspended
Running Active
resume
restart
suspend
Completed
Terminated
Initiate
abort
terminate
Iterate through all active activities
start
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 37
Activity instancestate-transition
Initiated
Suspended
Running Active
resume
restart
suspend
Completed
Terminated
Initiate
abort
terminate
Iterate through all active activities
start
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 38
Transition information
• AND Join parallel activities converges into single activity with synchronization..
• OR join parallel activities converges into single activity without synchronization..
• AND Split single activity splits into two or more parallel activities ..
• Or Split single activity makes a decision upon which branch to take when encountered with multiple branches
• start, end...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 39
Transition information
A
B1
B2
B3
C
Parallel Processing
AND-split AND-join OR-split OR-join
A
B1
B2
B3
C
Conditional Branching
A
B1
B2
B3
C
Parallel Branching with final selection
Fork activityJoin activity
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 40
Example: Make some coffeeStart
Finish
A
BC
D
Start
Finish
A
B
C
D
A. Fill the kettle (Remplir la bouilloire)
B. Place coffee in cups
C. Heat the water
D. Pour hot water on coffee
A, B, C, D are activities Plans
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 41
Work case (Job)
• An instance of the process
• Has its own data
• Example:– 2 loans request from Micheal, Jean
=> 2 work cases– Micheal Loan request– Jean Loan request..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 42
Role
• Basis for access control and execution control.• The execution of activities is associated with roles
rather than end-user => flexibility; handle exception..
• Ex: “order entry activity” is executed by the order administrator (not by Micheal :-)
• Role: associated with an actor; a group of actors..
• Ex: order administrators; «send to all»
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 43
Participant
• A person, program, group or entity that can fulfill roles to execute, to be responsible for…
• Human participant is an actor...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 44
0,n
0,n
0,n
0,n
0,n
1,1
0,n
0,n
0,n
0,n
0,nnext
0,nprevious
1,n
1,n
Process Participant
Data
Activity
Role
Job
Implication
Precedence
Use
Play
Responsible
State
Execution
Workflow Conceptual Architecture
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 45
More About Activities
Join ConditionActivation Condition/Mode
Query on Organization BDProper Implantation
Exit Condition
TASK
UserIdImplementation
Worklist(UserID)Workitem1
workitem2
...
Workitems
Fine Structure of Activities
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 46
Activity state transition diagram
Inactive Ready Executing
InError Executed
CheckOutTerminated
Finished
ExpiredSkipped
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 47
Different Types of Activities
• Information Activity:– do some action (call a customer)
• Program Activity– separation between conceptual and implementation
– different implementation according to OS(Windows NT, AIX,..)
• Process activity:– activity is implemented by a subprocess..
• Bundle Activity:– executed multiple times (Compilation activity)..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 48
Subprocess
• Local subprocess
• Remote subprocess (same or different vendor WF)
• Subprocess behaves w.r.t its parent:– Autonomy model: his own life, not affected
when parent terminate….– Connected discrete Model– hierarchical Model
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 49
Autonomy model
• Has his own life
• Autonomy rules define relation with parent
• if completely autonomous then parent termination does not affect the subprocess
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 50
Connected Discrete Model• Two processes A, B..
• An activity of A causes the creation of an instance of B
• A and B are independent ...
• Chained services model
A1
A2
A3
A4
A5 B1
B2
B3
B4
B5
Process AProcess B
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 51
Hierarchical Model• Two processes A, B..• An activity of A causes creation of an instance of B• A waits B • Nested Model
A1
A2
A3
A4
A5 B1
B2
B3
B4
B5
Process AProcess B
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 52
Why Workflow Technology
• To streamline, coordinate and monitor an organizational process involving human and automated tasks spread across multiple enterprises with heterogeneous (existing and new) computing environment.
• Some products focus on one aspects of workflow technology, primarily to reduce paper work or coordinate activities among humans:– document management, e-mail routing, etc...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 53
Benefits of Workflow Technology• For customers:
– Gain improved insight into the processing of their work cases.
– Response time,
– Quality of services and accuracy of status are enhanced.
• At enterprise level– Organize, schedule, control and monitor process
– Improve productivity
– Reduce paper work…
– reinforces security and confidentiality ..
– The image of the enterprise is improved
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 54
Benefits of Workflow Technology
• For the enterprise staff– Employee has more accurate view of his tasks
– External pressures for increased efficiency– No need to spend time and effort to control the organization
of work cases...
– Internal pressure for increased effectiveness– Desire by workers for more reward and less stress !!
• For the line management (supervisors)– just in time information to make decision to improve
tasks !!
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 55
Benefits of Workflow Technology
• For the top management– formally describe the processes of an enterprise
– improve process
– Workflow also helps to quickly educate new or temporary actors.
• In general:– Support on-line data entry, Support data exchange and transactions
across independent enterprises (EDI)
– In most general form, workflow technology can be used to support programming-in-the-large..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 56
Be Careful !
• Workflow must be flexible…• Must not kill creativity of people..• Must be accepted by people..• No successful story of Wf from 1970 to 1980
because of people rejection (don’t take in consideration social and organization setting) …
• Workflow are people systems
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 57
Example Systems
• IBM FlowMark
• Action Workflow
• Polymer
• TeamWare Flow
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 58
TeamWare Flow
• Client/Server
• TeamWARE Flow:– server software,– a database, – a document management system, client tool
applications – and an Application Programming Interface
(RCAPI).
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 59
Architecture
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 60
TeamWare
• Server side:– data base (SQL server, Oracle or Sybase)
• data + process states and history..
– DMS : document attached to a process– BUS: TCP/IP..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 61
Workflow and Related Technologies
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 62
Workflow and Related Technologies
Workflow Technology
SystemManagement
Multidatabases
InternetApplication
Development
ObjectTechnology
Operating Systems
BusinessEngineering
MobileComputing
TransactionManagement
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 63
Research Discipline Contributing to Workflow Management
WfMSReengineeringmethodology
Quantitative andFormal Methods Organizational
Science
SGBD
CSCW
DistributedComputing
SoftwareEngineering
SoftwareProcess
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 64
Workflow and Objects
• What is the relationship between objects technology and workflow technology ?– Objects to implement activities…
– workflow as objects
• Component-based Software Construction
• OMG OO framework to manipulate workflow..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 65
Component-based Software Construction
• Use prefabricated software artifacts in building new applications functions…
• Artifact: “Business Object”
• Scripting: build new application function out of business objects
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 66
Business Objects
• Objects that are related to the business of the enterprise: customer, credits
• As software objects:– things from reality..
– self-contained entities: what can be done with…
– reusable: account object, payment, funds transfers,…
• object used for scripting applications functions components
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 67
Components technical proprieties
• Language independent …
• Interoperate with as many different tools as possible: capability to query metadata about itself..
• Interoperate across operating systems and networks..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 68
Scripting
• Plug components together..
• Script specifies in a simple way how component must behave: properties and methods…
• Scripting language: simple, no declaration...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 69
Example: The Loan Request Implemented with Objects
Amount
Credit
check
Customer
reject
ResponseLetter
confirmResponseLetter
cr.Amount()>10000
cr.Amount()<=10000 Cus.check= “OK”
The business objects methods are used to specify the proper sequencing...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 70
Utiliser visual builder: Example: Alarm Bean et JugglerBean...
Java beans
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 71
Scripting language vs process model
• Script must be specified as process model, if one on the following is true:– forward recoverable: problem during execution,
resuming execution where it left... • persistent state
– components run in parallel, distributed, in heterogeneous environment
• synchronization
– different programming language for the components
– backward recovery..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 72
Scripting language vs process model
• Component in script are not launched automatically but on explicit request from external parties..
• Data flow facilities: input parameters of a component are constructed from the output of several preceding components...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 73
Workflow and Objects
• OMG propose workflow management facility..• Add runtime functionality of a workflow
management system to an ORB (Object Request Broker)..
• OMG standard defines a collection of interfaces in IDL (process manager interface, activity interface,…)
• No implementation...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 74
Workflow and transactions
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 75
Why Transactional Workflow ?
Parts of Travel reservation of “traveluck”, Inc
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 76
Why Transactional Workflow ?
Data Sharing Semantics
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 77
Why Transactional Workflow ?
Failure Semantics
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 78
Transactional Requirements• Need to specify data sharing semantics• Need to specify failure semantics:
– which parts of workflow behave as a whole (atomically)
• Reliable workflow process requires transaction mechanism !
• Put the transactional properties:– at activity level: secure customer payment..
– at several activity level :consistency of the whole system..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 79
Standard Transactions• A transaction is a set of actions..• ACID Properties
– Atomic (all or nothing)
– Consistent (by the programmer)
– isolation (no visibility of intermediate results)
– Durable
• Correction Criterion: Serialisability– concurrent execution of transaction is correct if
equivalent to serial execution (same read set and final results..)
• Correction protocol : 2PL (2 Phases Locking)
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 80
Standard Transactions
• Distributed transaction (Global transaction): more than resource manager– hotel reservation, flight reservation..– Atomic commitment:
• 2PC protocol...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 81
Advanced transaction models
• A lot of models (database transaction Models, Ahmed K. Elmagarmid92)
– Nested transaction[Moss 82]..– Saga [Garcia-Molina and Salem 87]– ConTracts [Reuter 89]– Multi-bases transactions– S-transactions
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 82
Nested Transaction • Decompose a “large” transaction into a collection of
transactions..
t1
t12 t22
t21t22 t23 t24
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 83
Nested transactions• Each transaction can commit or abort
• The root transaction can commit or abort
• The commit of a transaction will only become effective if its predecessor transaction commits
• if a transaction aborts, all transctions of its subtree are aborted too.
• Modifications on resources of a transaction become visible to its immediate predecessor transction (« parent ») iff the transaction commits ...
• Modifications on resources of a transaction are only visible to the transaction itself and its successor transactions (« children ») ...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 84
Open Nested Transaction• Objective: increase the throughput …• idea : giving up the isolation properties
– the effects of a committed transaction are visible to all transaction and not only to its parents…
• Problem: t12 abort, t21 has committed– undo only t21 not possible and not sufficient, why ?
• Solution: compensation functions• Example:
– credit and debit, reserve and cancel…
– complex compensation: compensating deposit transaction after days !!!!!
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 85
Saga• Add the capability to automatically
determine and start compensation functions to the environment..
• A saga is defined as a sequence [(T1,C1),…(Tn,Cn)] that having the following properties:– T1,…Tn and C1,..Cn, Ci compensation
function of Ti
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 86
Saga
• [(T1,C1),…(Tn,Cn)] is executed as one of the following sequences:– a. [T1,…Tn] if all Ti committed– b. [T1…, Ti,Ci-1,….C1] if Ti aborts and
T1, …Ti-1 committed before
– used in (IBM FlowMark Workflow)...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 87
ConTracts
• A consistent and fault tolerant execution of an arbitrary sequence of predefined actions (called steps) according to an explicitly specified control flow description (script)
• A step an unit of work, is ACID transaction..
• Atomic works are implemented ...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 88
Forward Recovery
• For each step there is an compensating step
• This is not a rollback of the step…– the context of ConTract variables, windows, files,
data) execution is persistent
• There is a correction criterion for compensation...
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 89
S1 S2 S3 S4 S5 S1
S2
S2
Traveldatainput
Checkflight schedules
Flightreservation
Hotel reservation
Carrental
Print documents
S6 S7
failureBegin ofContract
End ofConTract
S8
Trip reservation
Cancel reservation
failure
3 airlinesare consulted
2 Hotel andcar companies
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 90
ConTracts
• Minimal loss of work in case of failures
• Forward recovery after a failure
• Fault-tolerant run-time system
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 91
(Distributed) Transaction Processing (DTP) Vs. Advanced WfMs
• DTP/D-OLTP is focused on efficient execution of relatively simple tasks with no coordination across heterogeneous tasks …
• Advanced Workflow requires coordinated execution of heterogeneous tasks, with varied level of transactional properties, on a variety of systems..
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 92
(Distributed) Transaction Processing (DTP) Vs. Advanced WfMs
Task groups in DTP
Task task1
Workflow group in advanced WF
task2
task3
task4
Claude Godart & Hala Skaf-Molli, ESSTIN & UFR STMIA, UHP, Nancy 1 93
Conclusion
• Transactions are important for reliable workflow semantics
• standard ACID transaction model too restricted for workflow
• Advanced transaction models can be a good solution...