Скачать презентацию π4 Technologies Building distributed systems using WS-CDL 10 Скачать презентацию π4 Technologies Building distributed systems using WS-CDL 10

30ca20bd144a73ab7ac9cd4999e235af.ppt

  • Количество слайдов: 55

π4 Technologies Building distributed systems using WS-CDL 10 th June 2007 Steve Ross-Talbot Chair π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 – – π4 Technologies Agenda • Background – π4 Technologies Foundation – • WS-CDL – – • Hattrick Software Ltd Simple example Case study Research

π4 Technologies Background π4 Technologies Background

π4 Technologies Foundation • Founded in November 2005 • Kohei Honda, Nobuko Yoshida, Marco π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 -> π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 π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 An example in CDM

π4 Technologies Foundation Exported to BPMN π4 Technologies Foundation Exported to BPMN

π4 Technologies Foundation Exported to HTML π4 Technologies Foundation Exported to HTML

π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 Exported to CDL π4 Technologies Foundation Exported to CDL

π4 Technologies Foundation Support for scenarios validated against the choreography π4 Technologies Foundation Support for scenarios validated against the choreography

π4 Technologies Hattrick Software Ltd • Commercial entity charged with solving the problems of π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

π4 Technologies WS-CDL A language to describe the collaborative external observable behavior of a π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 π4 Technologies Simple example Buyer Seller get. Quote quote. Response quote. Rejected < 1000 units x >= 1000 units

π4 Technologies Simple example π4 Technologies Simple example

π4 Technologies Roles π4 Technologies Roles

π4 Technologies Relationships and Participants π4 Technologies Relationships and Participants

π4 Technologies Channels and Info types π4 Technologies Channels and Info types

π4 Technologies Bindings π4 Technologies Bindings

π4 Technologies Variables π4 Technologies Variables

π4 Technologies Interactions π4 Technologies Interactions

π4 Technologies Choice π4 Technologies Choice

π4 Technologies Workunits π4 Technologies Workunits

π4 Technologies Workunits π4 Technologies Workunits

π4 Technologies Workunits This is what we used π4 Technologies Workunits This is what we used

π4 Technologies Workunits This is what we provide in the Pi 4 Tech tools π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, π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 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] π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 π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 π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 π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 π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: – π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 XMLSchema for data formats

π4 Technologies Today π4 Technologies Today

π4 Technologies Today π4 Technologies Today

π4 Technologies Today π4 Technologies Today

π4 Technologies Today π4 Technologies Today

π4 Technologies Using WS-CDL Choreography description: Parallel { { // Party. A thread Request. π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 { { // ---- π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 π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 π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 Using WS-CDL

π4 Technologies Question Trading System Confirmation System Matching System Request. Trade. Confirmation Request. Trade. π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 π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 π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 π4 Technologies Completeness • Sequence diagrams do not capture everything. • WS-CDL does. It is unambiguous and precise.

π4 Technologies Research π4 Technologies Research

π4 Technologies Future Directions • WS-CDL 2 – Added participant instances, notifications, semantic annotations π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 π4 Technologies Questions