NAME

Net::Z3950::UDDI::Database - back-end independent database for z2uddi

SYNOPSIS

$db = new Net::Z3950::UDDI::Database($dbconfig);
$map = $db->config()->property("indexmap"); 
$rs = $db->search($rpn);

DESCRIPTION

Net::Z3950::UDDI::Database objects represent a connection to backend database of some kind or another, but hide the details of whether that database is a SOAP service or a UDDI repostory (or something else again) by presenting a simple, generic API.

METHODS

new()

$session = new Net::Z3950::UDDI::Database($dbname, $config)

Creates and returns a new session object for the specied user, using the specified password. These authentication credentials are optional if not required by the back-ends accessed by subsequent searches.

The returned object will not be of the Database base-class, but of one of the subclasses such as Database::soap or Database::uddi. This selection is made on the basis of the type parameter specified in the database's $config: a module corresponding to that type is loaded and invoked.

search()

$rs = $db->search($rpn);

Searches the specified database using the query $rpn, which is a structure representing a Z39.50 Type-1 query, of the kind passed into search callback functions by Index Data's SimpleServer. (That's convenient!)

Returns a result-set, and object of a subclass of Net::Z3950::UDDI::ResultSet corresponding to $db's particular subclass of Net::Z3950::UDDI::Database

SUBCLASSING

### to be written

SEE ALSO

Net::Z3950::UDDI::Session is the module that immediately uses this, as it maintains a mapping of Z39.50 database-names to Database objects.

AUTHOR, COPYRIGHT AND LICENSE

As for Net::Z3950::UDDI.