Initial commit
[yaz4j-moved-to-github.git] / dependencies / yaz_3.0.14 / doc / introduction.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="YAZ User's Guide and Reference"><link rel="up" href="index.html" title="YAZ User's Guide and Reference"><link rel="prev" href="index.html" title="YAZ User's Guide and Reference"><link rel="next" href="introduction.api.html" title="2. The API"></head><body><link rel="stylesheet" type="text/css" href="common/style1.css"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="introduction.api.html">Next</a></td></tr></table><hr></div><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="introduction"></a>Chapter 1. Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="introduction.html#introduction.reading">1. Reading this Manual</a></span></dt><dt><span class="sect1"><a href="introduction.api.html">2. The API</a></span></dt></dl></div><p>
2    YAZ is a C/C++ library for information retrieval applications
3    using the Z39.50/SRU protocols for information retrieval.
4   </p><p>
5    Properties of YAZ:
6    </p><div class="itemizedlist"><ul type="disc"><li><p>
7       Complete 
8       <a class="ulink" href="http://www.loc.gov/z3950/agency/" target="_top">Z39.50</a> version 3 support.
9       Amendments and Z39.50-2002 revision is supported.
10      </p></li><li><p>
11       Supports 
12       <a class="ulink" href="http://www.loc.gov/standards/sru/" target="_top">SRU GET/POST/SOAP</a>
13       version 1.1 (over HTTP and HTTPS).
14      </p></li><li><p>
15       Includes BER encoders/decoders for the 
16       <a class="ulink" href="http://www.nlc-bnc.ca/iso/ill/" target="_top">ISO ILL</a>
17       protocol.
18      </p></li><li><p>
19       Supports the following transports: BER over TCP/IP
20       (<a class="ulink" href="http://www.faqs.org/rfcs/rfc1729.html" target="_top">RFC1729</a>),
21       BER over unix local socket, and 
22       <a class="ulink" href="http://www.w3.org/Protocols/rfc2616/rfc2616.html" target="_top">HTTP 1.1</a>.
23      </p></li><li><p>
24       Secure Socket Layer support using
25       <a class="ulink" href="http://www.openssl.org/" target="_top">OpenSSL</a>.
26       If enabled, YAZ uses HTTPS transport (for SOAP) or
27       "Secure BER" (for Z39.50).
28      </p></li><li><p>
29       Offers 
30       <a class="ulink" href="http://zoom.z3950.org/" target="_top">ZOOM</a> C API implementing both
31       Z39.50 and SRU.
32      </p></li><li><p>
33       The YAZ library offers a set of useful utilities
34       related to the protocols, such as MARC (ISO2709) parser,
35       CCL (ISO8777) parser, 
36       <a class="ulink" href="http://www.loc.gov/standards/sru/cql/" target="_top">CQL</a>
37       parser, memory management routines, character set conversion.
38      </p></li><li><p>
39       Portable code. YAZ compiles out-of-the box on most Unixes and
40       on Windows using Microsoft Visual C++.
41      </p></li><li><p>
42       Fast operation. The C based BER encoders/decoders as well
43       as the server component of YAZ is very fast.
44      </p></li><li><p>
45       Liberal license that allows for commercial use of YAZ.
46      </p></li></ul></div><p>
47   </p><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction.reading"></a>1. Reading this Manual</h2></div></div></div><p>Most implementors only need to read a fraction of the
48     material in thie manual, so a quick walkthrough of the chapters
49     is in order.
50    </p><div class="itemizedlist"><ul type="disc"><li><p>
51       <a class="xref" href="installation.html" title="Chapter 2. Compilation and Installation">Chapter 2, <i>Compilation and Installation</i></a> contains installation 
52       instructions for YAZ. You don't need reading this
53       if you expect to download YAZ binaries.
54       However, the chapter contains information about how
55       to make <span class="emphasis"><em>your</em></span> application link
56       with YAZ.
57      </p></li><li><p>
58       <a class="xref" href="zoom.html" title="Chapter 3. ZOOM">Chapter 3, <i>ZOOM</i></a> describes the ZOOM API of YAZ.
59       This is definitely worth a read if you wish to develop a Z39.50/SRU
60       client.
61      </p></li><li><p>
62       <a class="xref" href="server.html" title="Chapter 4. Generic server">Chapter 4, <i>Generic server</i></a> describes the generic frontend server
63       and explains how to develop server Z39.50/SRU applications for YAZ.
64       Obviously worth reading if you're to develop a server.
65     </p></li><li><p>
66       <a class="xref" href="client.html" title="Chapter 5. The YAZ client">Chapter 5, <i>The YAZ client</i></a> describes how to use the YAZ Z39.50
67       client. If you're developer and wish to test your server
68       or a server from another party, you might find this chapter
69       useful.
70     </p></li><li><p>
71       <a class="xref" href="asn.html" title="Chapter 7. The Z39.50 ASN.1 Module">Chapter 7, <i>The Z39.50 ASN.1 Module</i></a> documents the most commonly used Z39.50
72       C data structures offered by the YAZ API. Client
73       developers using ZOOM and non-Z39.50 implementors may skip this.
74      </p></li><li><p>
75       <a class="xref" href="soap.html" title="Chapter 8. SOAP and SRU">Chapter 8, <i>SOAP and SRU</i></a> describes how SRU and SOAP is used 
76       in YAZ. Only if you're developing SRU applications
77       this section is a must.
78      </p></li><li><p>
79       <a class="xref" href="tools.html" title="Chapter 9. Supporting Tools">Chapter 9, <i>Supporting Tools</i></a> contains sections for the various
80       tools offered by YAZ. Scan through the material quickly
81       and see what's relevant to you! SRU implementors
82       might find the <a class="link" href="tools.html#cql" title="1.3. CQL">CQL</a> section
83       particularly useful.
84      </p></li><li><p>
85       <a class="xref" href="odr.html" title="Chapter 10. The ODR Module">Chapter 10, <i>The ODR Module</i></a> goes through the details of the
86       ODR module which is the work horse that encodes and decodes
87       BER packages. Implementors using ZOOM only, do <span class="emphasis"><em>not</em></span>
88       need reading this.
89       Most other Z39.50 implementors only need to read the first two
90       sections (<a class="xref" href="odr.html#odr.introduction" title="1. Introduction">Section 1, &#8220;Introduction&#8221;</a> and
91       <a class="xref" href="odr.use.html" title="2. Using ODR">Section 2, &#8220;Using ODR&#8221;</a>).
92      </p></li><li><p>
93       <a class="xref" href="comstack.html" title="Chapter 11. The COMSTACK Module">Chapter 11, <i>The COMSTACK Module</i></a> describes the network layer module
94       COMSTACK. Implementors using ZOOM or the generic frontend server
95       may skip this. Others, presumably, handling client/server
96      communication on their own should read this.
97      </p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="introduction.api.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">YAZ User's Guide and Reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2. The API</td></tr></table></div></body></html>