NAME

Net::Z3950::Simple2ZOOM - Gateway between Z39.50 and SRU/SRW

SYNOPSIS

use Net::Z3950::Simple2ZOOM;
$s2z = new Net::Z3950::Simple2ZOOM("somefile.xml");
$s2z->launch_server("someServer", @ARGV);

DESCRIPTION

The Net::Z3950::Simple2ZOOM module provides all the application logic of a generic "Swiss Army Gateway" between Z39.50 and SRU. It is used by the simple2zoom program, and there is probably no good reason to make any other program to use it. For that reason, this library-level documentation is more than usually terse.

The library has only two public entry points: the new() constructor and the launch_server() method. The synopsis above shows how they are used: a Simple2ZOOM object is created using new(), then the launch_server() method is invoked on it to -- get ready for a big surprise here -- launch the server. (In fact, this synopsis is essentially the whole of the code of the simple2zoom program. All the work happens inside the library.)

METHODS

new($configFile)

$s2z = new Net::Z3950::Simple2ZOOM("somefile.xml");

Creates and returns a new Simple2ZOOM object, configured according to the XML file $configFile that is the only argument. The format of this file is described in Net::Z3950::Simple2ZOOM::Config.

launch_server($label, @ARGV)

$s2z->launch_server("someServer", @ARGV);

Launches the Simple2ZOOM server: this method never returns. The $label string is used in logging, and the @ARGV vector of command-line arguments is interpreted by the YAZ backend server as described at http://www.indexdata.dk/yaz/doc/server.invocation.tkl

SEE ALSO

The simple2zoom program.

The Net::Z3950::Simple2ZOOM::Config manual for the configuration-file format.

The Net::Z3950::SimpleServer module.

The ZOOM module (in the Net::Z3950::ZOOM distribution).

AUTHOR

Sebastian Hammer <quinn@indexdata.com>

Mike Taylor <mike@indexdata.com>

COPYRIGHT AND LICENCE

Copyright (C) 2007 by Index Data.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.