-## $Id: Makefile.am,v 1.35 2007-01-18 09:20:52 adam Exp $
+## $Id: Makefile.am,v 1.36 2007-01-18 11:32:42 marc Exp $
docdir=$(datadir)/doc/@PACKAGE@
SUBDIRS = common
auth_simple.xml \
backend_test.xml \
bounce.xml \
+ cql_rpn.xml \
frontend_net.xml \
http_file.xml \
load_balance.xml \
auth_simple.3mp \
backend_test.3mp \
bounce.3mp \
+ cql_rpn.3mp \
frontend_net.3mp \
http_file.3mp \
load_balance.3mp \
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: auth_simple.xml,v 1.7 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: auth_simple.xml,v 1.8 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>auth_simple</refentrytitle>
<refnamediv>
<refname>auth_simple</refname>
- <refpurpose>simple authentication and authorization.</refpurpose>
+ <refpurpose>Metaproxy Simple Authentication And Authorization Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: backend_test.xml,v 1.4 2006-04-25 12:48:52 marc Exp $ -->
+<!-- $Id: backend_test.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>backend_test</refentrytitle>
<refnamediv>
<refname>backend_test</refname>
- <refpurpose>backend Z39.50 server for testing.</refpurpose>
+ <refpurpose>Metaproxy Backend Test Z39.50 Server Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
-->
<!NOTATION PDF SYSTEM "PDF">
]>
-<!-- $Id: book.xml,v 1.52 2007-01-18 09:39:38 adam Exp $ -->
+<!-- $Id: book.xml,v 1.53 2007-01-18 11:32:42 marc Exp $ -->
<book id="metaproxy">
<bookinfo>
<title>Metaproxy - User's Guide and Reference</title>
sets Z39.50 packages to Z_Close, and HTTP_Request packages to
HTTP_Response err code 400 packages, and adds a suitable bounce
message.
- The bounce filter is usually added at end of each filter chain
- config.xml to prevent infinite hanging of for example HTTP
+ The bounce filter is usually added at end of each filter chain route
+ to prevent infinite hanging of for example HTTP
requests packages when only the Z39.50 client partial sink
filter is found in the
route.
</section>
<section>
+ <title><literal>cql_rpn</literal>
+ (mp::filter::CQLtoRPN)</title>
+ <para>
+ A query language transforming filter which catches Z39.50
+ <literal>searchRequest</literal>
+ packages containing <literal>CQL</literal> queries, transforms
+ those to <literal>RPN</literal> queries,
+ and sends the <literal>searchRequests</literal> on to the next
+ filters. It is among other things useful in a SRU context.
+ </para>
+ </section>
+
+ <section>
<title><literal>frontend_net</literal>
(mp::filter::FrontendNet)</title>
<para>
<title><literal>http_file</literal>
(mp::filter::HttpFile)</title>
<para>
- A partial sink which swallows only HTTP_Request packages, and
+ A partial sink which swallows only
+ <literal>HTTP_Request</literal> packages, and
returns the contents of files from the local
filesystem in response to HTTP requests.
It lets Z39.50 packages and all other forthcoming package types
<title><literal>query_rewrite</literal>
(mp::filter::QueryRewrite)</title>
<para>
- Rewrites Z39.50 Type-1 and Type-101 (``RPN'') queries by a
+ Rewrites Z39.50 <literal>Type-1</literal>
+ and <literal>Type-101</literal> (``<literal>RPN</literal>'')
+ queries by a
three-step process: the query is transliterated from Z39.50
packet structures into an XML representation; that XML
representation is transformed by an XSLT stylesheet; and the
<para>
This filter implements global sharing of
result sets (i.e. between threads and therefore between
- clients), yielding performance improvements especially when
- incoming requests are from a stateless environment such as a
- web-server, in which the client process representing a session
- might be any one of many.
+ clients), yielding performance improvements by clever resource
+ pooling.
</para>
</section>
which returns the response to the client.
</para>
</section>
- <section id="checking.xml.syntax">
+
+ <section id="config-file-modularity">
+ <title>Config file modularity</title>
+ <para>
+ Metaproxy XML configuration snippets can be reused by other
+ filters using the <literal>XInclude</literal> standard, as seen in
+ the <literal>/etc/config-sru-to-z3950.xml</literal> example SRU
+ configuration.
+ <screen><![CDATA[
+ <filter id="sru" type="sru_z3950">
+ <database name="Default">
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="explain.xml"/>
+ </database>
+ </filter>
+]]></screen>
+ </para>
+ </section>
+
+ <section id="config-file-syntax-check">
<title>Config file syntax checking</title>
<para>
The distribution contains RelaxNG Compact and XML syntax checking
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: bounce.xml,v 1.1 2006-09-08 14:12:28 marc Exp $ -->
+<!-- $Id: bounce.xml,v 1.2 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>bounce</refentrytitle>
<refnamediv>
<refname>bounce</refname>
- <refpurpose>bouncing package sink for all kind of metaproxy packages</refpurpose>
+ <refpurpose>Metaproxy Bouncing Package Sink Module for all kind of metaproxy packages</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
--- /dev/null
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
+ <!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
+]>
+<!-- $Id: cql_rpn.xml,v 1.1 2007-01-18 11:32:42 marc Exp $ -->
+<refentry>
+ <refmeta>
+ <refentrytitle>query_rewrite</refentrytitle>
+ <manvolnum>3mp</manvolnum>
+ <refmiscinfo>Metaproxy Module</refmiscinfo>
+</refmeta>
+
+ <refnamediv>
+ <refname>cql_rpn</refname>
+ <refpurpose>Metaproxy CQL to RPN Query Language Transforming Module</refpurpose>
+ </refnamediv>
+
+ <refsect1><title>DESCRIPTION</title>
+ <para>
+ A query language transforming filter which catches Z39.50
+ <literal>searchRequest</literal>
+ packages containing <literal>CQL</literal> queries, transforms
+ those to <literal>RPN</literal> queries,
+ and sends the <literal>searchRequests</literal> on to the next
+ filters.
+ </para>
+ <para>
+ The filter takes only one configuration parameter, namely the path
+ of the standard <literal>YAZ</literal>
+ <literal>CQL</literal>-to-<literal>CQL</literal> configuration
+ file. See the <ulink url="&url.yaz;">YAZ</ulink> manual for
+ configuration file syntax and details.
+ </para>
+ <para>
+ A common and wellknown challenge is that the ZeeRex SRU
+ Explain config file used in the <literal>sru_z3950</literal>
+ filter and the <literal>CQL</literal> translation configuration
+ file used in this filter must be kept in syncronization.
+ Syncronization can be eased by using the provided XSLT stylesheet,
+ <literal>xml/xslt/explain2cqlpqftxt.xsl</literal>, which transforms
+ from ZeeReX Explain to the later. The example configurations have
+ been created by running:
+ <screen>
+ xsltproc xml/xslt/explain2cqlpqftxt.xsl etc/explain.xml > etc/cql2pqf.txt
+ </screen>
+ </para>
+ </refsect1>
+
+ <refsect1><title>EXAMPLES</title>
+ <para>
+ A typical configuration looks like this:
+ <screen><![CDATA[
+ <filter id="cql" type="cql_rpn">
+ <conversion file="etc/cql2pqf.txt"/>
+ </filter>
+ ]]>
+ </screen>
+ </para>
+ </refsect1>
+
+ <refsect1><title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>metaproxy</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry>
+ </para>
+ </refsect1>
+
+ ©right;
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-local-catalogs: nil
+sgml-namecase-general:t
+End:
+-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: frontend_net.xml,v 1.4 2006-04-25 12:48:52 marc Exp $ -->
+<!-- $Id: frontend_net.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>frontend_net</refentrytitle>
<refnamediv>
<refname>frontend_net</refname>
- <refpurpose>network server</refpurpose>
+ <refpurpose>Metaproxy Network Server module that accepts Z39.50 and
+ HTTP requests</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: http_file.xml,v 1.5 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: http_file.xml,v 1.6 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>http_file</refentrytitle>
<refnamediv>
<refname>http_file</refname>
- <refpurpose>network server</refpurpose>
+ <refpurpose>Metaproxy HTTP File Server Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: load_balance.xml,v 1.1 2007-01-03 15:34:50 marc Exp $ -->
+<!-- $Id: load_balance.xml,v 1.2 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>load_balance</refentrytitle>
<refnamediv>
<refname>load_balance</refname>
- <refpurpose>balances load among Z39.50 targets</refpurpose>
+ <refpurpose>Metaproxy Module balancing load among multiple identical
+ Z39.50 targets</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: log.xml,v 1.5 2006-06-19 13:08:00 adam Exp $ -->
+<!-- $Id: log.xml,v 1.6 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>log</refentrytitle>
<refnamediv>
<refname>log</refname>
- <refpurpose>logs packages</refpurpose>
+ <refpurpose>Metaproxy Package Logging Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: metaproxy.xml,v 1.5 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: metaproxy.xml,v 1.6 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>metaproxy</refentrytitle>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: multi.xml,v 1.6 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: multi.xml,v 1.7 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>multi</refentrytitle>
<refnamediv>
<refname>multi</refname>
- <refpurpose>package multiplexer</refpurpose>
+ <refpurpose>Metaproxy Package Multiplexer Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: query_rewrite.xml,v 1.4 2006-04-25 12:48:52 marc Exp $ -->
+<!-- $Id: query_rewrite.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>query_rewrite</refentrytitle>
<refnamediv>
<refname>query_rewrite</refname>
- <refpurpose>network server</refpurpose>
+ <refpurpose>Metaproxy RPN Query Rewrite Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: record_transform.xml,v 1.2 2006-10-12 12:02:19 marc Exp $ -->
+<!-- $Id: record_transform.xml,v 1.3 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>record_transform</refentrytitle>
<refnamediv>
<refname>record_transform</refname>
- <refpurpose>Z3950 present package record transformation</refpurpose>
+ <refpurpose>Metaproxy Module that performs Z39.50 presentResponse record transformations</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: session_shared.xml,v 1.5 2007-01-18 09:12:00 adam Exp $ -->
+<!-- $Id: session_shared.xml,v 1.6 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>session_shared</refentrytitle>
<refnamediv>
<refname>session_shared</refname>
- <refpurpose>Module for sharing result-sets etc. between threads</refpurpose>
+ <refpurpose> Metaproxy Module for sharing system ressorces between
+ threads</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<para>
- This module allows many Z39.50 frontend sessions to share
- a number of backend sessions. The purpose is this filter is to:
+ This filter implements global sharing of
+ result sets (i.e. between threads and therefore between
+ clients), yielding performance improvements especially when
+ incoming requests are from a stateless environment such as a
+ web-server, in which the client process representing a session
+ might be any one of many.
+ It performs the following actions:
<itemizedlist>
<listitem>
<para>
</listitem>
<listitem>
<para>
- Reduce number of Initializations with backend servers.
+ Reduce the number of initializations with backend servers.
</para>
</listitem>
<listitem>
<!ENTITY % common SYSTEM "common/common.ent">
%common;
]>
-<!-- $Id: sru_z3950.xml,v 1.4 2007-01-08 12:27:27 marc Exp $ -->
+<!-- $Id: sru_z3950.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>sru_z3950</refentrytitle>
<refnamediv>
<refname>sru_z3950</refname>
- <refpurpose>transforming SRU web service requests to Z3950 Metaproxy packages</refpurpose>
+ <refpurpose>Metaproxy Module transforming SRU web service requests to Z3950 Metaproxy packages</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: template.xml,v 1.4 2006-04-25 12:48:52 marc Exp $ -->
+<!-- $Id: template.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>template</refentrytitle>
<refnamediv>
<refname>template</refname>
- <refpurpose>Template module that does nothing</refpurpose>
+ <refpurpose>Metaproxy Template Module That Does Nothing</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: virt_db.xml,v 1.5 2006-11-29 13:00:53 marc Exp $ -->
+<!-- $Id: virt_db.xml,v 1.6 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>virt_db</refentrytitle>
<refnamediv>
<refname>virt_db</refname>
- <refpurpose>virtual database(s)</refpurpose>
+ <refpurpose>Metaproxy Virtual Databases Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
"http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd" [
<!ENTITY copyright SYSTEM "copyright.xml">
+ <!ENTITY % common SYSTEM "common/common.ent">
+ %common;
]>
-<!-- $Id: z3950_client.xml,v 1.4 2006-04-25 12:48:52 marc Exp $ -->
+<!-- $Id: z3950_client.xml,v 1.5 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>z3950_client</refentrytitle>
<refnamediv>
<refname>z3950_client</refname>
- <refpurpose>backend module Z39.50 client</refpurpose>
+ <refpurpose>Metaproxy Z39.50 Backend Client Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<!ENTITY % common SYSTEM "common/common.ent">
%common;
]>
-<!-- $Id: zeerex_explain.xml,v 1.2 2007-01-08 12:27:27 marc Exp $ -->
+<!-- $Id: zeerex_explain.xml,v 1.3 2007-01-18 11:32:42 marc Exp $ -->
<refentry>
<refmeta>
<refentrytitle>zeerex_explain</refentrytitle>
<refnamediv>
<refname>zeerex_explain</refname>
- <refpurpose>answering Z39.50 ZeeReX explain requests</refpurpose>
+ <refpurpose>Metaproxy Z39.50 ZeeReX Explain Module</refpurpose>
</refnamediv>
<refsect1><title>DESCRIPTION</title>
<ulink url="&url.sru.explain;">SRU Explain</ulink> pages
for more information.
</para>
+ <warning>
+ <para>
+ This filter is not yet completed.
+ </para>
+ </warning>
</refsect1>
<refsect1><title>EXAMPLES</title>