Z39.50 search and retrieve turned into simpler web service
Wilbert Kraan, CETIS staff
November 27, 2002

With the launch of version 1.0 of Search and Retrieve Webservice/URL access mechanism (SRW/U) and the Common Query Language (CQL), webservice implementors of various hue now have a handier way to either expose their own databases, or search others'.

Z39.50 is a mature and well respected protocol for retrieving data from remote databases. More importantly, it is the kind of standard that large parts of the library and archive world rely on in numerous systems and at various levels. In short, it is not the kind of technology that you could throw out of the window to replace with something new- should you even want to. But, being twenty years old and pretty complex, some developers do wish something a bit simpler and easier to implement would be around.

That exactly is the purpose of both SRW/U and the CQL language that it leverages. The idea is to combine the many years experience of implementing Z39.50, and combine it with simple and robust modern webservice technology. Specifically, rather than making use of well managed, stateful database connections between two data repositories or gateways, SRW and SQL are intended for queries from client type systems. Consequently, it uses standard data formats like XML and XMLSchema and sends them over SOAP and even good old HTTP. If picked up by enough implementors, SRW should make integrated access to and interoperability between distributed databases smoother and easier.

On the technical side, that means quite a few simplifications from the Z39.50 standard. SRW, for example, doesn't have notions of connection, session or state. It simply makes use of the request - response model that practically all the web uses. Even better, queries can be sent out to databases encoded in plain URLs (hence the SRU bit), even if the response will be in SOAP. The query data model itself is also a bit simpler. Where Z39.50 requires a server and a database to be specified, SRW/U is happy with just a server. Which database is just another part of the query- if you're interested in that. In line with this web-like model, the CQL language and its XML version (xCQL) are intended to be human readable, and easier to construct generally.

Being a fresh 1.0 release, implementations are not especially numerous or mature yet, but there are enough for developer to use. E-learning professionals might be particularly interested in OCLC's experimental exposure of a collection of IMS metadata records via SRW/U, with Dublin Core (DC) and Learning Object Model (LOM) as metadata. Other implementors are focussing on the gateway aspect of the new spec. That is, SRW/U is specifically meant to facilitate the development of gateways between different information systems. It should be easy for institutions with existing Z39.50 targets to expose the same data using SRW/U as well.

More detail about the new specs is available from the Z39.50-International: Next Generation website.