ELAG 2004 Workshop – ZING.

Version 1, 12/04/04, Bill Oldroyd,
British Library

ZING - Z39.50 International: Next Generation

Information about ZING is
maintained by
the Z39.50 Maintenance Agency at the Library of Congress :

ZING is an
initiative taken by the Z39.50 Implementors Group
at the ZIG Meeting in Boston Spa, 2001.

To quote from the ZING home page :

covers a number of initiatives by Z39.50 implementors to make the
intellectual/semantic content of Z39.50 more broadly available and to
make Z39.50 more attractive to information providers, developers,
and users, by lowering the barriers to implementation while preserving
existing intellectual contributions of Z39.50 that have accumulated
over nearly
20 years

ZING initiatives are SRW (including SRU), CQL, ZOOM, ez3950, and
ZeeRex. Some
(for example, SRW/U) seek to evolve Z39.50 to a more mainstream
protocol, while
for others (e.g. ZOOM) the purpose is to preserve the existing protocol
hide its complexity

Defining the initiatives in
more detail and providing links to further information, the home page
and other pages state :

SRW / SRU :  Search / Retrieve for the Web

Home Page
| Implementors

SRW, the Search/Retrieve Webservice, is an XML oriented protocol
designed to be a low barrier to entry solution to performing searches
and other information retrieval operations across the Internet. It uses
existing, well tested and easily available technologies such as SOAP
and XPath in order to perform what has been done in the past using
proprietary solutions. The design has been informed by 20 years of
experience with the Z39.50 information retrieval protocol, and is both
robust and easy to understand while still retaining the important
aspects of its predecessor.

The protocol has two ways that it can be carried, either via SOAP or
parameters in a URL. This second form is called SRU — SearchRetrieve
URL. Other transports would also be possible, for example simple XML
over HTTP, but these are not defined by the current standard. As SRU
does not carry the request in an XML form, we talk about request
parameters rather than elements within a request XML schema.

The above taken from the informal
introduction here
. See also the 500 word

CQL – Common Query Language

Home Page
| Tutorial
| Context

CQL’s goal is to combine the simplicity and intuitiveness of google
searching with the expressive power of the Z39.50 Type-1
. Just as the Unix shells allow users to begin with very
simple commands, and work their way up to arbitrarily complex
expressions, so CQL is intended to “do what you mean” for simple,
everyday queries, while also providing the means to express more
complex concepts when necessary.

To understand CQL it is best to read
the Tutorial

ZOOM  – the Z39.50 Object-Orientation Model

Home | Specification of the
abstract API

| Bindings to various
and their implementations

The ZOOM initiative presents an abstract object-oriented API to a
subset of the services specified by the Z39.50 standard, also known as
the international standard ISO 23950. ZOOM provides software developers
with an easy-to-use toolkit for building any kind of Z39.50 client or
client-based service.

The API is:

  • Abstract because we don’t want to limit its use to a single
    implementation language.
  • Object-oriented because the services lend themselves naturally to
    this widespread idiom.
  • For a subset of the full Z39.50 services because at this stage
    simplicity is more important than completeness.

The ZOOM specifications, bindings for several languages, and many
implementations, are available for free browsing and download. The
current bindings include C, C++, Perl, Python, Java, Visual Basic,
Scheme, Tcl and C# , and some other bindings have been specified but
are not yet completely implemented. Several of the bindings rely on
packages for the underlying Z39.50 interfaces, for example the Yaz
Toolkit or Cheshire II.

ZeeRex – Z39.50 Explain, explained and re-engineered in XML

| Overview
| ZeeRex DTDZeeRex
(rhymes with T. rex)

ZeeRex defines an XML schema used to
describe the
configuration and capabilities of Z39.50 and SRW servers.
ZeeRex is yet another attempt to define an “Explain”-like mechanism,
after Explain
failed to catch on due to excessive complexity, and Explain Lite turned out to
be too tightly focused on the specific needs of the ONE-2 project to serve as a
general solution.

A ZeeRex XML file and an XSL
stylesheet can be used to define a search interface for an SRU server.
For example :

ez3950 – Simple implementation of Z39.50 over SOAP using XER


The basic idea of XER (XML Encoding Rules) is to standardize rules
that would allow for
information described in ASN.1 (Abstract Syntax Notation) to be carried
in XML (eXtensible
Markup Language). XER
therefore provides a mechanism for Z39.50 support over an alternative
“internet” protocol without any additional amendments to the current
ASN.1 standard. The ez3950 initiative outlines an implementors
agreement of how to
implement Z39.50 using XER and SOAP.

The various ZING initiatives are well
described on the web and most are supported by mailing lists and mail
archives. If you require detailed information follow the links above.
At the Workshop it will be possible to illustrate many of the
initiatives with practical examples.

Discussion points.

The 5 initiatives each serve a different purpose and therefore it is
probably best to discuss them separately. Also, although SRW and SRU
are closely linked in terms of their specification, their
implementation environments are different, and therefore it may be
better to discuss them separately too.

It would be easy to concentrate on the technical detail of these
initiatives. All the initiatives are in active development and
therefore there are many detailed issues and discussions.
However, I think it would be more useful to concentrate more on their
practical application. Are there any successful applications ?. What,
if anything, is holding them back from wider application ?. How can
they change and improve existing library and information services ?.


1. The main issue is whether this initiative is being used at all
?.  (Possible uses include the application of Jaffer for GILS
2. What are the requirements or developments that will make ez3950 more
widely available ?.


1. The individual language bindings of the ZOOM model are tools
aimed at simplifying the use of Z39.50 in application programs.
Practical experience shows that this is true and it an easy task for
even novice programmers to implement simple Z39.50 client functions.
How will this ability be turned into useful systems for libraries and
information services ?.
2. Can ZOOM be improved ?.
3. Are there examples of how ZOOM can be used ?. For example is ZOOM
used in portals, protocol gateways, networked information services,
stand-alone clients ?.


1. ZeeRex is mandatory for SRW and SRU. Is it likely to be used more
widely ?.
2. A ZeeRex record describes a search service largely from a technical
point of view. What is the scope for combining this information with
collection description data for the content accessible through such a
service ?.
3. Is there any scope for harvesting ZeeRex and associated collection
description records to build catalogues of Z39.50/SRW/SRU services ?.


1. The use of CQL is tied closely to SRW and SRU. Until these
protocols are more widely used, the understanding and use of CQL may
not occur. How can CQL be promoted more widely ?.
2. CQL has some format elements that are not strictly like google. For
example, multiple terms need to be enclosed in quotes . Is this an
issue ?.
3. Are there competitors to CQL ?. Should these be preferred over CQL ?.


1. How do you implement SRW ?. What software packages are available
?. Is there an ILS supporting SRW ?.
2. Are there any SRW services ?. Are any planned ?.
3. Are there any uses of SRW in real applications ?. Is it possible to
spot the most likely areas where SRW will be used ?.
4. What needs to happen before the potential of integrating
bibliographic searching into Web Service applications is realised ?.
5. Does SRW have any competitors ?.


1. How do you implement SRU ?. What software packages are available
?. Is there an ILS supporting SRU ?.
<>2. Strong efforts have been made to keep SRW and SRU as similar
possible. Is this a good idea, and should SRU move more towards
exploiting the features found in web browsers rather than conforming to
the requirements of SOAP ?.
3. Should there be a version of SRU that outputs XHTML rather than the
SRW XML schema ?.
4. There are some experimental SRU services. There is at least one SRU
application ( The European
). How can the use of SRU be extended ?.
5. Encapsulating a search in a URL and providing the search interface
through a browser’s stylesheet processing offers new ways of
integrating the library OPAC into web pages and other web resources ?.
How can this be exploited ?.
6. Does SRU have any competitors ?.

Leave a Reply

Your email address will not be published. Required fields are marked *