Information System Resource Registry
Resource Registry is part of gCube Information System.
Resource Registry is responsible for:
- Context Management : manage hierarchical Context.
- Schema Management : register and define Entities and Relations schema
- Entity Management : manage Entities and Relations instances of registered schemas
- Query and Access : query instances and get the schema definition of registered types
Every Port type is exposed as REST API.
Context Management
It is responsible for managing Context belonging to the same Application Domain.
Security configuration based on Authorization Framework make this port type accessible only from Resource Manager. In other words no others client is allowed to manage Context rather than Resource Manager.
Context requirements:
- No predefined number of levels.
- Possibility to change the name of the Context with no impact for any component.
- Possibility to move a Context from a parent Context to another.
Available Methods:
Create
PUT /resource-registry/context
Description
Create new Context
Parameters
Name | Type | Required | Description |
---|---|---|---|
name | String | true | The name of the context. |
parentContextId | String (UUID) | false | The UUID of the parent Context if any |
Responses
Code | Type | Description |
---|---|---|
200 | String (UUID) | The String representation of the UUID assigned to the created Context |
Examples
URL | Description | Response Example |
---|---|---|
/resource-registry/context?name=gCube | Create a new Context with name gCube | a2fe0030-7b3d-4617-ba37-532c0e4b778d |
PUT /resource-registry/context?name=devsec[&parentContextId=a2fe0030-7b3d-4617-ba37-532c0e4b778d] -> c0f314e7-2807-4241-a792-2a6c79ed4fd0
PUT /resource-registry/context?name=devVRE[&parentContextId=c0f314e7-2807-4241-a792-2a6c79ed4fd0] -> d821bcc0-946b-11e6-bdf4-0800200c9a66
Rename
POST /resource-registry/context/rename/d821bcc0-946b-11e6-bdf4-0800200c9a66?name=devNext
Move
POST /resource-registry/context/move/d821bcc0-946b-11e6-bdf4-800200c9a66[?parentContextId=a2fe0030-7b3d-4617-ba37-532c0e4b778d
Delete
DELETE /resource-registry/context/d821bcc0-946b-11e6-bdf4-0800200c9a66
Schema Management
Resource Type Creation
PUT /resource-registry/schema/resource?schema={ "name":"Actor", "description":"Any entity (human or machine) playing an active role.", "abstractType":true, "superclasses":["Resource"], "properties":null }
Facet Type Creation
PUT /resource-registry/schema/facet?schema={ "name":"ContactFacet", "description":"This facet is expected to capture contact information", "abstractType": false, "superclasses":["Facet"], "properties":[{ "name":"name", "description":“First Name", "mandatory":true, "readonly":false, "notnull":true, "max":null, "min":null, "regexpr":null, "linkedType":null, "linkedClass":null, "type":7 /* String*/ },{ "name":"eMail", "description": "A restricted range of RFC‑822 compliant email address. ... ", "mandatory":true, "readonly":false, "notnull":true, "max":null, "min":null, "regexpr": "^[a-z0-9._%+-]{1,128}@[a-z0-9.-]{1,128}$", "linkedType":null, "linkedClass":null, "type":7 /* String */ }] }
isRelatedTo Type Creation
PUT /resource-registry/schema/isRelatedTo?schema={ "name":"Hosts", "description": “…”, "abstractType":false, "superclasses":["IsRelatedTo"], "properties":[] }
consistsOf Type Creation
PUT /resource-registry/schema/consistsOf?schema={ "name":"HasContact", "description":"", "abstractType":true, "superclasses":["ConsistsOf"], "properties":[] }
Embedded Type Creation
PUT /resource-registry/schema/embedded?schema={ "name":“AccessPolicy", "description":"", "abstractType":false, "superclasses":[], "properties":[{ "name":“policy", "description":"", "mandatory":false, "readonly":false, "notnull":false, "max":null, "min":null, "regexpr":null, "linkedType":null, "linkedClass":”ValueSchema”, "type": 9 /* Embedded */ },{ "name":“note", "description":"", "mandatory": false, "readonly":false, "notnull":false, "max":null, "min":null, "regexpr":null, "linkedType":null, "linkedClass":null, "type":7 /* String*/ }] }
Entity Management
...
Query Management
...