Conversation Protocols of Car dealer / Bookseller Services
Name: Conversation Protocol of the book purchase service
Author(s): Boualem Benatallah, Fabio Casati, Farouk Toumani
URL(s) or other references:
References: 1. B. Benatallah, F. Casati, F. Toumani and R. Hamadi, Conceptual Modeling of Web Service Conversations, In J. Eder and M. Missikoff eds, Advanced Information Systems Engineering, 15th International Conference (CAiSE'03), Klagenfurt, Austria, June 16-18, 2003, Springer, pp. 449-467, LNCS 2681;
Domains: searching and selling books
A bookstore provides a portal that allows user to search and buy books. This use case attempts to describe the conversation protocols of these services (i.e, operations, their implications and effects from user perspective, activation properties).
The main purpose for this scenario is to understand and make explicit the need for semantic at the protocol level, that is, the need for endowing protocol specifications with semantic annotation so that both the users and the middleware are aware of the implications (effects) of invoking a certain operation when the service is in a certain state. The bookseller service is just a motivating example to motivate the need for semantic annotation in protocol definition languages such as BPEL, WSCL, WSCI, and the like.
The Web services of the Booksellers and of the customers are the main actors for this specific use case. Semantic annotations are however meant to be "consumed" by both developers (typically, developers of the customer's web service) to understand how to write applications that correctly interact with the bookseller's service, and by the semantic web services middleware, at runtime, to execute actions as prescribed by the annotations.
Interested parties are the bookseller, the customer, and middleware vendors. On the service provider's (bookseller's) side, a richer protocol language enables the definition of more sophisticated behavior (in the specific example of a bookseller, this may include specifying different "penalties" for the cancellation of an order, and different constraints to denote when an order can be cancelled).
On the client's side, the interest lies in easier understanding of the service's behavior and in the simplified development, thanks to the additional support that is enabled by design and runtime tools that are aware of the semantic annotations and of how to leverage them.
On the middleware vendor's side,
Bookseller's conversation protocol
Same as scenario actors
search and order books
The steps of the conversation protocol of the booksellers are described in [REF1]:
This includes searching for a book, ordering a book, cancelling an order (before the shipment of the book), shipping a book, returning a book (this is allowed with a period of time).
1. A buyBook transition can be canceled only within a certain time interval T_max
2. if it is canceled before T_min, there are no penalties
3. if it is canceled after T_min but before T_max, shipping expenses have to b refunded.
. In the bookseller's example, a used copy of a book can be reserved (locked), but only for a certain period of time. After this period, the lock expires. In a variation of the scenario, one can think that the "locking" is only available to certain customers ("gold" customers), or at a cost.
For both activation and completion abstractions, the issue is how to semantically characterize the definition of each state transition in the protocol. The characterization may be horizontal or vertical. Horizontal semantic annotations are not specific to any vertical domain, but are instead generally applicable to characterize the behavior of many different services. The examples provided above are horizontal, as they deal generically with "cancellation", "time", and "cost".
Other semantic abstractions/annotations can be vertical. For example, the bookseller can state in the protocol definition that the effect of a certain state transition (triggered by an operation invocation) consists in activating a subscription to a journal.