Separate (brief) section on connectors.
[pazpar2-moved-to-github.git] / doc / book.xml
index 4564bbb..55fb83c 100644 (file)
@@ -24,6 +24,9 @@
   <author>
    <firstname>Jakub</firstname><surname>Skoczen</surname>
   </author>
+  <author>
+   <firstname>Mike</firstname><surname>Taylor</surname>
+  </author>
   <releaseinfo>&version;</releaseinfo>
   <copyright>
    <year>&copyright-year;</year>
   </copyright>
   <abstract>
    <simpara>
-    Pazpar2 is a high-performance, user interface-independent, data
-    model-independent metasearching
-    middle-ware featuring merging, relevance ranking, record sorting, 
+    Pazpar2 is a high-performance metasearch engine featuring
+    merging, relevance ranking, record sorting,
     and faceted results.
+    It is middleware: it has no user interface of its own, but can be
+    configured and controlled by an XML-over-HTTP web-service to provide
+    metasearching functionality behind any user interface.
    </simpara>
    <simpara>
     This document is a guide and reference to Pazpar2 version &version;.
  
  <chapter id="introduction">
   <title>Introduction</title>
+
+  <section id="what.pazpar2.is">
+  <title>What Pazpar2 is</title>
   <para>
-   Pazpar2 is a stand-alone metasearch client with a web-service API, designed
-   to be used either from a browser-based client (JavaScript, Flash, Java,
+   Pazpar2 is a stand-alone metasearch engine with a web-service API, designed
+   to be used either from a browser-based client (JavaScript, Flash,
+   Java applet,
    etc.), from server-side code, or any combination of the two.
    Pazpar2 is a highly optimized client designed to
    search many resources in parallel. It implements record merging,
    relevance-ranking and sorting by arbitrary data content, and facet
-   analysis for browsing purposes. It is designed to be data model
+   analysis for browsing purposes. It is designed to be data-model
    independent, and is capable of working with MARC, DublinCore, or any
    other <ulink url="&url.xml;">XML</ulink>-structured response format
    -- <ulink url="&url.xslt;">XSLT</ulink> is used to normalize and extract
    data from retrieval records for display and analysis. It can be used
    against any server which supports the 
-   <ulink url="&url.z39.50;">Z39.50</ulink> and <ulink url="&url.sru;">SRU/SRW</ulink>
+   <ulink url="&url.z39.50;">Z39.50</ulink> or <ulink url="&url.sru;">SRU/SRW</ulink>
    protocol. Proprietary
-   backend modules can be used to support a large number of other protocols
-   (please contact Index Data for further information about this).
+   backend modules can function as connectors between these standard
+   protocols and any non-standard API, including web-site scraping, to
+   support a large number of other protocols.
   </para>
   <para>
    Additional functionality such as
-   user management, attractive displays are expected to be implemented by
-   applications that use Pazpar2. Pazpar2 is user interface independent.
-   Its functionality is exposed through a simple REST-style web-service API,
-   designed to be simple to use from an Ajax-enabled browser, Flash
+   user management and attractive displays are expected to be implemented by
+   applications that use Pazpar2. Pazpar2 itself is user-interface independent.
+   Its functionality is exposed through a simple XML-based web-service API,
+   designed to be easy to use from an Ajax-enabled browser, Flash
    animation, Java applet, etc., or from a higher-level server-side language
-   like PHP or Java. Because session information can be shared between
-   browser-based logic and your server-side scripting, there is tremendous
-   flexibility in how you implement your business logic on top of Pazpar2.
+   like PHP, Perl or Java. Because session information can be shared between
+   browser-based logic and server-side scripting, there is tremendous
+   flexibility in how you implement application-specific logic on top
+   of Pazpar2.
   </para>
   <para>
    Once you launch a search in Pazpar2, the operation continues behind the
    scenes. Pazpar2 connects to servers, carries out searches, and
    retrieves, deduplicates, and stores results internally. Your application
    code may periodically inquire about the status of an ongoing operation,
-   and ask to see records or other result set facets. Result becomes
-   available immediately, and it is easy to build end-user interfaces which
+   and ask to see records or result set facets. Results become
+   available immediately, and it is easy to build end-user interfaces than
    feel extremely responsive, even when searching more than 100 servers
    concurrently.
   </para>
    normalized to XML/UTF-8, and then further normalized using XSLT to a
    simple internal representation that is suitable for analysis. By
    providing XSLT stylesheets for different kinds of result records, you
-   can tune Pazpar2 to work against different kinds of information
-   retrieval servers. Finally, metadata is extracted, in a configurable
-   way, from this internal record, to support display, merging, ranking,
+   can configure Pazpar2 to work against different kinds of information
+   retrieval servers. Finally, metadata is extracted in a configurable
+   way from this internal record, to support display, merging, ranking,
    result set facets, and sorting. Pazpar2 is not bound to a specific model
-   of metadata, such as DublinCore or MARC -- by providing the right
-   configuration, it can work with a number of different kinds of data in
+   of metadata, such as DublinCore or MARC: by providing the right
+   configuration, it can work with any combination of different kinds of data in
    support of many different applications.
   </para>
   <para>
    search several hundred targets in parallel, or you can use it to support
    hundreds of concurrent users. It is implemented with the same attention
    to performance and economy that we use in our indexing engines, so that
-   you can focus on building your application, without worrying about the
+   you can focus on building your application without worrying about the
    details of metasearch logic. You can devote all of your attention to
    usability and let Pazpar2 do what it does best -- metasearch.
   </para>
   <para>
-   If you wish to connect to commercial or other databases which do not
-   support open standards, please contact Index Data. We have a licensing
-   agreement with a third party vendor which will enable Pazpar2 to access
-   thousands of online databases, in addition to the vast number of catalogs
-   and online services that support the Z39.50/SRU/SRW protocols.
-  </para>
-  <para>
    Pazpar2 is our attempt to re-think the traditional paradigms for
    implementing and deploying metasearch logic, with an uncompromising
    approach to performance, and attempting to make maximum use of the
    Enjoy!
   </para>
   <para>
-   Pazpar2 is covered by the GNU license version 2.
+   Pazpar2 is covered by the GNU General Public License (GPL) version 2.
    See <xref linkend="license"/> for further information.
   </para>
+  </section>
+
+  <section id="connectors">
+  <title>Connectors to non-standard databases</title>
+  <para>
+   If you wish to connect to commercial or other databases which do not
+   support open standards, please contact Index Data on
+   <email>info@indexdata.com</email>. We have a
+   proprietary framework for building connectors that enable Pazpar2
+   to access
+   thousands of online databases, in addition to the vast number of catalogs
+   and online services that support the Z39.50/SRU/SRW protocols.
+  </para>
+  </section>
+
+  <section id="name">
+   <title>A note on the name Pazpar2</title>
+   <para>
+    The name Pazpar2 derives from three sources.  One one hand, it is
+    Index Data's second major piece of software that does parallel
+    searching of Z39.50 targets.  On the other, it is a near-homophone
+    of Passpartout, the ever-helpful servant in Jules Verne's novel
+    Around the World in Eighty Days (who helpfully uses the language
+    of his master).  Finally, "passe par tout" means something like
+    "passes through anything" in French -- on other words, a universal
+    solution, or if you like a MasterKey.
+   </para>
+  </section>
  </chapter>
 
  <chapter id="installation">