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


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.



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.


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.


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.


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