Skip to main content
Version: 1.0

FROST-Server

The FROST-Server allows for managing sensor data and their meta data, i.e. description of things. In addition, it enables real-time data processing, storage, and access. The Server implements and provides the SensorThings API standadized by the OGC.

Access to FROST-Server resources is controlled using Keycloak tokens, ensuring secure access to sensor data and related functionalities.

Frost is a headless service that can be configured using an extensive OGC SensorThings REST API.

The API basepath for FROST is: https://api.<domain>/context/sensorthings/

Meta data and measured data can be added to Frost using this API, too.

For configuration, a REST testing tool like Postman can be used. With Postman, users can easily interact with Frost APIs to add sensor data, manage things, and perform other actions as required.

Stellio Context Broker - NGSI-LD API

Stellio is an NGSI-LD compliant context broker developed by EGM. NGSI-LD is an Open API and Datamodel specification for context management published by ETSI.

Stellio is composed of 2 business services:

  • The search service is in charge of managing the information context and handling the temporal (and geospatial) queries, it is backed by a TimescaleDB database.
  • The subscription service is in charge of managing subscriptions and subsequent notifications, it is backed by a TimescaleDB database.

Additionally, the following two components are deployed to run the full broker functionality:

  • An internal API Gateway module that dispatches requests to downstream services
  • A Kafka streaming engine that decouples communication inside the broker

The Stellio API is integrated in the external API Gateway provided by APISIX. The API basepath for Stellio is: https://api.<domain>/context/ngsi-ld/

Stellio supports most features of the NGSI-LD specification including temporal access to the full history of managed entities.

A full API description is given here: API Walkthrough

10.1. QuantumLeap

QuantumLeap is a REST service for storing, querying and retrieving NGSI v2 and NGSI-LD spatial-temporal data.

QuantumLeap converts NGSI semi-structured data into tabular format and stores it in a time-series database, associating each database record with a time index and, if present in the NGSI data, a location on Earth.

If you only need accessing the NGSI-LD Data via API, you do not need to activate the Quantumleap Component. But if you want to access the NGSI-LD data directly via database access, then this components helps to create a simple to use copy of the data.

Activating the component by configuring the deployment in the inventory is the first step.

The second step is to decide, which data should be replicated to quantum leap. This is done by creating a subscription in Stellio. Quantumleap is more or less an external consumer for Stellio and must be coupled by Subscriptions.

The subscription API in detail is described here: Subscriptions

A concrete example (in curl syntax) of a subscription, that subscribes to all data of one dataspace looks as follows:

curl --location 'https://api.<domain>/context/ngsi-ld/v1/subscriptions/' \
--header 'fiware-service: ds_protected' \
--header 'Authorization: Bearer <token>' \
--header 'content-type: application/ld+json' \
--data-raw '{
"description": "Persist data to quantum leap",
"type": "Subscription",
"entities": [{"type": ".*"}],
"notification": {
"format": "keyValues",
"endpoint": {
"uri": "http://quantumleap.<namespace>.svc.cluster.local:8668/v2/notify",
"accept": "application/json"
}
},
"@context": "http://context-provider:3000/data-models/ngsi-context.jsonld"
} '

The subscription uses the internal URL of Quantumleap to forward the data.