WebTrader: Discovery and Programmed Access to Web-Based Services
Venu Vasudevan 1 and Tom Bannon 2
{venu, bannon}@objs.com
1 Object Services and Consulting Inc., 1942 E. Todd
Drive, Tempe, AZ 85283
2 Object Services and Consulting Inc., 5111 Purdue Ave.,
Dallas, TX 75209
Abstract
As an increasing number services become web-enabled, the
web needs an infrastructure to automate the discovery of and access to
web services. Without this infrastructure, we are limited to accessing
services in isolation via interactive front ends. An effective service
discovery infrastructure will enable the construction of applications that
are dynamic ecologies of web components. Platform specific traders have
been implemented in AI and distributed object architectures, but are not
capable of catering to the diversity of web service implementations. This
paper describes the design and implementation of WebTrader, a trader that
handles the heterogeneity, scalability and evolution in a web-based service
market.
Keywords
web searching; agents; service discovery; web automation; trader; crawler;
metadata
Rationale
The web is seeing increased use as a platform for distributed applications.
These applications are composed of programs that access a variety of web-enabled
services. Since the web has no centralized administrative authority, services
may come and go, and their implementations, access interfaces and properties
may change continually. Constructing stable applications over an evolving
service market requires a dynamic application architecture, where services
can be discovered and bound to at runtime, and where bindings can be dynamically
created and modified. Motivating applications for such an architecture
include comparison shoppers and other kinds of
personal
agents . One way to achieve this is to create all the bindings indirectly,
by querying a service location service (aka trader). The application
can then change its bindings by re-executing its trader queries, querying
a different trader, or modifying the binding queries to change the overall
quality of service. In the personal navigator , for
instance, a mobile application "recontexts" itself to the local environment
by talking to the trader (and therefore the services) in its immediate
vicinity. This allows the application to reside on a thin-client, as it
uses the available services in its neighborhood for a good part of the
application logic.
Keyword-based document search engines cater to human retrieval of unstructured
content, and do not directly address the trading problem of accessing and
binding to structured services. Trader proposals in OMG and AI architectures
do not handle the variety of web-based service delivery mechanisms, and
do not use web protocols and interchange mechanisms. This paper describes
WebTrader,
an XML-based trader that supports web service location, and exploits web
search engines for scalable trading. Related papers discuss WebTrader
architecture and implementation and the use of composition
in flexible trading.
Implementation
The WebTrader follows the canonical trader architecture
in providing an interchange format for services to advertise their capabilities,
an offer repository to store collections of service advertisement, and
a matchmaker to match client queries to service advertisements. To cater
to web services and clients, WebTrader uses XML as the encoding format
for client queries and service advertisements, and uses document search
engines as a scalable and widely available offer repository.
Web-based services (and information sources) export their capabilities
as an XML service advertisement. The XML DTD for the advertisement
has sections for describing the interface, metadata (properties)
and searchKeywords. The interface section describes the operational
interface of the service, including its access protocol(s) and access methods.
The metadata section allows sets of instance-specific service properties
to be specified as name-value pairs. Typical service properties may include
the geographic location of a network gateway service, the fidelity and
accuracy of an interactive map service, the service cost and payment options
of a stock advisory service, and the languages supported by a text-to-speech
translation service. Services make themselves known to WebTrader
instances by publishing a service advertisement page (SAP) containing
one or more service advertisements, to search engines. WebTraders periodically
retrieve SAPs from search engines and provide matchmaking services to their
clients over the service advertisements contained in these SAPs. The searchKeywords
section of a service advertisement provides keywords that are used in indexing
the SAP (perhaps are HTML META tags). WebTraders query
for SAPs via search engines and provide
matchmaking services to their clients from the information
contained in these SAPs.
A client queries the WebTrader by advertising its needs in a client
advertisement. The XML structure of a client advertisement is very similar
to that of a service advertisement, with the difference being in the interpretation.
Metadata in the client advertisement states what the client needs as type
and property predicates. Type predicates indicate the interface requirements
that a matching service instance must satisfy, and property predicates
specify hard and soft requirements on the properties of a matching service
instance. A client queries the WebTrader by publishing the client advertisement
to the WebTrader, and receiving a page of matching bindings in return.
This binding data provides all the information a client needs to bind to
a matching service.
Multiple traders can cooperate by sharing service advertisements via
a search engine (indirect federation), or by advertising themselves as
services that can be used by other WebTraders (direct federation). In indirect
trader federation, a search engine operates as the common advertisement
repository that is shared by multiple traders. In direct federation, a
trader that is unable to find a satisfactory match for the client uses
the trading mechanism to find (and bind to) other WebTraders.
Since a WebTrader service is itself a service, direct trader federation
uses standard trading mechanisms.
In case of globally accessible search engines this offers an approach
to global trading of services. Local search engines that operate on a web
site or over an intranet provide service instances with a way to limit
the scope of their advertisement. The multiplicity of search engines, however,
creates a fragmentation problem in that the services a trader may want
to trade with may be advertised over a mix of search engines varying from
portals to web sites. DeepSearch provides a mechanism for a WebTrader
to view this collection of search engines as a single logical advertisement
repository. It does so by allowing search engines to advertise themselves
as services to other search engines. A WebTrader can then collection advertisements
from a single search engine (including ads to other search engines) and
choose to recursively search as many search engines as its matchmaking
algorithm wants to propagate through.
Use
WebTrader is being used in DARPA's Control of Agent-Based Systems
(CoABS) program, as part of an evacuation scenario demonstration. Efficiently
evacuating civilians from a country in regional conflict requires tracing
down and contacting the individuals, and executing their evacuation in
a planned manner. Much of the information for such an operation such as
the consulate "white pages" of civilians in the country, the addresses
of the hotels they are staying in, a map of the city and locations of these
hotels, are accessible as web-based services. The WebTrader is used by
the agent computation to locate and access these services in a coordinated
manner.
References
-
[Etzi97] Etzioni,O., A scalable comparison-shopping
agent for the World Wide Web, In Proceedings of Autonomous Agents '97
-
[Hode97] Hodes,T.D. et al., Composable
Ad hoc Mobile Services for Universal Interaction, UC Berkeley BMRC
Technical Report, 1997
-
[Vasu98a] Vasudevan,V., A
Reference Model for Trader-Based Distributed System Architectures,
OBJS
Technical Report, 1998
-
[Vasu98b]Vasudevan, V., Trading-Based
Composition for Component-Based Systems, Workshop on Compositional
Software Architectures, 1998
-
[Vasu99] Vasudevan,V. and Bannon, T., WebTrader:
Discovery and Programmed Access to Web-Based Services, OBJS Technical
Report, 1999
This research is sponsored by the Defense Advanced Research
Projects Agency and managed by the U.S. Army Research Laboratory under
contract DAAL01-95-C-0112. The views and conclusions contained in this
document are those of the authors and should not be interpreted as necessarily
representing the official policies, either expressed or implied of the
Defense Advanced Research Projects Agency, U.S. Army Research Laboratory,
or the United States Government.
© Copyright 1999. Object Services and Consulting,
Inc. Permission is granted to copy this document provided this copyright
statement is retained in all copies. Disclaimer: OBJS does not warrant
the accuracy or completeness of the information on this page.
Last Revised: April 1999