Removed yazproxy source
[yazpp-moved-to-github.git] / doc / proxy.xml
index ebb1e9c..3f0c27c 100644 (file)
@@ -1,13 +1,19 @@
  <chapter id="proxy">
   <title>The YAZ Proxy</title>
   <para>
  <chapter id="proxy">
   <title>The YAZ Proxy</title>
   <para>
-   The YAZ proxy is a transparent Z39.50-to-Z39.50 gateway.  That is,
-   it is a Z39.50 server which has as its back-end a Z39.50 client
-   that forwards requests on to another server (known as the
-   <firstterm>backend target</firstterm>.)
+   The YAZ proxy is a transparent SRW/SRU/Z39.50-to-Z39.50 gateway.
+   That is, it is a SRW/SRU/Z39.50 server which has as its back-end a
+   Z39.50 client that forwards requests on to another server (known as 
+   the <firstterm>backend target</firstterm>.)
   </para>
   <para>
   </para>
   <para>
-   The YAZ Proxy is useful for debugging Z39.50 software, logging
+   -- All config directives --
+   -- SRW/SRU ..
+   -- Example config
+   -- Mention XSLT conversion
+  </para>
+  <para>
+   The YAZ Proxy is useful for debugging SRW/SRU/Z39.50 software, logging
    APDUs, redirecting Z39.50 packages through firewalls, etc.
    Furthermore, it offers facilities that often
    boost performance for connectionless Z39.50 clients such
    APDUs, redirecting Z39.50 packages through firewalls, etc.
    Furthermore, it offers facilities that often
    boost performance for connectionless Z39.50 clients such
   <section id="proxy-target">
    <title>Specifying the Backend Target</title>
    <para>
   <section id="proxy-target">
    <title>Specifying the Backend Target</title>
    <para>
-    When the proxy accepts a Z39.50 client session, it
-    determines the backend target by the following rules:
+    When the proxy receives a Z39.50 Initialize Request from a Z39.50
+    client, it determines the backend target by the following rules:
     <orderedlist>
      <listitem>
     <orderedlist>
      <listitem>
-      <para> If the <literal>InitializeRequest</literal> PDU from the
+      <para>If the <literal>InitializeRequest</literal> PDU from the
        client includes an 
        <link linkend="otherinfo-encoding"><literal>otherInfo</literal></link>
        element with OID
        client includes an 
        <link linkend="otherinfo-encoding"><literal>otherInfo</literal></link>
        element with OID
        usual YAZ address format (typically
        <literal>tcp:<parameter>hostname</parameter>:<parameter>port</parameter></literal>)
        as described in
        usual YAZ address format (typically
        <literal>tcp:<parameter>hostname</parameter>:<parameter>port</parameter></literal>)
        as described in
-       <ulink url="http://www.indexdata.dk/yaz/doc/comstack.addresses.php"
+       <ulink url="http://www.indexdata.dk/yaz/doc/comstack.addresses.tkl"
        >the Addresses section of the YAZ manual</ulink>.
       </para>
      </listitem>
      <listitem>
        >the Addresses section of the YAZ manual</ulink>.
       </para>
      </listitem>
      <listitem>
-      <para> Otherwise, the Proxy uses the default target, if one was
+      <para>Otherwise, the Proxy uses the default target, if one was
        specified on the command-line with the <literal>-t</literal>
        option. A default target can also be specified in the 
        XML Config file.
       </para>
      </listitem>
      <listitem>
        specified on the command-line with the <literal>-t</literal>
        option. A default target can also be specified in the 
        XML Config file.
       </para>
      </listitem>
      <listitem>
-      <para> Otherwise, the proxy closes the connection with
+      <para>Otherwise, the proxy closes the connection with
        the client.
       </para>
      </listitem>
        the client.
       </para>
      </listitem>
    <para>
     When a client reconnects, query and record caching works better, if the
     proxy assigns it to the same backend as before. And the result set
    <para>
     When a client reconnects, query and record caching works better, if the
     proxy assigns it to the same backend as before. And the result set
-    (if any) is re-used. To achive this, Index Data defined a session
+    (if any) is re-used. To achieve this, Index Data defined a session
     cookie which identifies the backend session.
    </para>
    <para>
     cookie which identifies the backend session.
    </para>
    <para>
     client. Finally, the proxy may convert records.
    </para>
    <para>
     client. Finally, the proxy may convert records.
    </para>
    <para>
-    In the current version the only supported conversion is
-    MARC21/USMARC in MARC-8 charset to MARCXML in UTF-8. Future version of
-    the proxy may do other record/charset conversions.
+    The proxy can convert from MARC to MARCXML and thereby offer an
+    XML version of any MARC record as long as it is ISO2709 encoded.
+    If the proxy is compiled with libXSLT support it can also
+    perform XSLT on XML.
    </para>
   </section>
   
    </para>
   </section>
   
   <section id="proxy-config-file">
    <title>Proxy Configuration File</title>
    <para>
   <section id="proxy-config-file">
    <title>Proxy Configuration File</title>
    <para>
-    The Proxy as an option may read a configuration file using option
+    The Proxy may read a configuration file using option
     <literal>-c</literal> followed by the filename of a config file.
     </para>
    <para>
     <literal>-c</literal> followed by the filename of a config file.
     </para>
    <para>
-    The config file is in XML format. The YAZ proxy must be compiled
-    with <ulink url="http://www.xmlsoft.org/">libxml2</ulink> support in
+    The config file is XML based. The YAZ proxy must be compiled 
+    with <ulink url="http://www.xmlsoft.org/">libxml2</ulink> and
+    <ulink url="http://xmlsoft.org/XSLT/">libXSLT</ulink> support in
     order for the config file facility to be enabled.
    </para>
    <tip>
     order for the config file facility to be enabled.
    </para>
    <tip>
     <title>Configuration: target</title>
     <para>
      The element <literal>target</literal> which may be repeated zero
     <title>Configuration: target</title>
     <para>
      The element <literal>target</literal> which may be repeated zero
-     or more times with parent elemtn <literal>proxy</literal> contains
+     or more times with parent element <literal>proxy</literal> contains
      information about each backend target.
      The <literal>target</literal> element have two attributes:
      <literal>name</literal> which holds the logical name of the backend
      information about each backend target.
      The <literal>target</literal> element have two attributes:
      <literal>name</literal> which holds the logical name of the backend
      measures the number of bytes transferred within the last minute.
      The <literal>pdu</literal> is the number of requests in the last
      minute. The <literal>retrieve</literal> holds the maximum records to
      measures the number of bytes transferred within the last minute.
      The <literal>pdu</literal> is the number of requests in the last
      minute. The <literal>retrieve</literal> holds the maximum records to
-     be retrived in one Present Request.
+     be retrieved in one Present Request.
     </para>
     <para>
      If a bandwidth/pdu limit is reached the proxy will postpone the
     </para>
     <para>
      If a bandwidth/pdu limit is reached the proxy will postpone the
      or a particular record syntax request from the client.
     </para>
     <para>
      or a particular record syntax request from the client.
     </para>
     <para>
-     The <literal>syntax</literal> has one equired attribute:
+     The <literal>syntax</literal> has one required attribute:
      <literal>type</literal> which is the Preferred Record Syntax.
     </para>
     <para>
      <literal>type</literal> which is the Preferred Record Syntax.
     </para>
     <para>
      <literal>type</literal> should be XML. The proxy will use
      preferred record syntax USMARC/MARC21 against the backend target.
     </para>
      <literal>type</literal> should be XML. The proxy will use
      preferred record syntax USMARC/MARC21 against the backend target.
     </para>
-    <para>To accept USMARC and offer MARCXML XML recors but reject
-     all other requests the following configuaration could be used:
+    <para>To accept USMARC and offer MARCXML XML records but reject
+     all other requests the following configuration could be used:
      <screen>
       &lt;proxy>
        &lt;target name="mytarget">
      <screen>
       &lt;proxy>
        &lt;target name="mytarget">
      a target session is shut down.
     </para>
     <para>
      a target session is shut down.
     </para>
     <para>
-     This can also be specified on the command line bt using option
+     This can also be specified on the command line by using option
      <literal>-T</literal>. Refer to <xref linkend="proxy-usage"/>.
     </para>
    </section>
      <literal>-T</literal>. Refer to <xref linkend="proxy-usage"/>.
     </para>
    </section>
  sgml-namecase-general:t
  End:
  -->
  sgml-namecase-general:t
  End:
  -->
\ No newline at end of file