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:
-
Provide a semantic representation of the messages to be exchanged with
the Web services, specifically:
- a representation of the interaction protocol
- a representation of the data that is exchanged with the Web service
- 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.
- 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:
- browse their book data base
- operate on a shopping cart
- 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
- Description Logics reasoning to identify the different types of objects
- Ability to follow a process model
- Ability to interact with the web service using SOAP/HTTP protocol
- Forward reasoning to decide which branch of the Process Model to follow
at any given time.
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.