Download presentation
Presentation is loading. Please wait.
Published byCaitlin Gedman Modified over 9 years ago
1
π 4 Technologies Building distributed systems using WS-CDL 10th June 2007 Steve Ross-Talbot Chair Pi4 Technologies Foundation CTO Hattrick Software Ltd Chair W3C Web Services Choreography WG Thanks to Pi4 Technologies Foundation Ltd (www.pi4tech.com)www.pi4tech.com Hattrick Software Ltd (www.hattricksoftware.com)www.hattricksoftware.com World Wide Web Consortium (Choreography Working Group)Choreography Working Group
2
π 4 Technologies Agenda Background – π 4 Technologies Foundation – Hattrick Software Ltd WS-CDL – Simple example – Case study Research
3
π 4 Technologies Background
4
π 4 Technologies π 4 Technologies Foundation Founded in November 2005 Kohei Honda, Nobuko Yoshida, Marco Carbone, Robin Milner, Steve Ross-Talbot, Gary Brown Enable collaborative research between industry and academia in applying formalisms to distributed systems development
5
π 4 Technologies π 4 Technologies Foundation Bi-directional (open format for collaboration) –Real world examples -> academia –Academia research -> industry Forums for discussion –www.pi4tech.orgwww.pi4tech.org Open source environment for research and development. (Apache 2.0) –CDL toolsuite –Advanced type system
6
π 4 Technologies π 4 Technologies Foundation Results so far: –CDL tool suite - eclipse-based community edition Modeling editor –Generation to wsdl, java, ws-bpel –Export to html, bpmn, ws-cdl, uml Scenarios –Editor –Validation –Vertical standards use (FpML, TWIST, ISO WG4) Modeling editor with wsdl, html, bpmn, ws-cdl and uml Scenrios editor and validation Complements existing vertical standards packs –Static »Document, Validated example message, XMLSchema, Example scenarios –Dynamic »Document, Validated example scenarios, WS-CDL description
7
π 4 Technologies π 4 Technologies Foundation An example in CDM
8
π 4 Technologies π 4 Technologies Foundation Exported to BPMN
9
π 4 Technologies π 4 Technologies Foundation Exported to HTML
10
π 4 Technologies π 4 Technologies Foundation Exported to HTML
11
π 4 Technologies π 4 Technologies Foundation Exported to CDL
12
π 4 Technologies π 4 Technologies Foundation Exported to CDL
13
π 4 Technologies π 4 Technologies Foundation Support for scenarios validated against the choreography
14
π 4 Technologies Hattrick Software Ltd Commercial entity charged with solving the problems of automation of OTC Derivatives Trading. –Long lived, complex peered processes in which parties may change roles –ClearGate generic WS-CDL-based protocol enforcer/monitor
15
π 4 Technologies WS-CDL
16
π 4 Technologies WS-CDL A language to describe the collaborative external observable behavior of a set of peered systems/services/applications as an ordered set of interactions over one or more logical channels that connect them.
17
π 4 Technologies Simple example BuyerSeller getQuote quoteResponse < 1000 units BuyerSeller getQuote quoteRejected >= 1000 units x
18
π 4 Technologies Simple example
19
π 4 Technologies Roles
20
π 4 Technologies Relationships and Participants
21
π 4 Technologies Channels and Info types
22
π 4 Technologies Bindings
23
π 4 Technologies Variables
24
π 4 Technologies Interactions
25
π 4 Technologies Choice
26
π 4 Technologies Workunits
27
π 4 Technologies Workunits
28
π 4 Technologies Workunits This is what we used
29
π 4 Technologies Workunits This is what we provide in the Pi4Tech tools for workunits
30
π 4 Technologies Theory Global Calculus –Distillation of WS-CDL –Reduction rules, etc End point Calculus –Correspondance to Global Calculus –Reduction riles, etc http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf GC EP r1 EP r2 EP rn End Point Projection
31
π 4 Technologies Theory http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf
32
π 4 Technologies Theory http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf
33
π 4 Technologies WS-CDL Benefits A complete and unambiguous description [of a distributed system] of how peered roles or participants should interact and the order in which these interactions should take place. Enables code generation for a distrbuted system (end point projections) and guarantees interoperability of that system by design. Enables us to ask questions of a system so described: –Is it free from deadlocks, livelocks and races?
34
π 4 Technologies Case Study FpML –Financial Products Markup Language –Policed by ISDA FpML today is –A set of documents that describe the structure of how to encode financial products in XML –XMLSchema to enable validation of correct message formats and a set of example messages –There are a set of sequence diagrams to govern when to send what to whom
35
π 4 Technologies Why WS-CDL? Consider the following: –Three companies wish to embark on a common business process. They are PartyA, PartyB and Confirmer. –PartyA: Is a seller selling some commodity –PartyB: Is a buyer buying some commodity –Confirmer: Acts as a central/brokered matching service that both PartyA and PartyB use to ensure that the contract between them matches (is valid). Confirming is legally binding.
36
π 4 Technologies Why WS-CDL? This is a distributed system in which no one company has dominion over any other. PartyA, PartyB and Confirmer are all peers. PartyA, PartyB and Confirmer could be different parts of the same company or different companies. PartyA, PartyB and Confirmer need to interact to progress some common goal such as buying and selling some goods.
37
π 4 Technologies Why WS-CDL? PartyAPartyB Confirmer 1 Confirm 2 3 4 Confirmed
38
π 4 Technologies Why WS-CDL? How we do this today using older technology: –XMLSchema, UML Activity Models, Sequence Diagrams, etc … How we do this with WS-CDL: –XML Schema, WS-CDL description, Scenarios/Sequence Diagrams, multiple formats for review
39
π 4 Technologies Today XMLSchema for data formats
40
π 4 Technologies Today
41
π 4 Technologies Today
42
π 4 Technologies Today
43
π 4 Technologies Today
44
π 4 Technologies Using WS-CDL Choreography description: Parallel { { // PartyA thread RequestTradeConfirmation [PartyA2Confirmer] RequestTradeMatch [Confirmer2Matcher] } // PartyA thread { // PartyB thread RequestTradeConfirmation [PartyB2Confirmer] RequestTradeMatch [Confirmer2Matcher] } ……. }
45
π 4 Technologies Using WS-CDL While (not inConfirm) { Choice { { // ---- Modification by PartyA ModifyTradeConfirmation [PartyA2Confirmer] ModifyTradeMatch [Confirmer2Matcher] } { // ---- Modification by PartyB ModifyTradeConfirmation [PartyB2Confirmer] ModifyTradeMatch [Confirmer2Matcher] } ……… }
46
π 4 Technologies Using WS-CDL Choice { …… Sequence { // ---- Confirmation process Choice { Sequence { // ---- TradeMatched ---- TradeMatched [Matcher2Confirmer] Parallel { { TradeMatched [Confirmer2PartyA] } { TradeMatched [Confirmer2PartyB] } } ConfirmTrade [PartyA2Confirmer] Parallel { { TradeConfirmed [Confirmer2PartyA] } } ….. } // End Choice } // End Sequence }
47
π 4 Technologies Using WS-CDL Choice { …… { // ---- TradeMismatched ---- TradeMismatched [Matcher2Confirmer] Parallel { { TradeMismatched [Confirmer2Alleger] } { TradeMismatched [Confirmer2Acceptor] } } { // Alleger cancels CancelTradeConfirmation [Alleger2Confirmer] CancelTradeMatch [Confirmer2Matcher] Parallel { { ConfirmationCancelled [Confirmer2Alleger]} { ConfirmationCancelled [Confirmer2Acceptor]} } ….. // same but other way around } // End Choice
48
π 4 Technologies Using WS-CDL
49
π 4 Technologies Question Trading System Trading System Confirmation System Matching System RequestTradeConfirmation RequestTradeMatch RequestTradeConfirmation ModifyradeConfirmation ModifyTradeMatch
50
π 4 Technologies Question Trading System Trading System Confirmation System Matching System RequestTradeConfirmation RequestTradeMatch RequestTradeConfirmation ModifyradeConfirmation ModifyTradeMatch Is this valid against our model?
51
π 4 Technologies Question Trading System Trading System Confirmation System Matching System RequestTradeConfirmation RequestTradeMatch RequestTradeConfirmation ModifyradeConfirmation ModifyTradeMatch Trade 99 Trade ABC Session Joining?
52
π 4 Technologies Completeness Sequence diagrams do not capture everything. WS-CDL does. It is unambiguous and precise.
53
π 4 Technologies Research
54
π 4 Technologies Future Directions WS-CDL 2 –Added participant instances, notifications, semantic annotations –Type system implementation Carbone et al Scribble - language for multicore, multi-process communication-based programming –Honda et al Two research project proposals –COWS: Contract Oriented Web Services –ModelWeb: Model-Driven Engineering of Policy- and Choreography- Based Web Services
55
π 4 Technologies Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.