Skip to page content

Worldwide (English) Change
Research : Activities : SRW/U

SRW/U

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.

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
  • a Lucene Implementation
  • a Pears Implementation

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

Software

SRW/U

The SRW/U Open Source project offers software that implements both the SRW Web Service and the SRU REST model interface to databases. Included are interfaces that support DSpace's Lucene implementation and OCLC's Pears and Newton databases.

Background information about SRW/U

Powered By SRW/U

Applications running interfaces on top of our SRW server may display the "Powered By SRW/U" icon:

Powered by OCLC SRW/U

This icon can be added to your pages by copying the HTML fragment below:

<a href="http://www.oclc.org/research/software/srw">
<img src="http://www.oclc.org/research/images/badges/oclc_srwu.gif" 
alt="Powered by OCLC SRW/U" width="80" height="15"/></a>

The SRW server depends on its underlying database technology. In one instance, SRW is built on top of OCLC Research's Open Source Gwen Search Engine and Pears Database Engine. SRW is also distributed as part of DSpace and uses DSpace's underlying Lucene and PostgreSQL databases.

License

This software may be used without charge in accord with the terms of the OCLC Research Public License. A PDF version of the license also is available. (PDF:130K/3pp.)

As of 2006 we are issuing software under the Apache License, Version 2.0.

If you would like to use this software under the Apache license, please contact us and we may be able to update the software to use the Apache license.

Distribution

The SRW/SRU server code and documentation are now hosted on Google™ Code, at http://code.google.com/p/oclcsrw/.

Related pages

Project Lead




Last update: 11 August 2009.