Комплект разработчика расширений
Модульная архитектура AggreGate основана на расширениях. Фактически, ядро системы крайне легковесно, и даже стандартные серверные модули представляют собой подключаемые расширения.
Разработка пользовательских расширений позволяет увеличить возможности системы по сбору, хранению, аналитике и визуализации данных. Тем не менее, разработка имеет смысл только тогда, когда уже существующие модули AggreGate не могут решить поставленную задачу, а это крайне редкая ситуация.
AggreGate поддерживает множество типов расширений:
- Драйвера устройств
- Расширения хранения данных
- Модули обработки и аналитики данных
- Компоненты пользовательского интерфейса
- Пакеты локализации и ребрендинга
- Модули внешней аутентификации
- Веб-приложения
- Пакеты ресурсов
Поскольку расширения работают внутри сервера или клиента AggreGate, они должны быть разработаны на Java. Каждое расширение представляет собой одиночный файл с расширением .jar (Java Archive). Также в некоторых случаях оно может зависеть от других расширений.
Архитектура расширений основана на библиотеке Java Plugin Framework (JPF). JPF была выбрана среди прочих фреймворков (например, OSGi) из-за её легковесности. Это позволяет серверу работать в средах с ограниченными ресурсами, таких как одноплатные ПК, IoT-шлюзы, сенсорные панели и ПЛК на базе Linux.
Помимо добавления полностью новых возможностей по сбору/хранению/аналитике/визуализации данных, расширения могут также включать ресурсы существующих типов, например, тревоги или отчёты.