Add SOLR version. mentioning SOLR togetheer with Z39.50 and SRU.
[yaz-moved-to-github.git] / doc / introduction.xml
index a2fb762..fc9a628 100644 (file)
@@ -1,53 +1,55 @@
-<!-- $Id: introduction.xml,v 1.14 2003-04-28 21:02:16 adam Exp $ -->
  <chapter id="introduction"><title>Introduction</title>
 
   <para>
    &yaz; is a C/C++ library for information retrieval applications
  <chapter id="introduction"><title>Introduction</title>
 
   <para>
    &yaz; is a C/C++ library for information retrieval applications
-   using the Z39.50/SRW/SRU protocols for information retrieval.
+   using the Z39.50/SRU/SOLR protocols for information retrieval.
   </para>
   </para>
-
+  
   <para>
    Properties of &yaz;:
    <itemizedlist>
     <listitem><para>
       Complete 
   <para>
    Properties of &yaz;:
    <itemizedlist>
     <listitem><para>
       Complete 
-      <ulink url="http://www.loc.gov/z3950/agency/">Z39.50</ulink>
-      version 3 support. Amendments and Z39.50-2002 revision is
-      supported.
+      <ulink url="&url.z39.50;">Z39.50</ulink> version 3 support.
+      Amendments and Z39.50-2002 revision is supported.
      </para></listitem>
     <listitem><para>
       Supports 
      </para></listitem>
     <listitem><para>
       Supports 
-      <ulink url="http://www.loc.gov/z3950/agency/zing/srw/">SRW/SRU</ulink>
-      version 1.0 (over HTTP and HTTPS).
+      <ulink url="&url.sru;">SRU GET/POST/SOAP</ulink>
+      version 1.2 (over HTTP and HTTPS).
      </para></listitem>
     <listitem><para>
       Includes BER encoders/decoders for the 
      </para></listitem>
     <listitem><para>
       Includes BER encoders/decoders for the 
-      <ulink url="http://www.nlc-bnc.ca/iso/ill/">ISO ILL</ulink>
+      <ulink url="&url.ill;">ISO ILL</ulink>
       protocol.
      </para></listitem>
     <listitem><para>
       protocol.
      </para></listitem>
     <listitem><para>
+      Supports 
+      <ulink url="&url.solr;">SOLR</ulink> Web Service version 1.4.x (client side only)
+     </para></listitem>
+    <listitem><para>
       Supports the following transports: BER over TCP/IP
       Supports the following transports: BER over TCP/IP
-      (<ulink url="http://www.faqs.org/rfcs/rfc1729.html">RFC1729</ulink>),
+      (<ulink url="&url.ber.over.tcpip;">RFC1729</ulink>),
       BER over unix local socket, and 
       BER over unix local socket, and 
-      <ulink url="http://www.w3.org/Protocols/rfc2616/rfc2616.html">HTTP
-       1.1</ulink>.
+      <ulink url="&url.http.1.1;">HTTP 1.1</ulink>.
      </para></listitem>
     <listitem><para>
       Secure Socket Layer support using
      </para></listitem>
     <listitem><para>
       Secure Socket Layer support using
-      <ulink url="http://www.openssl.org/">OpenSSL</ulink>.
+      <ulink url="&url.gnutls;">GNU TLS</ulink> or
+      <ulink url="&url.openssl;">OpenSSL</ulink>.
       If enabled, &yaz; uses HTTPS transport (for SOAP) or
       "Secure BER" (for Z39.50).
      </para></listitem>
     <listitem><para>
       Offers 
       If enabled, &yaz; uses HTTPS transport (for SOAP) or
       "Secure BER" (for Z39.50).
      </para></listitem>
     <listitem><para>
       Offers 
-      <ulink url="http://zoom.z3950.org/">ZOOM</ulink>
-      C API implementing both Z39.50 and SRW.
+      <ulink url="&url.zoom;">ZOOM</ulink> C API implementing
+      Z39.50, SRU and SOLR Web Service.
      </para></listitem>
     <listitem><para>
       The &yaz; library offers a set of useful utilities
       related to the protocols, such as MARC (ISO2709) parser,
       CCL (ISO8777) parser, 
      </para></listitem>
     <listitem><para>
       The &yaz; library offers a set of useful utilities
       related to the protocols, such as MARC (ISO2709) parser,
       CCL (ISO8777) parser, 
-      <ulink url="http://www.loc.gov/z3950/agency/zing/cql/">CQL</ulink>
+      <ulink url="&url.cql;">CQL</ulink>
       parser, memory management routines, character set conversion.
      </para></listitem>
     <listitem><para>
       parser, memory management routines, character set conversion.
      </para></listitem>
     <listitem><para>
     <listitem>
      <para>
       <xref linkend="zoom"/> describes the ZOOM API of &yaz;.
     <listitem>
      <para>
       <xref linkend="zoom"/> describes the ZOOM API of &yaz;.
-      This is definitely worth a read if you wish to develop a Z39.50/SRW
-     client.
-    </para>
+      This is definitely worth a read if you wish to develop a Z39.50/SRU
+      client.
+     </para>
     </listitem>
     
     <listitem>
      <para>
       <xref linkend="server"/> describes the generic frontend server
     </listitem>
     
     <listitem>
      <para>
       <xref linkend="server"/> 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.
+      and explains how to develop server Z39.50/SRU applications for &yaz;.
+      Obviously worth reading if you're to develop a server.
     </para>
     </listitem>
 
     <listitem>
      <para>
     </para>
     </listitem>
 
     <listitem>
      <para>
-      <xref linkend="client"/> describes how to use the &yaz; Z39.50
+      <xref linkend="yaz-client"/> 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.
       client. If you're developer and wish to test your server
       or a server from another party, you might find this chapter
       useful.
 
     <listitem>
      <para>
 
     <listitem>
      <para>
-      <xref linkend="soap"/> describes how SRW and SOAP is used 
-      in &yaz;. Only if you're developing SOAP/SRW applications
+      <xref linkend="soap"/> describes how SRU and SOAP is used 
+      in &yaz;. Only if you're developing SRU applications
       this section is a must.
      </para>
     </listitem>
       this section is a must.
      </para>
     </listitem>
      <para>
       <xref linkend="tools"/> contains sections for the various
       tools offered by &yaz;. Scan through the material quickly
      <para>
       <xref linkend="tools"/> 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 <link linkend="tools.cql">CQL</link> section
+      and see what's relevant to you! SRU implementors
+      might find the <link linkend="cql">CQL</link> section
       particularly useful.
      </para>
     </listitem>
       particularly useful.
      </para>
     </listitem>
      <para>
       <xref linkend="odr"/> goes through the details of the
       ODR module which is the work horse that encodes and decodes
      <para>
       <xref linkend="odr"/> 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.
+      BER packages. Implementors using ZOOM only, do <emphasis>not</emphasis>
+      need reading this.
       Most other Z39.50 implementors only need to read the first two
       Most other Z39.50 implementors only need to read the first two
-      sections <link linkend="odr.introduction">Introduction</link>,
-      <link linkend="odr.use">Using ODR</link>.
+      sections (<xref linkend="odr.introduction"/> and
+      <xref linkend="odr.use"/>).
      </para>
     </listitem>
 
      </para>
     </listitem>
 
   <sect1 id="introduction.api"><title>The API</title>
    
    <para>
   <sect1 id="introduction.api"><title>The API</title>
    
    <para>
-    The <ulink url="http://www.indexdata.dk/yaz/">&yaz;</ulink>
+    The <ulink url="&url.yaz;">&yaz;</ulink>
     toolkit offers several different levels of access to the
     toolkit offers several different levels of access to the
-    <ulink url="http://www.loc.gov/z3950/agency/">ISO23950/Z39.50</ulink>,
-    <ulink url="http://www.nlc-bnc.ca/iso/ill/">ILL</ulink> and
-    <ulink url="http://www.loc.gov/z3950/agency/zing/srw/">SRW</ulink>
+    <ulink url="&url.z39.50;">ISO23950/Z39.50</ulink>,
+    <ulink url="&url.ill;">ILL</ulink> and
+    <ulink url="&url.sru;">SRU</ulink>
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     protocols.
     The level that you need to use depends on your requirements, and
     the role (server or client) that you want to implement.
     Server implementers should consider the 
     <link linkend="server">generic frontend server</link>.
     None of those high-level APIs support the whole protocol, but
     Server implementers should consider the 
     <link linkend="server">generic frontend server</link>.
     None of those high-level APIs support the whole protocol, but
-    they do include most facilities used in existing Z39.50
-    applications.
+    they do include most facilities used in existing Z39.50 applications.
    </para>
    <para>
     If you're using 'exotic' functionality (meaning anything not included in
    </para>
    <para>
     If you're using 'exotic' functionality (meaning anything not included in
     you're going to develop an ILL application you'll have to learn the lower
     level APIs of &yaz;.
    </para>
     you're going to develop an ILL application you'll have to learn the lower
     level APIs of &yaz;.
    </para>
-
-   
    <para>
     The YAZ toolkit modules is shown in figure <xref linkend="yaz.layer"/>.
    </para>
    <para>
     The YAZ toolkit modules is shown in figure <xref linkend="yaz.layer"/>.
    </para>
       <para>
        The second layer provides a C represenation of the 
        protocol units (packages) for Z39.50 ASN.1, ILL ASN.1,
       <para>
        The second layer provides a C represenation of the 
        protocol units (packages) for Z39.50 ASN.1, ILL ASN.1,
-       SRW SOAP.
+       SRU.
       </para>
      </listitem>
      <listitem>
       </para>
      </listitem>
      <listitem>
     <para>
      If you are using the premade definitions of the &asn; module, and you
      are not adding new protocol of your own, the only parts of &odr; that you
     <para>
      If you are using the premade definitions of the &asn; module, and you
      are not adding new protocol of your own, the only parts of &odr; that you
-     need to worry about are documented in section 
-     <link linkend="odr-use">Using ODR</link>.
+     need to worry about are documented in
+     <xref linkend="odr.use"/>.
     </para>
    </note>
    
     </para>
    </note>