YAZ is a C/C++ library for information retrieval applications using the Z39.50/SRW/SRU protocols for information retrieval.
Properties of YAZ:
Complete Z39.50 version 3 support. Amendments and Z39.50-2002 revision is supported.
Supports SRW/SRU version 1.1 (over HTTP and HTTPS).
Includes BER encoders/decoders for the ISO ILL protocol.
Supports the following transports: BER over TCP/IP (RFC1729), BER over unix local socket, and HTTP 1.1.
Secure Socket Layer support using OpenSSL. If enabled, YAZ uses HTTPS transport (for SOAP) or "Secure BER" (for Z39.50).
Offers ZOOM C API implementing both Z39.50 and SRW.
The YAZ library offers a set of useful utilities related to the protocols, such as MARC (ISO2709) parser, CCL (ISO8777) parser, CQL parser, memory management routines, character set conversion.
Portable code. YAZ compiles out-of-the box on most Unixes and on Windows using Microsoft Visual C++.
Fast operation. The C based BER encoders/decoders as well as the server component of YAZ is very fast.
Liberal license that allows for commercial use of YAZ.
Most implementors only need to read a fraction of the material in thie manual, so a quick walkthrough of the chapters is in order.
Chapter 2 contains installation instructions for YAZ. You don't need reading this if you expect to download YAZ binaries. However, the chapter contains information about how to make your application link with YAZ.
Chapter 3 describes the ZOOM API of YAZ. This is definitely worth a read if you wish to develop a Z39.50/SRW client.
Chapter 4 describes the generic frontend server and explains how to develop server Z39.50/SRW applications for YAZ. Obviously worth reading if you're to develop a server.
Chapter 5 describes how to use the YAZ Z39.50 client. If you're developer and wish to test your server or a server from another party, you might find this chapter useful.
Chapter 6 documents the most commonly used Z39.50 C data structures offered by the YAZ API. Client developers using ZOOM and non-Z39.50 implementors may skip this.
Chapter 7 describes how SRW and SOAP is used in YAZ. Only if you're developing SOAP/SRW applications this section is a must.
Chapter 8 contains sections for the various tools offered by YAZ. Scan through the material quickly and see what's relevant to you! SRW/SRU implementors might find the CQL section particularly useful.
Chapter 9 goes through the details of the ODR module which is the work horse that encodes and decodes BER packages. Implementors using ZOOM only, do not need reading this. Most other Z39.50 implementors only need to read the first two sections (the Section called Introduction in Chapter 9 and the Section called Using ODR in Chapter 9).
Chapter 10 describes the network layer module COMSTACK. Implementors using ZOOM or the generic frontend server may skip this. Others, presumably, handling client/server communication on their own should read this.