web services choreography requirements

15
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

Upload: step

Post on 21-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Web Services Choreography Requirements

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

Page 2: Web Services Choreography Requirements

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

Page 3: Web Services Choreography Requirements

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.

Page 4: Web Services Choreography Requirements

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

Page 5: Web Services Choreography Requirements

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

Page 6: Web Services Choreography Requirements

16/11/2003 6

Use Cases – Travel AgentPrimary Description

• A travel agent wants to offer to customers the ability to book complete packages that may consist of services offered by various providers

Page 7: Web Services Choreography Requirements

16/11/2003 7

Use Cases – Travel AgentInteractions

1. Client – requests information about various services2. Prices and availability matching the client request are

returned to the clienta. Refinement, selectionb. Reserve servicesc. Quit

3. Travel agent must check the availability of the requested services

4. Either: a. Reserveb. Give alternative or advise client to restart the search

5. Deposit for the reservation, credit card may be used6. The client is issued a reservation number7. The client may modify the reservation

Page 8: Web Services Choreography Requirements

16/11/2003 8

Use Cases – Travel AgentRequirements (I)

Use Case Requirement1. 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 Requirement1. 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

Page 9: Web Services Choreography Requirements

16/11/2003 9

Use Cases – Travel AgentRequirements (II)

Use Case Requirement4. Reference passing

5. Demarcate transactional boundaries

6. Variable timeouts to model different interactions

7. Express concurrent paths

Choreography Requirement3. 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

Page 10: Web Services Choreography Requirements

16/11/2003 10

Use Cases – Quote RequestPrimary 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.

Page 11: Web Services Choreography Requirements

16/11/2003 11

Use Cases – Quote RequestInteractions

1. Buyer – requests a quote from a set of suppliers2. 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 eithera. 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 messageb. The suppliers modify again the quote and send it back to the

buyerc. The suppliers reject the modified quoted. The quotes from the manufacturers need to be renegotiated by

the supplier

Page 12: Web Services Choreography Requirements

16/11/2003 12

Use Cases – Quote RequestRequirements

Use Case Requirement1. 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 Requirement1. 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

Page 13: Web Services Choreography Requirements

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.

Page 14: Web Services Choreography Requirements

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.

Page 15: Web Services Choreography Requirements

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.