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).

⚠️ **GitHub.com Fallback** ⚠️