NAME

Net::Z3950::DBIServer - Generic Z39.50-to-Relational Database gateway module

SYNOPSIS

        use Net::Z3950::DBIServer;
        $handle = new Net::Z3950::DBIServer($configFile);
        $handle->launch_server("myAppName", @yazOptions);

DESCRIPTION

This module provides a generic, configurable gateway between the Z39.50 information retrieval protocol and pretty much any SQL database you can think of. When the DBIServer server module is running, you can connect your favourite Z39.50 client to it, and issue searches. The gateway receives Z39.50 searches, translates them into SQL queries, executes them against a relational database, translates the resulting rows of SQL tables into Z39.50 records, and sends them back out to the client.

The mappings from Z39.50 concepts to SQL and back again are controlled by tables described in the Net::Z3950::DBIServer::Spec manpage

METHODS

new()

        $handle = new Net::Z3950::DBIServer($configFile);

Creates and returns a new Z39.50-SQL gateway server, configured to translate back and forth between Z39.50 and SQL concepts by the named configuration file. If the file is invalid, error messages are printed to the standard error stream, and an undefined value is returned.

launch_server()

        $handle->launch_server("myAppName", @yazOptions);

Launches the Z39.50-SQL gateway server $handle, using the specified string as an identifier in any log messages, and with its Z39.50 server behaviour controlled by @yazOptions as described in the YAZ manual at http://www.indexdata.com/yaz/doc/server.invocation.php and also in the Net::Z3950::DBIServer::Run manpage

This method never returns unless an error occurs.

AUTHOR

Mike Taylor <mike@miketaylor.org.uk>

First version Saturday 2nd February 2002.

SEE ALSO

the Net::Z3950::DBIServer::Spec manpage describes the format of the configuration files which specify this module's behaviour.

the Net::Z3950::DBIServer::Config manpage describes the API to the configuration file parser.

the Net::Z3950::DBIServer::ResultSet manpage describes the API to the internal representation of result sets.

the Net::Z3950::DBIServer::GRS1 manpage describes the API to the GRS1 record formatter.

the Net::Z3950::DBIServer::XML manpage describes the API to the XML record formatter.

the Net::Z3950::DBIServer::Exception manpage describes the simple exception objects used to represent Bib-1 diagnostics.