Комплект разработчика расширений

Модульная архитектура AggreGate основана на расширениях. Фактически, ядро системы крайне легковесно, и даже стандартные серверные модули представляют собой подключаемые расширения.

Разработка пользовательских расширений позволяет расширить возможности системы по сбору, хранению, аналитике и визуализации данных. Тем не менее, разработка имеет смысл только тогда, когда уже существующие модули AggreGate не могут решить поставленную задачу, а это крайне редкая ситуация.

AggreGate поддерживает множество типов расширений:

  • Драйвера устройств
  • Расширения хранения данных
  • Модули обработки и аналитики данных
  • Компоненты пользовательского интерфейса
  • Пакеты локализации и ребрендинга
  • Модули внешней аутентификации
  • Веб-приложения
  • Пакеты ресурсов

Поскольку расширения работают внутри сервера или клиента AggreGate, они должны быть разработаны на Java. Каждое расширение представляет собой одиночный файл с расширением .jar (Java Archive). Также в некоторых случаях оно может зависеть от других расширений.

Архитектура расширений основана на библиотеке Java Plugin Framework (JPF). JPF была выбрана среди прочих фреймворков (например, OSGi) из-за её легковесности. Это позволяет серверу работать в средах с ограниченными ресурсами, таких, как одноплатные ПК, IoT-шлюзы, сенсорные панели и ПЛК на базе Linux.

Помимо добавления полностью новых возможностей по сбору/хранению/аналитике/визуализации данных, расширения могут также включать ресурсы существующих типов, например, тревоги или отчёты.