Fedora Repository - Web Service Interfaces
The interface to the system consists of three open APIs
that are exposed as web services:
- Management API (API-M) defines an interface for administering
the repository. It includes operations necessary for clients to create
and maintain digital objects and their components. API-M is implemented
as a SOAP-enabled web service.
- Access API (API-A) defines an interface for accessing
digital objects stored in the repository. It includes operations necessary
for clients to perform disseminations on objects in the repository
and to discover information about an object using object reflection.
API-A is implemented as a SOAP-enabled web service.
- Access-Lite API (API-A-Lite) defines a light-weight
version of the Fedora Access Service that is implemented as a REST-based
web service that can be invoked with a simple URL syntax.
- Management-Lite API (API-M-Lite) this interface is under development.
The intent is to provide a light-weight version of the Fedora Management
Service implemented as a REST-based web service that can be invoked with a simple URL syntax.
Currently, there is only one operation implemented, which is the getNextPID. A full versioin
of this interface may be provided in a future release, depending on user demand.
- Search API (part of API-A-Lite) this interface provides a simple search of the repository.
The search operates upon the default index for the repository which contains object properties and the
default Dublin Core record for the repository. This search interface is intended as a basic field search
of the object registry. It is expected that other services will be used to created to index Fedora objects
at a finer-grained level than provided by the default search.
- Resource Index Search API this is a new interface as of Fedora 2.0 that provides
searching of the new Resource Index. The Resource Index is an RDF-based index of the Fedora
repository that includes the following for each digital object:
- object-to-object relationships (from the RELS-EXT datastream of
a digital object)
- custom user-defined properties (from the RELS-EXT datastream of
a digital object)
- object properties (derived from the FOXML digital object)
- metadata about datastreams and disseminations (derived from the
FOXML digital object)
- Dublin Core metadata (obtained from the default DC datastream of
a digital object)