Релиз 5.6

  • Онлайн магазин
  • Коррелятор
  • Отдельный веб-сервер
  • Сервер лицензирования
  • Javascript API
  • Универсальный драйвер

Новые тренды в развертывании сервера, лучшая веб ориентированность и поддержка проприетарных протоколов

Онлайн-магазин

Встречайте AggreGate Store – революционный подход к развертыванию AggreGate в вашей информационной сети. Теперь вы можете публиковать собственные приложения AggreGate для использования внутри корпоративной сети или в открытом доступе. Загружайте и подключайте только те модули и технологии, которые вам необходимы в рамках проекта. Добавляйте их по мере необходимости с ростом проекта. Оптимизируйте системные ресурсы.

Универсальный драйвер

Универсальный драйвер - это своего рода набор для конструирования драйверов. Он позволяет добавить поддержку проприетарных протоколов путем конфигурирования системы, без разработки отдельных модулей драйверов устройств на языке Java.

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

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

Коррелятор

Новый аналитический инструмент AggreGate - коррелятор событий. Это мощный движок по обработке потоков данных. Коррелятор позволяет анализировать данные в реальном времени, преобразовывать их, отслеживать зависимости, находить заданные паттерны, выделять тренды и многое другое.

Движок, используя правила обработки, преобразует входящие потоки данных от одних объектов системы в исходящие события и перенаправляет в другие объекты. Создание правил не вызывает сложностей у большинства инженеров из сферы информационных технологий, ведь конфигурация осуществляется на основе SQL-подобного языка запросов.

Использование коррелятора значительно расширяет возможности существующих инструментов платформы, например, машинного обучения или управления тревогами. Кроме того, стало проще интегрировать различные популярные источники данных и протоколы:

  • Kafka
  • MQTT
  • RabbitMQ
  • WebSocket
  • И другие

Отдельный веб-сервер

Веб-интерфейс AggreGate получил возможность работать автономно под управлением веб-сервера Tomcat. Развернутое таким образом веб-приложение не привязывается к конкретному серверу, а может подключаться к другим серверам. То есть теперь через одно веб-приложение можно работать сразу с несколькими серверами AggreGate.

В этом случае можно высвободить ресурсы, занимаемые веб-сервером и его приложениями, на каждом запущенном экземпляре системы. Это особенно актуально для машин с невысокой производительностью. Кроме того, отдельный веб-сервер возможно настраивать и масштабировать независимо от экземпляров, занятых, например, сбором критических данных.

Javascript API

JavaScript API

JavaScript API - это долгожданная реализация AggreGate API на самом распространенном языке программирования. Теперь вы можете создавать современные веб-интерфейсы и общаться с сервером на одном языке - JavaScript. Одной из главных особенностей этого API является интерактивное взаимодействие с единой моделью данных сервера AggreGate. События, на которые вы подписались, будут приходить асинхронно. Вам остается написать обработчики этих событий и использовать любимый фреймворк, будь то Angular JS, React, Vue или что-то еще.

Сервер лицензирования

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

Достаточно перенастроить экземпляры серверов на запрос лицензии у сервера лицензирования, и новые актуальные лицензии будут проверяться онлайн при запуске. Этот механизм позволяет не только удобно обновлять лицензии с истекшим периодом действия, но и динамически управлять набором модулей удаленных серверов.

Таблицы стали большими

Возможности стандартной структуры данных платформы - Data Table - были существенно расширены. Созданы новые типы таблиц для обеспечения поддержки работы с большими массивами информации. Таблицы теперь не обязательно являются собственно хранилищем данных, что позволяет им работать с информационными массивами, превосходящими по размерам объем доступной оперативной памяти. Более того, несколько таблиц данных могут представлять единый источник данных, что минимизирует использование ими оперативной памяти.

Изменен механизм клиент-серверного взаимодействия при передаче больших данных. В случае "больших таблиц" данные с сервера на клиент теперь могут приходить порционно, по мере необходимости, многократно снижая нагрузку на память клиента.

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

Контроль расхода памяти

Мы постоянно работаем над улучшением поведения системы в пограничных условиях: когда ресурсы заканчиваются, а нагрузка остается высокой. В этом релизе мы научили сервер лучше справляться с ситуацией нехватки памяти. Специальный алгоритм следит за использованием памяти и в случае превышения определенного порога переводит сервер в режим нехватки памяти.

В этом режиме сервер снижает скорость поступления входящих данных, перераспределяя нагрузку на внешние системы: буфера сетевого взаимодействия, очереди устройств, сервисов и другие. После того как сервер обработает достаточное количество входящих данных и освободит память, он возвращается в обычное состояние и продолжает работу в режиме высокой производительности.

Панель самодиагностики

Инструментальная панель диагностики объединила в себя все базовые механизмы мониторинга производительности сервера AggreGate. Информация о загрузке процессора, расходе памяти, состоянии пулов потоков и размерах очередей теперь собрана и наглядно представлена в одном окне. В сочетании со статистикой и счетчиками по основным показателям производительности эти данные позволяют оперативно выявлять потенциальные проблемы в работе сервера и устранять их без использования сторонних инструментов.

Обновление хранилища

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

Детальная настройка прав

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

Пользовательские сессии

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

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

Масштабирование в графическом редакторе

В предыдущем релизе мы представили функцию масштабирования виджетов при запуске. Теперь встречайте масштабирование и в редакторе виджетов! Совмещение линий и другая “мелкая работа” теперь выполняется гораздо легче и быстрее. Просто приблизьте необходимый фрагмент виджета, произведите необходимые манипуляции и верните исходный масштаб. Также и в обратную сторону. Если ваш виджет слишком большой, чтобы уместиться в области редактирования - уменьшите его и оцените, как он выглядит в целом.

Кастомизация внешнего вида

Использование виджетов открывает широкие возможности по созданию пользовательских интерфейсов. Визуальные компоненты обладают огромным количеством настроек, однако большинство из них касаются функциональности визуальных компонентов. Но что делать, если нужно настроить их внешний вид? Мы учли пожелания пользователей и расширили возможности по изменению внешнего вида стандартных компонентов. В этот список вошли: выпадающие списки, окна выбора даты, таблицы и многое другое. Новые настройки превращают привычный редактор виджетов в настоящий инструмент дизайнера.

Драйвер Аватар

Новый драйвер позволяет вам работать с устройством другого сервера как с локальным. При помощи этого драйвера вы создаете образ-аватар устройства, подключенного к серверу через распределенное соединение, и работаете с ним как с обычным локальным устройством: читаете и записываете переменные, вызываете функции и так далее. Все необходимые коммуникации будут выполняться в рамках распределенного соединения.

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

Скачать IoT-платформу AggreGate 5.6