Title: Dancing with Services
1Dancing with Services
- 10th January 2005
- Steve Ross-Talbot
- Pi4 Technologies
2Agenda
- Choreography
- WS-CDL
- Tools
- The future
3Choreography - the beginning
- Working Group formed January 2003
- Initially tasked with defining business processes
(aka BPML and BPEL) in a Web Service context - Focus became a behavioral contract language for
distributed systems
4Choreography - milestones
- Requirements document published in
- Invited experts (Milner, Honda, Yoshida) joined
in - Published first draft of WS-CDL in
- Published last call draft of WS-CDL in
- Published candidate recommendation draft of
WS-CDL in - Published working draft of WS-CDL primer in
5Choreography - today
- Primer likely to be published as a working note
end Q1 2006 - Formal underpinnings likely to be published as a
working note Q22006 - Implementations ..
- Pi4 Technologies (www.pi4soa.org)
- Imperial College
- Trustcom
- One other
- Users .
- 3 vertical standards organisations
- 2 Banks
- 1 Telco
6WS-CDL
- An XML language for describing the behavioral
contract of collections of peered services in
order to achieve some goal - Akin to UML sequence diagrams with no ambiguities
and a robust behavioral type system
7WS-CDL - Structure
8WS-CDL - An example
9WS-CDL - An example
10WS-CDL - An example
11WS-CDL - An example
12WS-CDL - An example
13WS-CDL - Structural clarity
14WS-CDL - Structural clarity
15WS-CDL - Can I dance?
The dancers Are the services in an SOA The
dance steps Are the interactions
16WS-CDL - Can I dance?
Gateway svc asks Validation svc to validate trade
17WS-CDL - Can I dance?
Validation svc asks RefData svc to lookup various
components as part of validation
18WS-CDL - Can I dance?
Once validation is complete Validation svc
informs Gateway svc
19WS-CDL - Can I dance?
Gateway svc asks Transaction svc to persist the
validated trade
20WS-CDL - Can I dance?
Transaction svc stores trade in Repository
21WS-CDL - Can I dance?
Gateway svc asks Cashflow svc and Confirm svc to
execute in parallel
22WS-CDL - Can I dance?
Confirm svc communicates with various other svcs
23WS-CDL - Can I dance?
RefData svc could have returned a fault to the
Validation svc because a counterparty was invalid
24WS-CDL - Can I dance?
As a result of a fault the Validation svc sends
the Exception svc a message to alert someone of
the problem.
25WS-CDL - Can I dance?
Which may get fixed in-situ
26WS-CDL - Can I dance?
And so validation is repeated
27WS-CDL - Can I dance?
The Gateway svc is unaware that problems occurred
and were fixed.
28WS-CDL - Can I dance?
But the Exception svc might not be able to fix
the problem. It sends a fault back to the
Validation svc
29WS-CDL - Can I dance?
Which enables an exception block in which a
further message is sent from the Validation svc
to the Exception svc to inform someone of a major
problem.
30WS-CDL - Can I dance?
And the conversation over the services is
terminated
31WS-CDL - I cant dance because
Gateway
Validation
RefData
Exception
Validation succeeds
32WS-CDL - I cant dance because
Gateway
Validation
RefData
Exception
Validation succeeds after a fix
33WS-CDL - I cant dance because
Gateway
Validation
RefData
Exception
The dance steps are incomplete. There are too
many pages of instructions.
Validation fails terminating the conversation
34WS-CDL - I can dance
35WS-CDL - Tools
- Open Source www.pi4soa.org Eclipse plugins
- Validating editor (graphical and tree based)
- Behavioral Monitoring
- CDL2Java (1.4, 1.5), CDL2BPEL (1.X, 2.0) ,
CDL2WSDL (1.1, 2.0), CDL2EPP - Project members
- Steve Ross-Talbot, Gary Brown (lead), Nobuko
Yoshida, Kohei Honda, Marco Carbone, Robin
Milner, Charlton Barretto - Custodian www.pi4tech.com
- A new way to engage with academia
- Royalty free
- IP free
36WS-CDL - Tools
Graphical Grammar
37WS-CDL - Tools
Graphical Grammar
38WS-CDL - Tools
Graphical Grammar
39WS-CDL - Tools
Graphical Grammar
40WS-CDL - Tools
Code Generation and Deployment
41WS-CDL - Tools
Behavioral Monitor
42WS-CDL - The future
- Round tripping (Java2CDL and CDL2Java)
- Liveness properties
- Bisimulation (for conformance)
43The End