NCSA
emerge@ncsa.uiuc.edu

Gazebo

Overview

Gazebo is internet server software which enables interoperable search across multiple, distributed, heterogeneous data collections. It's designed to allow lightweight, easy-to-construct clients to query and browse results from multiple data sources simultaneously. Like Z39.50, it's based on an abstract data and query model, but unlike Z39.50 it's also based on an abstract model of search attributes, which map to parameters passed to the target data sources. This mapping can be used to express semantic equivalences between difference metadata schemas and thus make interoperable search across heterogeneous data collections possible.

For instance, a bibliographic database might contain an Author - Personal Name attribute while a database of research proposals might contain a Principal Investigator attribute. An instance of Gazebo could be configured to map Author onto the two aforementioned attributes, respectively, so that a single Author query could be executed against both data sources simultaneously without additional user input.

Once a query is executed, Gazebo manages the set of results returned, much as in Z39.50. The client can request records in full or short form from the result set one at a time or in groups, and it can do so asynchronously as underlying data sources are executing queries.

Gazebo can return records in any text format. It also provides a way of post-processing records in any format (including binary formats) with external CGI scripts to convert them to a desired text format such as HTML. References to external binary objects can be returned as URLs.

Gazebo is designed support many search protocols on the back end, but we recommend that data providers standardize on Z39.50 and if necessary use software such as Gazelle to provide Z39.50 access to their data.

Gazebo's client interface is a simple langauge-neutral protocol based on XML. Using this protocol, a client can discover Gazebo's search attribute space (it's meta-metadata schema, if you will), perform queries, and receive results asynchronously. The Java Client Toolkit provides an object-oriented interface to this protocol.

Features

Planned Features