Copyright © 2003 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensingrules apply.
1
1.1
1.1.1 D- US-002 - Quote Request
1.1.1.1 Primary description
1.1.1.2 Requirements
1.1.1.3 Variation on the use case
1.1.1.3.1 Variation 1
1.1.1.3.2 Variation 2
1.1.1.3.3 Variation 3
In this use case a buyer interacts with multiple suppliers who in turn interact with multiple manufacturers in order to get a quote for some goods or services. A concrete example might be for a company that wishes to purchase a fleet of cars from automobile suppliers which in turn request quotes for specific bill or material items from their component manufacturers. The basic steps of the interaction are listed below:
A buyer request a quote from a fixed set of suppliers.
All suppliers receive the request for quote and send requests for bill of material items to their relevant manufacturers.
The suppliers interact with their manufacturers to build their quotes for the buyer. The evential quote is then send back to the buyer.
EITHER
The buyer agrees with one or more of the quotes and places the order or orders. OR
The buyer responds to one or more of the quotes by modifying the quotes and sending them back to the relevant suppliers.
EITHER
The suppliers respond to a modified quote by agreeing to it and sending a confirmation message back to the buyer. OR
The supplier responds by modifying the quote and sending it back to the buyer and the buyer goes back to step 4. OR
The supplier responds to the buyer rejecting the modified quote. OR
The quotes from the manufacturers need to be renegotiated by the supplier. Go to step 3.
The use case is illustrated in the figure below.
Figure ? - .......................
The ability to repeat a set of interactions is needed. The interactions between supplier and manufacturers need only be defined once and then repeated for each supplier manufacturer interaction.
Needs variable timeouts because timeouts may differ from flight to flight and between carriers and so without it it would be impossible to express the timeout of a reservation in a choreography.
Needs variable participants that may be bounded or unbounded that may send quotes back to the travel agent. The number of participants maybe known at design time. The number of participants may only be known at runtime. The number of participants may only be observable.
Needs (observable) transactional boundaries to facilitate recovery in the event of a participant failure.
In this variation of the Quote Request use case a new manufacturer wishes to participate in the overall supply chain. They manufacture a component in a new way that makes them very competitive with their rivals and the suppliers certainly wish them to participate.
In order for them to participate they look for tools that can be used in conjunction with the existing CDL descriptions that the suppliers use in order to generate the web services required. In this case they use eclipse as their IDE with a WS-BPEL plug-in and the new W3C CDL plug-in from Acme Software Tools. The tool imports the CDL description and generates the necessary abstract WS-BPEL and the skeleton for the Web Service, which is in Java. This enables the new manufacturer to build the necessary web services to participate in the supply chain at a much lower entry cost that would have been possible otherwise.
Having created the necessary Web Services CDL IDE plug-in used the CDL description to generate test messages which are then played into the newly created Web Services. This further cuts the cost of this work and ensures that the Web Services conform to the contractual definition laid down by the CDL description that is in use by the existing suppliers.
Requirements for variation 1
A CDL description needs to participate in the generation of a CPL (which maybe WS-BPEL, Java, C# or some other executable language).
A CDL description needs to be able to participate in the generation of test messages.
Note:
These are not language requirement but a use of a CDL description that may inform the design of a CDL.