430 likes | 456 Views
10th January 2005 Steve Ross-Talbot Pi4 Technologies. Dancing with Services. Agenda. Choreography WS-CDL Tools The future. Choreography - the beginning. Working Group formed January 2003 Initially tasked with defining business processes (aka BPML and BPEL) in a Web Service context
E N D
10th January 2005 Steve Ross-Talbot Pi4 Technologies Dancing with Services
Agenda • Choreography • WS-CDL • Tools • The future
Choreography - 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
Choreography - 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
Choreography - 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
WS-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
WS-CDL - Can I dance? The dancers: Are the services in an SOA The dance steps: Are the interactions
WS-CDL - Can I dance? Gateway svc asks Validation svc to validate trade
WS-CDL - Can I dance? Validation svc asks RefData svc to lookup various components as part of validation
WS-CDL - Can I dance? Once validation is complete Validation svc informs Gateway svc
WS-CDL - Can I dance? Gateway svc asks Transaction svc to persist the validated trade
WS-CDL - Can I dance? Transaction svc stores trade in Repository
WS-CDL - Can I dance? Gateway svc asks Cashflow svc and Confirm svc to execute in parallel
WS-CDL - Can I dance? Confirm svc communicates with various other svc’s
WS-CDL - Can I dance? RefDatasvc could have returned a fault to the Validationsvc because a counterparty was invalid
WS-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.
WS-CDL - Can I dance? Which may get fixed in-situ
WS-CDL - Can I dance? And so validation is repeated
WS-CDL - Can I dance? The Gateway svc is unaware that problems occurred and were fixed.
WS-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
WS-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.
WS-CDL - Can I dance? And the conversation over the services is terminated
WS-CDL - I can’t dance because … Gateway Validation RefData Exception Validation succeeds
WS-CDL - I can’t dance because … Gateway Validation RefData Exception Validation succeeds after a fix
WS-CDL - I can’t dance because … Gateway Validation RefData Exception The dance steps are incomplete. There are too many pages of instructions. Validation fails terminating the conversation
Gateway behaviour Validation behaviour RefData behaviour Exception behaviour WS-CDL - I can dance
WS-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
WS-CDL - Tools Graphical Grammar
WS-CDL - Tools Graphical Grammar
WS-CDL - Tools Graphical Grammar
WS-CDL - Tools Graphical Grammar
WS-CDL - Tools Code Generation and Deployment
WS-CDL - Tools Behavioral Monitor
WS-CDL - The future • Round tripping (Java2CDL and CDL2Java) • Liveness properties • Bisimulation (for conformance)