API Extension Architecture (API-X)
API-X is a framework for binding services to repository objects in order to extend the functionality of a Fedora 4 repository. It provides a data model for expressing how services bind to repository resources, registries that support service discovery, and an HTTP middleware layer that exposes services as endpoints or mediates access to the repository transparently via these services.
For more information, please see the technical overview or try out a docker based demo that highlights what API-X is and does by providing step-by-step evaluation tasks.
Building
To build API-X, do:
mvn clean install
OSGi deployment (Karaf 4.x)
API-X is distributed as OSGi bundles and provides Karaf feature descriptors, making it easy to deploy in a Karaf container. There are several ways to install these features, please refer to the karaf provisioning documentation for more information.
Manual installation in Karaf
To do this, first, add the fcrepo-api-x-karaf
repository in the Karaf console:
$ feature:repo-add mvn:org.fcrepo.apix/fcrepo-api-x-karaf/LATEST/xml/features
Then, run
$ feature:install fcrepo-api-x
This will start an instance of API-X running on default settings. API-X will presume there is a Fedora instance at http://localhost:8080/fcrepo/rest
. See individual module documentation for how to override the defaults.
Contributing
Contributors to DuraSpace projects should complete a Contributor License Agreement or be covered by a corporate agreement.