1 Formal Models for Distributed Negotiations Workflows, BizTalk and ZSN Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas (ECI 2003), Buenos Aires, July
Formal Models for Distributed Negotiations2 Microsoft© BizTalk Orchestration Visual Designer Commercial WMS Designed for process orchestration DTC for handling distributed business processes in asynchronous environment BizTalk includes a graphical environment Three different views integrated Flowchart view Implementation view Data flow view We focus on the flowchart view
Formal Models for Distributed Negotiations3 Workflows Coordinated execution of multiple tasks following a schedule Transactional mechanisms guarantee “correct” executions Correctness does not imply serializability Independent applications and DBs Coordination of applications, not just DBMS
Formal Models for Distributed Negotiations4 Transactional Workflows Contracts steps are ACID transactions steps are composed in scripts (i.e.WFs) relations between scripts T1 (S1 … Sn) // T1 is the atomic execution of S1 … Sn T2 …… DEPENDENCY(T1 aborts[1] begin T1) // retry T1 once… DEPENDENCY(T1 aborts[2] begin T2) // … not twice
Formal Models for Distributed Negotiations5 Transactional Workflows Contracts Meteor Tasks as FSMs visible states permissible transitions abstract functionalities Dependencies between tasks [TASK,Executing] Enables [SUBTASK1,start] [TASK,Executing] Enables [SUBTASK2,start] [SUBTASK1,Done] & [SUBTASK2,Done] Enables [TASK, end] Done Executing Initial TASK Failed end DoneAborted Executing Initial SUBTASK2 Aborted Initial SUBTASK1 Done Executing start
Formal Models for Distributed Negotiations6 Transactional Workflows Contracts Meteor Biztalk process as flowcharts graphical environment short, timed, long transactions one entry / exit point DTC for 2PC: BizTalk Server on-failure processes / compensations SHAPES begin / end action decision while fork join transaction abort
Formal Models for Distributed Negotiations7 Transactional Workflows Contracts Meteor Biztalk process as flowcharts graphical environment short, timed, long transactions one entry / exit point DTC for 2PC: BizTalk Server on-failure processes / compensations F 1,C 1 F 2,C 2 begin end
Formal Models for Distributed Negotiations8 From BizTalk to Zero-Safe Nets Zero-Safe nets offer a suitable semantic framework for interpreting BizTalk diagrams for short transactions BizTalk diagrams can be easily translated in ZSN The translation suggests that the limitation of unique entry / exit point can be relaxed Multiple entry / exit points Multiway transactions
Formal Models for Distributed Negotiations9 BizTalk Graphical Environment SHAPES begin / end action decision while fork join transaction abort begin compute end send a (v) v a receive b (x) x b a flowchart begin send a (v) receive b (x) compute end v a x b a transaction
Formal Models for Distributed Negotiations10 A Rendez-Vous in BizTalk begin send a (v) receive b (x) compute end v a x b begin receive a (y) send b (u) compute end y u AB a,b transactional channels makes DTC aware of the cooperation A and B must commit / abort together (logically belong to the same transaction)
Formal Models for Distributed Negotiations11 BizTalk Without (Transaction) Boxes begin send a (v) receive b (x) compute end v a x b begin receive a (y) send b (u) compute end y u AB Color shapes within the same box with a distinguished color Shapes outside boxes stay the same
Formal Models for Distributed Negotiations12 BizTalk Without (Transaction) Boxes but With Places begin send a (v) receive b (x) compute end v a x b begin receive a (y) send b (u) compute end y u AB Small circles are addedd: in between arrows connecting shapes of the same color and for representing transactional channels Large circles are added: in between arrows connecting shapes of different colors and for representing non-transactional channels
Formal Models for Distributed Negotiations13 Multiway transaction BizTalk via Zero-Safe Nets Stable places: Large circles begin / end shapes Zero places: Small circles Transitions: Action shapes begin send a (v) receive b (x) compute end v a x b begin receive a (y) send b (u) compute end y u AB
Formal Models for Distributed Negotiations14 Recap We have seen Flowchart view of BizTalk Encoding BizTalk graphs in ZSN Handling multiway transactions is natural Dynamic boundaries of transactions Formal semantics Abstract / refined view
Formal Models for Distributed Negotiations15 References Orchestrating transactions in join calculus (Proc. CONCUR 2002, LNCS 2421, pp ) R. Bruni, C. Laneve, U. Montanari