Net::Z3950::Simple2ZOOM(3pm)

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.