Dancing with Services: WS-CDL Choreography Primer
430 likes | 470 Vues
Explore the evolution of WS-CDL choreography, its milestones from inception to present day, with examples and tools like graphical grammar and Java code generation. Learn the language for describing service behaviors in distributed systems.
Dancing with Services: WS-CDL Choreography Primer
E N D
Presentation Transcript
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)