Service Registry prototype - AIoTES/DataLayer-DataLake-QueryExecution GitHub Wiki
The service registry prototype (JSON server) can be managed using a REST API:
| Request | Description |
|---|---|
| GET /services | Get registered web services |
| GET /services/{id} | Get web service description |
| POST /services | Add new web service |
| PUT /services/{id} | Update web service |
| DELETE /services/{id} | Remove web service |
| GET /platforms | Get platform references from service registry |
| POST /platforms | Add platform reference |
| PUT /platforms | Update platform reference |
| DELETE /platforms | Remove platform reference |
Service description:
{
"id": "string",
"type": "string",
"url": "string",
"sources": [
"string"
],
"user": "string",
"password": "string",
"DS": "string",
"platform": "string",
"platformType": "string"
}
- The attribute "type" indicates the type of web service:
- "platform-historic": for platform historical data web services.
- "independent-storage": for Independent Data Storage databases. IDS instances should be registered as many times as the number of existing databases in the instance (the id should be the database name in each case).
- "semantic-translator": for IPSM instances.
- "syntactic-translator": for syntactic translation web services.
- The attributes "DS" and "platform" correspond to the DS name and type of the platform associated with this web service (for example, universAAL), respectively, and can be used as input parameters in the queries.
- The attribute "sources" contains the unique identifiers of the IoT platform instances associated with a service. In the case of historical data web services, platform data is used to determine the syntactic and semantic translation of the retrieved data.
- The attribute "platformType" is only used in the case of syntactic translation services and indicates the platform type associated with the syntactic translator. Its value is be the same as in the corresponding bridge.
Platform description:
Platforms are described using a similar format to the one used in the SIL:
{
"id": "string",
"platformType": "string",
"baseEndpoint": "string",
"location": "string",
"name": "string",
"downstreamInputAlignmentName": "string",
"downstreamInputAlignmentVersion": "string",
"downstreamOutputAlignmentName": "string",
"downstreamOutputAlignmentVersion": "string",
"upstreamInputAlignmentName": "string",
"upstreamInputAlignmentVersion": "string",
"upstreamOutputAlignmentName": "string",
"upstreamOutputAlignmentVersion": "string"
}
The attribute "platformType" defines the syntactic translation of the data. The Alignment attributes define the semantic translation of the data (only upstream alignments are used in historical data translation).