# /research/projects/webservices/default.htm

originally: http://www.oclc.org/research/projects/webservices/default.htm

# Search & Retrieve Web Service / Search & Retrieve URL Service

The SRW (Search & Retrieve Web Service) initiative is part of an international collaborative effort to develop a standard web-based text-searching interface. It draws heavily on the abstract models and functionality of Z39.50, but removes much of the complexity. SRW is built using common web development tools (WSDL, SOAP, HTTP and XML) and development of SRW interfaces to data repositories is significantly easier than for Z39.50. In addition, such arcane record formats as MARC and GRS-1 have been replaced with XML.

SRU (Search & Retrieve URL Service) is a URL-based alternative to SRW. Messages are sent via HTTP using the GET method and the components of the SRW SOAP request are mapped to simple HTTP parameters. The response to an SRU request is identical to the response to an SRW request, with the SOAP wrapper removed.

SRW/U is being deployed as the search API for the DSpace initiative. It is being considered as the standard search API by a number of communities, including the meta-searching and geospatial searching communities.

Visit the OCLC Research SRW/U Open Source Software (OSS) page to download free software that implements both the SRW Web Service and the SRU REST model interface to databases.

## Goal

The Office of Research's role in this project will be to develop:

- SRW/U Web Service standards
- a reference implementation.
- a DSpace Implementation
- an SRW-Z39.50 gateway

## Background

Classic Z39.50 has not been widely used by the Web community because it:

- is complicated
- requires connection-based sessions
- uses binary encoding
- is transmitted directly over TCP/IP.

On the other hand, it allows for:

- result sets
  - statefulness
- abstraction
  - abstract access points/attribute sets
  - abstract record schemas.

## The SRW project

SRW uses

- the Simple Object Access Protocol (known as SOAP) as the information-exchange mechanism, and
- the Web Service Description Language (WSDL) for record description.

In contrast to the eighteen native and extended services supported under classic Z39.50, SRW supports only one service:

- (SearchAndRetrieve).

SRW is semantically equivalent to classic Z39.50, which:

- makes gateways trivial
- preserves the experience of the Z39.50 community without the overhead of the standard aspects of SRW requests and responses

its common query language

- SRW supports the explain service
  - never practical in classic Z39.50

## SRU, too

SRU, or Search & Retrieve URL Service, can be thought of as SRW without the SOAP wrapper. SRU adds a ResponseSchema parameter and is intended for thin clients, where the browser is the application.

The market for SRU currently is underdeveloped, and it may be a while before the library community adopts it. It could show up in other communities first, and may be seen as a competitor with XML Query.

## Project Methodology

The SRW/U project will accomplish its goal by:

- contributing to the development of the SRW/U standards
- developing an Open Source SRW/U client and server
- hosting an SRW/U testbed for SRW and SRU clients and servers.

The testbed will provide clients with:

- a target server
- a known database
- a script of searches to be performed.

It will also:

- provide records for servers to use to build a known database
- host a client that will run a published script against registered servers.
  - Test results will be compared to benchmark tests.

The Open Source SRW/U Client and Server constitute reference implementations of SRW and SRU.

## Timing

The SRW/U standards development is following the model used by the OAI community. We will release a stable version 1.0 and then a new version 2.0 after gaining broader implementor experience. The testbed is due in December, 2002.

## Resources

- More information about SRW, SRU, and related initiatives is available on the Web at http://www.loc.gov/zing/
.
- Report of the April 2002 ZIG meeting at OCLC.

## Research team

- Ralph LeVan (Principal researcher)