DeviceHive Plugin Management service

This page contains basic information about Plugin Management service

Overview

The plugin management service is an additional DeviceHive microservice, which allows managing device command or notification subscriptions into a dedicated Kafka topic.

In order to register, delete, and update plugins, the plugin management service integrates with Swagger, which is a framework of API developer tools.

The plugin supports various combinations of subscriptions: by networks, devices, or device types.

Components

Plugin Management service – DeviceHive microservice which provides plugin information (JWT tokens, proxy endpoint, health check endpoint) after registration and also allows to update and delete plugin.

Auth service – DeviceHive microservice for creating and refreshing user's and plugin's JWT tokens.

WebSocket Kafka Proxy – Node.js service which wraps some of the essential message broker functionality allowing you to communicate with Apache Kafka through WebSockets. Internal instance establishes communication between DeviceHive microservices, plugin instance allows users to work with created plugins.

Kafka TOPIC_N – dedicated users topic with subscription messages (commands or notifications).

Templates

Currently the following templates are available:
Java template - a simple template which is meant to provide a sample structure for any DeviceHive plugins written in Java.
NodeJS plugin core functionality which makes it possible to quickly and easily create DeviceHive plugins using NodeJS.
Python library for building plugins - provides wrapper for DeviceHive plugin API
Cassandra storage plugin written in Node.js - allows you to store commands and notifications obtained through DeviceHive platform in Cassandra.
Kinesis Streaming plugin written in Node.js - allows you to stream data in Kinesis Data Streams and Firehose Delivery Streams as it goes through DeviceHive.