Presentation is loading. Please wait.

Presentation is loading. Please wait.

16/11/2003 1 Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April 2004 W3C Working Draft.

Similar presentations


Presentation on theme: "16/11/2003 1 Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April 2004 W3C Working Draft."— Presentation transcript:

1 16/11/2003 1 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

2 16/11/2003 2 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

3 16/11/2003 3 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.

4 16/11/2003 4 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

5 16/11/2003 5 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

6 16/11/2003 6 Use Cases – Travel Agent Primary Description A travel agent wants to offer to customers the ability to book complete packages that may consist of services offered by various providers

7 16/11/2003 7 Use Cases – Travel Agent Interactions 1.Client – requests information about various services 2.Prices and availability matching the client request are returned to the client a.Refinement, selection b.Reserve services c.Quit 3.Travel agent must check the availability of the requested services 4.Either: a.Reserve b.Give alternative or advise client to restart the search 5.Deposit for the reservation, credit card may be used 6.The client is issued a reservation number 7.The client may modify the reservation

8 16/11/2003 8 Use Cases – Travel Agent Requirements (I) 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

9 16/11/2003 9 Use Cases – Travel Agent Requirements (II) 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

10 16/11/2003 10 Use Cases – Quote Request Primary Description A buyer interacts with multiple suppliers who in turn interact with multiple manufacturer in order to get a quote for some goods or services.

11 16/11/2003 11 Use Cases – Quote Request Interactions 1.Buyer – requests a quote from a set of suppliers 2.Supplier – sends requests for bills of material items to their respective manufacturers. 3.The suppliers interact with their manufacturers to build their quotes for the buyer. The eventual quote is then sent back to the buyer 4.Buyer either a.agrees and places the order b.modifies the quotes and sends them back to the suppliers 5.Either a.The suppliers agree with the modified quote and send confirmation message b.The suppliers modify again the quote and send it back to the buyer c.The suppliers reject the modified quote d.The quotes from the manufacturers need to be renegotiated by the supplier

12 16/11/2003 12 Use Cases – Quote Request Requirements 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

13 16/11/2003 13 Complete List of Choreography Requirements (I) 1.All specified choreography descriptions MUST be compatible with WSDL 2.0. 2.A choreography MUST be independent of implementation technology. 3.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. 4.A choreography language MAY provide a mean by which a choreography description can be bound to technologies other than WSDL 2.0. 5.A choreography MUST provide error handling capabilities. 6.A choreography language MUST be able to describe a timeout against any observable interaction. 7.A choreography language MUST be able to describe the handling of unexpected errors. 8.A choreography definition MUST enable a participant to point a deviation in a choreography.

14 16/11/2003 14 Complete List of Choreography Requirements (II) 9.A CDL MUST enable the definition of interactions between participants that are independent of message format. 10.It MUST be possible to pass participants identification data. 11.It MUST be possible to model message flows that repeat. 12.A CDL MUST provide the ability to add annotations. 13.A CDL MUST provide means of abstractions. 14.A CDL MUST be able to describe conditional behavior. 15.A CDL MUST enable the description of external observable behavior between participants. 16.A CDL MUST be able to describe multi-party interaction. 17.It MUST be possible to refer to a choreography from within its description. 18.A CDL MUST enable changes to bindings at run time to allow dynamic participation. 19.A CDL MUST enable the definition of synchronization points.

15 16/11/2003 15 Complete List of Choreography Requirements (III) 20.A CDL MUST provide mechanisms to support syntactic reuse. 21.A CDL MUST be able to describe sequences of dependent interactions and parallel interactions. 22.A CDL MUST enable validation of choreography definition for correctness properties, including: livelock, deadlock and leak freedom. 23.It MUST be possible to unambiguously reference a choreography. 24.A CDL MUST enable the generation of implementation code and test cases. 25.A CDL MUST be independent of business semantics. 26.A CDL MUST enable the specification of QoS properties. 27.A CDL MUST enable the demarcation of collaboration groups. 28.A CDL MUST enable the expression of static and dynamic timeouts. 29.A CDL MUST enable the determination of which collaboration group a message belongs to.


Download ppt "16/11/2003 1 Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April 2004 W3C Working Draft."

Similar presentations


Ads by Google