source: yaz/trunk/fuentes/doc/server.html @ 255

Last change on this file since 255 was 255, checked in by mabarracus, 4 years ago

added trusty code to xenial

File size: 5.1 KB
Line 
1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4. Generic server</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" 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="zoom.events.html" title="10. Events"><link rel="next" href="server.frontend.html" title="2. The Database Frontend"></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 4. Generic server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="zoom.events.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="server.frontend.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="server"></a>Chapter 4. Generic server</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="server.html#server.introduction">1. Introduction</a></span></dt><dt><span class="sect1"><a href="server.frontend.html">2. The Database Frontend</a></span></dt><dt><span class="sect1"><a href="server.backend.html">3. The Backend API</a></span></dt><dt><span class="sect1"><a href="server.main.html">4. Your main() Routine</a></span></dt><dt><span class="sect1"><a href="server.backendfunctions.html">5. The Backend Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="server.backendfunctions.html#server.init">5.1. Init</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#server.search.retrieve">5.2. Search and Retrieve</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#server.delete">5.3. Delete</a></span></dt><dt><span class="sect2"><a href="server.backendfunctions.html#server.scan">5.4. Scan</a></span></dt></dl></dd><dt><span class="sect1"><a href="server.invocation.html">6. Application Invocation</a></span></dt><dt><span class="sect1"><a href="server.vhosts.html">7. GFS Configuration and Virtual Hosts</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="server.introduction"></a>1. Introduction</h2></div></div></div><p>
2    If you aren't into documentation, a good way to learn how the
3    back end interface works is to look at the <code class="filename">backend.h</code>
4    file. Then, look at the small dummy-server in
5    <code class="filename">ztest/ztest.c</code>. The <code class="filename">backend.h</code>
6    file also makes a good reference, once you've chewed your way through
7    the prose of this file.
8   </p><p>
9    If you have a database system that you would like to make available by
10    means of Z39.50 or SRU, YAZ basically offers your two options. You
11    can use the APIs provided by the Z39.50 ASN.1, <acronym class="acronym">ODR</acronym>, and <acronym class="acronym">COMSTACK</acronym>
12    modules to
13    create and decode PDUs, and exchange them with a client.
14    Using this low-level interface gives you access to all fields and
15    options of the protocol, and you can construct your server as close
16    to your existing database as you like.
17    It is also a fairly involved process, requiring
18    you to set up an event-handling mechanism, protocol state machine,
19    etc. To simplify server implementation, we have implemented a compact
20    and simple, but reasonably full-functioned server-frontend that will
21    handle most of the protocol mechanics, while leaving you to
22    concentrate on your database interface.
23   </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
24     The backend interface was designed in anticipation of a specific
25     integration task, while still attempting to achieve some degree of
26     generality. We realize fully that there are points where the
27     interface can be improved significantly. If you have specific
28     functions or parameters that you think could be useful, send us a
29     mail (or better, sign on to the mailing list referred to in the
30     top-level README file). We will try to fit good suggestions into future
31     releases, to the extent that it can be done without requiring
32     too many structural changes in existing applications.
33    </p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
34     The YAZ server does not support XCQL.
35     </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="zoom.events.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="server.frontend.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">10. Events </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2. The Database Frontend</td></tr></table></div></body></html>
Note: See TracBrowser for help on using the repository browser.