Building distributed systems using WS-CDL - PowerPoint PPT Presentation

About This Presentation
Title:

Building distributed systems using WS-CDL

Description:

Chair W3C Web Services Choreography WG. Thanks to ... Scribble - language for multicore, multi-process communication-based programming ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 56
Provided by: sari168
Category:

less

Transcript and Presenter's Notes

Title: Building distributed systems using WS-CDL


1
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)
  • Hattrick Software Ltd (www.hattricksoftware.com)
  • World Wide Web Consortium (Choreography Working
    Group)

2
Agenda
  • Background
  • p4 Technologies Foundation
  • Hattrick Software Ltd
  • WS-CDL
  • Simple example
  • Case study
  • Research

3
Background
4
p4 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
p4 Technologies Foundation
  • Bi-directional (open format for collaboration)
  • Real world examples -gt academia
  • Academia research -gt industry
  • Forums for discussion
  • www.pi4tech.org
  • Open source environment for research and
    development. (Apache 2.0)
  • CDL toolsuite
  • Advanced type system

6
p4 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
p4 Technologies Foundation
An example in CDM
8
p4 Technologies Foundation
Exported to BPMN
9
p4 Technologies Foundation
Exported to HTML
10
p4 Technologies Foundation
Exported to HTML
11
p4 Technologies Foundation
Exported to CDL
12
p4 Technologies Foundation
Exported to CDL
13
p4 Technologies Foundation
Support for scenarios validated against the
choreography
14
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
WS-CDL
16
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
Simple example
x
18
Simple example
19
Roles
20
Relationships and Participants
21
Channels and Info types
22
Bindings
23
Variables
24
Interactions
25
Choice
26
Workunits
27
Workunits
28
Workunits
This is what we used
29
Workunits
30
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/not
e.pdf
31
Theory
http//www.w3.org/2002/ws/chor/edcopies/theory/not
e.pdf
32
Theory
http//www.w3.org/2002/ws/chor/edcopies/theory/not
e.pdf
33
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
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
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
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
Why WS-CDL?
Confirmer
PartyA
PartyB
38
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
Today
XMLSchema for data formats
40
Today
41
Today
42
Today
43
Today
44
Using WS-CDL
Choreography description Parallel // PartyA
thread RequestTradeConfirmation
PartyA2Confirmer RequestTradeMatch
Confirmer2Matcher // PartyA thread //
PartyB thread RequestTradeConfirmation
PartyB2Confirmer RequestTradeMatch
Confirmer2Matcher .
45
Using WS-CDL
While (not inConfirm) Choice // ----
Modification by PartyA ModifyTradeConfirmation
PartyA2Confirmer ModifyTradeMatch
Confirmer2Matcher // ---- Modification
by PartyB ModifyTradeConfirmation
PartyB2Confirmer ModifyTradeMatch
Confirmer2Matcher
46
Using WS-CDL
Choice Sequence // ---- Confirmation
process Choice Sequence // ----
TradeMatched ---- TradeMatched
Matcher2Confirmer Parallel
TradeMatched Confirmer2PartyA
TradeMatched Confirmer2PartyB
ConfirmTrade PartyA2Confirmer Pa
rallel TradeConfirmed Confirmer2PartyA
TradeConfirmed Confirmer2PartyA
.. // End
Choice // End Sequence
47
Using WS-CDL
Choice // ---- TradeMismatched
---- TradeMismatched Matcher2Confirmer Par
allel TradeMismatched Confirmer2Alleger
TradeMismatched Confirmer2Acceptor
// Alleger cancels CancelTradeCo
nfirmation Alleger2Confirmer CancelTradeMatch
Confirmer2Matcher Parallel
ConfirmationCancelled Confirmer2Alleger
ConfirmationCancelled Confirmer2Acceptor
.. // same but other way around // End
Choice
48
Using WS-CDL
49
Question
50
Question
Is this valid against our model?
51
Question
Session Joining?
52
Completeness
  • Sequence diagrams do not capture everything.
  • WS-CDL does. It is unambiguous and precise.

53
Research
54
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
Questions
Write a Comment
User Comments (0)
About PowerShow.com