Messaging
The messaging service of the SmartOcean platform supports publishing data and subscribing to real-time data streams
The messaging service is based on the publish-subscribe paradigm and the MQTT protocol. In this paradigm, data providers publish data topics while data consumers subscribe to topic in order to receive data published on the topic.
The messaging service is comprised of two HiveMQ MQTT messaging clusters
- A Data Ingestion Messaging Service for delivering data to the platform
- A Core Messaging Messaging Service for data transformation, forwarding and consumption
as illustrated in the figure below. The data ingestion service receives data in formats determined by the data sources and a transformation to the SmartOcean data format is performed prior to publishing the data on the core messaging service for further processing.
The data ingestion service requires authentication for data provisioning with the following topic structure
- Data transformation implementation: https://github.com/smartoceanplatform/data_transformer
smartocean/<domain>/<site>/<subsite>/<node>
The data transformation component published the transformed data on the corresponding topic:
smartocean/<domain>/<site>/<subsite>/<node>/raw
Currently the following topics are in used corresponding to the data sources of SFI SmartOcean pilot demonstrator 1
smartocean/pilotdemo_0001/austevoll/north/seaguardII_0001
smartocean/pilotdemo_0001/austevoll/south/seaguardII_0002
smartocean/pilotdemo_0001/austevoll/wsense/node1
smartocean/testing/virtualsensorhub