The conceptual architecture behind gCube CMS Suite is schematized in the figure above.
Here we describe the rationale behind the architecture :
* Clients perform both CRUD and Query operations against the service both via using the client library or by directly interacting with the service REST interface.
* They interact with the service producing the custom metadata document (stored in a Document Store DB) and registering related Filesets (stored in gCube StorageHub).
* Clients sends steps (pre configured in the collection UCD) requests to the service, which in turn delegate Lifecycle operations to configured implementations.
* Clients may also directly consume materialized projects in ad hoc engines (e.g. SDI or DBMS). For this purpose, the service exposes information needed by the client in order to properly consume the project collection.
*******
Service
*******
gCube CMS Service is a gCube REST-like Application developped on top of gCube SmartGears.
It implements the core business logic of gCube CMS Suite, exposing methods for the management of Projects, Use Case Descriptors and available server plugins.
It is built on top of Jersey Framework, it uses a MongoDB Document Store for JSON archiving and Querying.
It exploits the infrastructure StorageHub for archiving FileSets and the Information System in order to discover available resources.
=========
Interface
=========
..note:: The service interface is available for testing here.
..alert:: You need gCube credentials in order to send requests to the service.
Projects
********
BASE PATH : ''../projects/{ucid}/''
Projects interface offers the following methods over a collection (see {ucid} in path)