mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-27 00:57:50 +00:00
57 lines
2.7 KiB
Plaintext
57 lines
2.7 KiB
Plaintext
|
The SRU package provides a framework for working with the Search and
|
||
|
Retrieval by URL (SRU) protocol developed by the Library of Congress. SRU
|
||
|
defines a web service for searching databases containing metadata and
|
||
|
objects. SRU often goes under the name SRW which is a SOAP version of the
|
||
|
protocol. You can think of SRU as a RESTful version of SRW, since all the
|
||
|
requests are simple URLs instead of XML documents being sent via some sort
|
||
|
of transport layer.
|
||
|
|
||
|
You might be interested in SRU if you want to provide a generic API for
|
||
|
searching a data repository and a mechanism for returning metadata
|
||
|
records. SRU defines three verbs: explain, scan and searchRetrieve which
|
||
|
define the requests and responses in a SRU interaction.
|
||
|
|
||
|
This set of modules attempts to provide a framework for building an SRU
|
||
|
service. The distribution is made up of two sets of Perl modules: modules
|
||
|
in the SRU::Request::* namespace which represent the three types of
|
||
|
requests; and modules in the SRU::Response::* namespace which represent
|
||
|
the various responses.
|
||
|
|
||
|
Typical usage is that a request object is created using a factory method
|
||
|
in the SRU::Request module. The factory is given either a URI or a CGI
|
||
|
object for the HTTP request. SRU::Request will look at the URI and build
|
||
|
the appropriate request object: SRU::Request::Explain, SRU::Request::Scan
|
||
|
or SRU::Request::SearchRetrieve.
|
||
|
|
||
|
Once you've got a request object you can build a response object by using
|
||
|
the factory method newFromRequest() in SRU::Request. This method will
|
||
|
examine the request and build the corresponding result object which you
|
||
|
can then populate with result data appropriately. When you are finished
|
||
|
populating the response object with results you can call asXML() on it to
|
||
|
get the full XML for your response.
|
||
|
|
||
|
To understand the meaning of the various requests and their responses
|
||
|
you'll want to read the docs at the Library of Congress. A good place to
|
||
|
start is SRW/U In Five Hundred Words
|
||
|
http://www.loc.gov/z3950/agency/zing/srw/brief.html For more information
|
||
|
about working with the various request and response objects in this
|
||
|
distribution see the POD in the individual packages:
|
||
|
|
||
|
* SRU::Request
|
||
|
* SRU::Request::Explain
|
||
|
* SRU::Request::Scan
|
||
|
* SRU::Request::SearchRetrieve
|
||
|
* SRU::Response
|
||
|
* SRU::Response::Explain
|
||
|
* SRU::Response::Scan
|
||
|
* SRU::Response::SearchRetrieve
|
||
|
* SRU::Server
|
||
|
|
||
|
Questions and comments are more than welcome. This software was developed
|
||
|
as part of a National Science Foundation grant for building distributed
|
||
|
library systems in the Ockham Project. More about Ockham can be found at
|
||
|
http://www.ockham.org.
|
||
|
|
||
|
WWW: http://search.cpan.org/dist/SRU
|
||
|
Author: Ed Summers <ehs@pobox.com>
|