Download presentation
Presentation is loading. Please wait.
Published byAbigail Sharp Modified over 11 years ago
1
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Causality models for WS Choreography arkin@intalio.com
2
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. What its all about? Q: What is common to: Choreography and orchestration languages Workflow and B2B Process calculus and Petri net Reliable messaging, consensus algorithms A: They all talk about causality
3
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Causality? Captures the happens before relation between two things Usually talks about events: send/receive Synchronize between two activities by sending messages: Q: How do you know you are synchronized? A: You know the causal relation between events
4
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. WS Choreography in a nutshell A way to define causal relationship Between activities performed by different services Based on the definition of operations
5
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Long running interactions Involve multiple operations and flows in which things happen in parallel Different things but also n of the same thing Sequence, conditional, repetition We only know what happened after it happened We can define how things could possibly happen – the causal relationship
6
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Long running interactions (2) Modularity is important Build something once, reuse it in different contexts Build small things, compose into larger things – recursive Restriction on bi-lateral choreography is artificial and cant work
7
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Language requirements Capture casual relationship between send/receive Capture the causal relationship of things that happen Allow a thing to be defined once and used in different contexts Which also means being able to determine when two things are equivalent Allow relationships of things that happen in sequence, in parallel, alternative or repeatedly In fact, allow arbitrary relationships including cyclic graphs, n parallel flows Dont restrict how many things can be used Make it simple, elegant and minimal
8
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Formal model Ask smart questions about the definition Run simulation to get empirical results How often did it happen, how long did it take? Make predictions about what will happen Deadlock-free choreography Express things as formula How long to receive a quote from n suppliers
9
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Formal model requirements Language supported by some formal model Formal model maps to other formal models Formal model allows simulation, prediction and calculations Simple, elegant and minimalist formal model
10
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Process calculus п-calculus is the best known Action calculus is also interesting Colored PN -> п-calculus is easy п-calculus -> Mobile PN is easy Bi-graphs combine all of the above + graphs Mobility, replication and passing processes as data – describes how the Web works
11
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. The Language Defined so it can be reduced to the formal model No restriction on number of service types or services – does not lead to chaos Multiple forms of composition: Hierarchical (Q nested in P) Recursive (Q calls P) Cyclic (Q spawns P)
12
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. The Language (2) Not trivial to see how it supports cyclic graphs and n parallel flows Most people think recursively – stack activities on top of each other Familiarize yourself with the language and think in terms of reflexion
13
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Simple cyclic graph process A do something if repeatA spawn process A else spawn process B process B do something if repeatA spawn process A else spawn process C process C do something if repeatA spawn process A else if repeatB spawn process B else nothing
14
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Complexity More constructs than п-calculus Part is syntactic sugar – we use XML Part is advanced features – transactions, exceptions, time constraints The rest makes it easier to use with Web services Make the simple case simple
15
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Simplicity Use WSDL for interaction between loosely coupled services To coordinate activities inside service use call, spawn, join, etc Parallel flows across services – model Parallel flows at service – interface Parallel flows inside context – all Simple iteration using foreach, while, until
16
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Summary Propose a model for the language Propose WSCI as proof that it can be done And its simple Use WSCI + BPML to illustrate how well the model scales Simplicity zero learning curve – take the time to learn new technologies
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.