150 likes | 280 Views
Web Services Choreography Requirements. Presenter: Emilia Cimpian, NUIG-DERI, 07April 2004. http://www.w3.org/TR/ws-chor-reqs/ W3C Working Draft 11 March 2004. Overview of Topics. Introduction What is a Web Service choreography How is a choreography used Benefits of choreography language
E N D
Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April 2004 http://www.w3.org/TR/ws-chor-reqs/ W3C Working Draft 11 March 2004
Overview of Topics • Introduction • What is a Web Service choreography • How is a choreography used • Benefits of choreography language • Use cases • Travel agent • Quote request • Functional requirements
Introduction (I)What is a Web Service Choreography • Concerns the observable interaction of services with their users; • Collaboration group – initiated at some source and runs through a set of WS and their clients • encompass the concepts: business transaction, ACID transaction, cohesion • Choreography description (CD) – a multi-party contract that describes from global view point the external observable behavior across multiple clients • Choreography description language (CDL) – the means by which such a contract is described.
Introduction (II)How is Choreography Used? • Precisely defines the sequence of interactions between a set of cooperating WS • Generates the necessary code skeletons that can be said to implement the required external observable behavior of a WS • Aids the testing of participating WS • Shows the presence of useful properties
Introduction (III)Benefits of Choreography Language • All uses of a choreography description necessitate the existence of a standardized language for the description of choreographies • Enables the construction of more robust WS • More effective interoperability • Reduces the cost of implementing WS • Increases the utility of WS
A travel agent wants to offer to customers the ability to book complete packages that may consist of services offered by various providers Use Cases – Travel AgentPrimary Description
Use Cases – Travel AgentInteractions • Client – requests information about various services • Prices and availability matching the client request are returned to the client • Refinement, selection • Reserve services • Quit • Travel agent must check the availability of the requested services • Either: • Reserve • Give alternative or advise client to restart the search • Deposit for the reservation, credit card may be used • The client is issued a reservation number • The client may modify the reservation
Use Case Requirement 1. Facilitate cancellation of orders and exception handling 2. Need callbacks to be able to express asynchronous interactions 3. Hierarchical decomposition to be able to reuse established choreographies Choreography Requirement 1. MUST provide error handling capabilities 2. MUST be able to describe the handling of unexpected errors 3. It MUST be possible to pass participants identification data 4. CD MUST enable a participant to point a deviation in a choreography 2. MUST be able to describe the handling of unexpected errors Use Cases – Travel AgentRequirements (I)
Use Case Requirement 4. Reference passing 5. Demarcate transactional boundaries 6. Variable timeouts to model different interactions 7. Express concurrent paths Choreography Requirement 3. It MUST be possible to pass participants identification data 5. CDL MUST enable the demarcation of collaboration groups 6. CDL MUST enable the expression of static and dynamic timeouts 7. CDL MUST be able to describe sequences of dependent interactions and parallel interactions Use Cases – Travel AgentRequirements (II)
A buyer interacts with multiple suppliers who in turn interact with multiple manufacturer in order to get a quote for some goods or services. Use Cases – Quote RequestPrimary Description
Use Cases – Quote RequestInteractions • Buyer – requests a quote from a set of suppliers • Supplier – sends requests for bills of material items to their respective manufacturers. • The suppliers interact with their manufacturers to build their quotes for the buyer. The eventual quote is then sent back to the buyer • Buyer either • agrees and places the order • modifies the quotes and sends them back to the suppliers • Either • The suppliers agree with the modified quote and send confirmation message • The suppliers modify again the quote and send it back to the buyer • The suppliers reject the modified quote • The quotes from the manufacturers need to be renegotiated by the supplier
Use Case Requirement 1. The ability to repeat the same set of interactions 2. Needs participants sets that may be bounded at design time, at runtime or not at all 3. Needs transactional boundaries to facilitate recovery 4. Reference a choreography from within a choreography Choreography Requirement 1. It MUST be possible to model message flows that repeat 2. CDL MUST enable changes to bindings at runtime to allow dynamic participation 3. CDL MUST enable the determination of which collaboration group a message belongs to 4. CD MUST enable a participant to point a deviation in a choreography Use Cases – Quote RequestRequirements
Complete List of Choreography Requirements (I) • All specified choreography descriptions MUST be compatible with WSDL 2.0. • A choreography MUST be independent of implementation technology. • A choreography MUST provide a global model for presenting its interactions from the point of view of all the parties and not from the point of view of just one party. • A choreography language MAY provide a mean by which a choreography description can be bound to technologies other than WSDL 2.0. • A choreography MUST provide error handling capabilities. • A choreography language MUST be able to describe a timeout against any observable interaction. • A choreography language MUST be able to describe the handling of unexpected errors. • A choreography definition MUST enable a participant to point a deviation in a choreography.
Complete List of Choreography Requirements (II) • A CDL MUST enable the definition of interactions between participants that are independent of message format. • It MUST be possible to pass participants identification data. • It MUST be possible to model message flows that repeat. • A CDL MUST provide the ability to add annotations. • A CDL MUST provide means of abstractions. • A CDL MUST be able to describe conditional behavior. • A CDL MUST enable the description of external observable behavior between participants. • A CDL MUST be able to describe multi-party interaction. • It MUST be possible to refer to a choreography from within its description. • A CDL MUST enable changes to bindings at run time to allow dynamic participation. • A CDL MUST enable the definition of synchronization points.
Complete List of Choreography Requirements (III) • A CDL MUST provide mechanisms to support syntactic reuse. • A CDL MUST be able to describe sequences of dependent interactions and parallel interactions. • A CDL MUST enable validation of choreography definition for correctness properties, including: livelock, deadlock and leak freedom. • It MUST be possible to unambiguously reference a choreography. • A CDL MUST enable the generation of implementation code and test cases. • A CDL MUST be independent of business semantics. • A CDL MUST enable the specification of QoS properties. • A CDL MUST enable the demarcation of collaboration groups. • A CDL MUST enable the expression of static and dynamic timeouts. • A CDL MUST enable the determination of which collaboration group a message belongs to.