Usage Scenario: WSA + for Amazon


Name: WSA for AMAZON

Author(s): Massimo Paolucci

URL(s) or Other References

1. W3C Web Services Architecture draft document
2. Amazon web service description document
3. WSA ontologies in OWL: http://www.cs.cmu.edu/~paolucci/tmp/WSA-ontologies

Domain: Web Services for B2C (Selling books, CDs...)

Description

This is an attempt to describe the Amazon Web service using a OWL representation of the WSA ontologies. The aim of this attempt is to point out possible shortcomings of the WSA web service architecture as a basis for Semantic Web Services and to highlight where additional semantic information is needed.

Issues

This scenario is being developed to explore the consistency of the architectural model being developed by the W3C Web Services Architecture Working Group as a foundation for the SWSI Architectural extensions.

Actors & Goals

1. Amazon Web service
2. A potential Client

Modification History

Sept 22, 2003 Creation by Massimo Paolucci
Oct 13, 3003 Edited by Mark Burstein


Use Case: Amazon Web Service

Issues

Interaction with a publicly available web service that does not provide an explicit semantic representation.

The problems are the following:

  1. Provide a semantic representation of the messages to be exchanged with the Web services, specifically:
  2. Provide a mechanism that allows the non-semantically annotated data that the web service produces to be represented in a semantic form. In other words provide a translation form whatever format the data is transmitted in, to a format that allows inference on the client side.
  3. Provide knowledge of the status of the interaction so that the client knows what to do next to achieve its goals, and how to recover from failures if they happen.

Requirements

Open Commercial Web Service serving the general public.
Purchases by various electronic credit mechanisms.
Large inventory of different kinds of items.

Actors/Roles

Amazon Web Service (server / seller)
User (client/buyer)

Goals/Context

Client wants to browse, buy items.
Seller wants to sell, advertise.

Assumptions

Robust to client message errors, omissions.

Scenario/Steps

Amazon allows its clients to perform three types of operations:
  1. browse their book data base
  2. operate on a shopping cart
  3. reserve products by browsing first, and adding them to the shopping cart
It does not allow clients of services to buy anything (at least in the public version).

All searches are keyword based, so there is no ontology based search, but the keywords can be extracted from the definition of the objects. For example if I search for a book whose author is Tolstoy, then I can use Tolstoy as keyword in Amazon.

Another limitation is that there is no author or title search available, rather keywords can retrieve any product. During a demo we looked for book by Jeff Bradshaw and we got a book by Jeff XXX and yyy Bradoshaw.

Extensions

Amazon exposes only the interaction protocol in the sense of what information it reports and what information it requires. There is not representation of the internal state of the server. It is still an issue on how much of the interaction of the server should be exposed to allow the interaction, and whether there is a need for any exposure at all.

A second extension is that the interaction with Amazon is stricly client server, there is no possibility of a negotiation. For example, the client cannot ask Amazon for a book about a sunny place. There is no room in the interaction protocol for such a request.

Ontologies and Semantic Descriptions

DAML/OWL, OWL-S, an ontology of Amazon's products and its services.

Reasoning Techniques Required

Role of ontological reasoning:

The client has to make choices during the interaction: does it want to buy or just browse or just check what is in the shopping cart. To make this decision the client needs to be aware of its own goals, and to be able to match them with the information that is reported by the different branches of the interaction protocol. This matching requires an understanding of what data is produced by the web service. One way to achieve this understanding is to hardcode the previously agreed meaning of the terms in the messages exchanged. This is essentially what happens in the Web services world. The alternative is to reach an agreement on the ontologies (not the specific data) and reason about those ontologies.

Open Issues or Questions

This example only shows a typical client server model. That is, the client asks Amazon things that it wants to know or that it wants to have done, and Amazon acts consistently with the requests. It is unclear how it might be extended/modified to a peer-to-peer model.