Chapter 1. Introduction

Table of Contents

1. Reading this Manual
2. The API

YAZ is a C/C++ library for information retrieval applications using the Z39.50/SRU/Solr protocols for information retrieval.

Properties of YAZ:

1. Reading this Manual

Most implementors only need to read a fraction of the material in this manual, so a quick walkthrough of the chapters is in order.

  • Chapter 2, Compilation and Installation contains installation instructions for YAZ. You don't need to read this if you expect to download YAZ binaries. However, the chapter contains information about how to make your application link with YAZ.

  • Chapter 3, ZOOM describes the ZOOM API of YAZ. This is definitely worth reading if you wish to develop a Z39.50/SRU client.

  • Chapter 4, Generic server describes the generic frontend server and explains how to develop server Z39.50/SRU applications for YAZ. Obviously worth reading if you're to develop a server.

  • yaz-client(1) describes how to use the YAZ Z39.50 client. If you're a developer and wish to test your server or a server from another party, you might find this chapter useful.

  • Chapter 5, The Z39.50 ASN.1 Module 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 6, SOAP and SRU describes how SRU and SOAP is used in YAZ. Only if you're developing SRU applications this section is a must.

  • Chapter 7, Supporting Tools contains sections for the various tools offered by YAZ. Scan through the material quickly and see what's relevant to you! SRU implementors might find the CQL section particularly useful.

  • Chapter 8, The ODR Module 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 to read this. Most other Z39.50 implementors only need to read the first two sections (Section 1, “Introduction” and Section 2, “Using ODR”).

  • Chapter 9, The COMSTACK Module 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.