
30ca20bd144a73ab7ac9cd4999e235af.ppt
- Количество слайдов: 55
π4 Technologies Building distributed systems using WS-CDL 10 th June 2007 Steve Ross-Talbot Chair Pi 4 Technologies Foundation CTO Hattrick Software Ltd Chair W 3 C Web Services Choreography WG Thanks to Pi 4 Technologies Foundation Ltd (www. pi 4 tech. com) Hattrick Software Ltd (www. hattricksoftware. com) World Wide Web Consortium (Choreography Working Group)
π4 Technologies Agenda • Background – π4 Technologies Foundation – • WS-CDL – – • Hattrick Software Ltd Simple example Case study Research
π4 Technologies Background
π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
π4 Technologies Foundation • Bi-directional (open format for collaboration) – Real world examples -> academia – Academia research -> industry • Forums for discussion – www. pi 4 tech. org • Open source environment for research and development. (Apache 2. 0) – CDL toolsuite – Advanced type system
π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 (Fp. ML, TWIST, ISO WG 4) • 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
π4 Technologies Foundation An example in CDM
π4 Technologies Foundation Exported to BPMN
π4 Technologies Foundation Exported to HTML
π4 Technologies Foundation Exported to HTML
π4 Technologies Foundation Exported to CDL
π4 Technologies Foundation Exported to CDL
π4 Technologies Foundation Support for scenarios validated against the choreography
π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 – Clear. Gate generic WS-CDL-based protocol enforcer/monitor
π4 Technologies WS-CDL
π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.
π4 Technologies Simple example Buyer Seller get. Quote quote. Response quote. Rejected < 1000 units x >= 1000 units
π4 Technologies Simple example
π4 Technologies Roles
π4 Technologies Relationships and Participants
π4 Technologies Channels and Info types
π4 Technologies Bindings
π4 Technologies Variables
π4 Technologies Interactions
π4 Technologies Choice
π4 Technologies Workunits
π4 Technologies Workunits
π4 Technologies Workunits This is what we used
π4 Technologies Workunits This is what we provide in the Pi 4 Tech tools for workunits
π4 Technologies Theory • Global Calculus GC – Distillation of WS-CDL – Reduction rules, etc End Point Projection • End point Calculus – Correspondance to Global Calculus – Reduction riles, etc EPr 1 EPr 2 http: //www. w 3. org/2002/ws/chor/edcopies/theory/note. pdf EPrn
π4 Technologies Theory http: //www. w 3. org/2002/ws/chor/edcopies/theory/note. pdf
π4 Technologies Theory http: //www. w 3. org/2002/ws/chor/edcopies/theory/note. pdf
π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?
π4 Technologies Case Study • Fp. ML – Financial Products Markup Language – Policed by ISDA • Fp. ML 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 a set of sequence diagrams to govern when to send what to whom
π4 Technologies Why WS-CDL? • Consider the following: – Three companies wish to embark on a common business process. They are Party. A, Party. B and Confirmer. – Party. A: Is a seller selling some commodity – Party. B: Is a buyer buying some commodity – Confirmer: Acts as a central/brokered matching service that both Party. A and Party. B use to ensure that the contract between them matches (is valid). Confirming is legally binding.
π4 Technologies Why WS-CDL? • This is a distributed system in which no one company has dominion over any other. • Party. A, Party. B and Confirmer are all peers. • Party. A, Party. B and Confirmer could be different parts of the same company or different companies. • Party. A, Party. B and Confirmer need to interact to progress some common goal such as buying and selling some goods.
π4 Technologies Why WS-CDL? Confirmed 4 2 3 1 Confirmer Confirmed Party. A Confirmed Confirm Party. B
π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
π4 Technologies Today XMLSchema for data formats
π4 Technologies Today
π4 Technologies Today
π4 Technologies Today
π4 Technologies Today
π4 Technologies Using WS-CDL Choreography description: Parallel { { // Party. A thread Request. Trade. Confirmation [Party. A 2 Confirmer] Request. Trade. Match [Confirmer 2 Matcher] } // Party. A thread { // Party. B thread Request. Trade. Confirmation [Party. B 2 Confirmer] Request. Trade. Match [Confirmer 2 Matcher] } } ……. }
π4 Technologies Using WS-CDL While (not in. Confirm) { Choice { { // ---- Modification by Party. A Modify. Trade. Confirmation [Party. A 2 Confirmer] Modify. Trade. Match [Confirmer 2 Matcher] } { // ---- Modification by Party. B Modify. Trade. Confirmation [Party. B 2 Confirmer] Modify. Trade. Match [Confirmer 2 Matcher] } ……… } }
π4 Technologies Using WS-CDL Choice { …… Sequence { // ---- Confirmation process Choice { Sequence { // ---- Trade. Matched ---Trade. Matched [Matcher 2 Confirmer] Parallel { { Trade. Matched [Confirmer 2 Party. A] } { Trade. Matched [Confirmer 2 Party. B] } } Confirm. Trade [Party. A 2 Confirmer] Parallel { { Trade. Confirmed [Confirmer 2 Party. A] } } } …. . } // End Choice } // End Sequence }
π4 Technologies Using WS-CDL Choice { …… { // ---- Trade. Mismatched ---Trade. Mismatched [Matcher 2 Confirmer] Parallel { { Trade. Mismatched [Confirmer 2 Alleger] } { Trade. Mismatched [Confirmer 2 Acceptor] } } } { // Alleger cancels Cancel. Trade. Confirmation [Alleger 2 Confirmer] Cancel. Trade. Match [Confirmer 2 Matcher] Parallel { { Confirmation. Cancelled [Confirmer 2 Alleger]} { Confirmation. Cancelled [Confirmer 2 Acceptor]} } } …. . // same but other way around } // End Choice
π4 Technologies Using WS-CDL
π4 Technologies Question Trading System Confirmation System Matching System Request. Trade. Confirmation Request. Trade. Match Modifyrade. Confirmation Modify. Trade. Match Trading System
π4 Technologies Question Trading System Confirmation System Request. Trade. Confirmation Matching System Is this valid against our Request. Trade. Match model? Modifyrade. Confirmation Modify. Trade. Match Request. Trade. Confirmation Request. Trade. Match Trading System
π4 Technologies Question Trading System Confirmation System Matching System Trading System Request. Trade. Confirmation Trade 99 Session Joining? Request. Trade. Match Modifyrade. Confirmation Trade 99 Modify. Trade. Match Request. Trade. Confirmation Request. Trade. Match Trade ABC
π4 Technologies Completeness • Sequence diagrams do not capture everything. • WS-CDL does. It is unambiguous and precise.
π4 Technologies Research
π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 – Model. Web: Model-Driven Engineering of Policy- and Choreography- Based Web Services
π4 Technologies Questions
30ca20bd144a73ab7ac9cd4999e235af.ppt