The most requested feature after the first Bagri release was providing access to the system via REST interfaces. And it was added in the recent release 1.1. Now any HTTP client can get interfaces published by the system as WADL definition accessible at /application.wadl and use them. The interfaces currently published are:
- AccessService – manage sessions between clients and Bagri REST server;
- CollectionService – allows collection-based operations on documents;
- DocumentService – all document-based operations; provides access to XDM DocumentManagement API via REST;
- QueryService – allows to perform XQueries and iterate over query results;
- TransactionService – allows begin/commit/rollback transactions, so bunches of subsequent document/query operations can be performed within transaction boundaries;
- SchemaService – provides methods to introspect Schemas accessible to client;
Bagri interfaces are also published with Swagger at /swagger.json|yaml as OpenAPI definitions, thus any client supported by Swagger codegen can be easily generated from them.
As of now the REST server can be deployed as part of Administration server. There are plans to make the deployment options more flexible and allow to deploy it as part of Cache server or as Standalone server too.