web services choreography requirements
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 PresentationTRANSCRIPT
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
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
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.
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
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
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
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
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
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
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.
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
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
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.
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.
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.