Skip to content
This repository has been archived by the owner on Jan 8, 2024. It is now read-only.

Overview

wagmarcel edited this page Jan 10, 2018 · 1 revision

High Level Architecture of Open IoT Connector

architecture

Components

Service Hub (or Frontend)

The Service Hub consists of nginx, Node.js, Postgresql and the Websocket server.

Nginx is the main entry point for the web service and forwards dynamic requests from port 80 to the Express Server running in Node.js. Static content is served directly from the Nginx cache. The Postgresql database is used to store users, registered devices, rules, alerts, etc. A Websocket server is managing the connection back to the edge devices, e.g. to trigger actuations.

Backend

The backend is storing the time series data coming from the IoT Devices. E.g. temperature data, humidity, etc.

It consists basically of two parts:

  • (internal!) REST API to receive data from the Service Hub.
  • HBase/Hadoop Big Data storage The data is stored persistently and forwarded to a Kafka streamer to provide the data to other components like the Rule Engine

Rule Engine

The Rule Engine is responsible for analyzing the incoming data and triggering alerts when specific conditions are found. For example, when temperature is above a certain degree Celsius over a period of time or when statistical outliers are detected.

It has been implemented based on the Gearpump framework which is optimized for real-time streaming analytics.

Streaming

The streaming is based on Kafka.

Analytics

The Rule Engine is already an example how analytics services have to be added to the system.

Table of Contents

Clone this wiki locally