Перейти к основному содержимому

01 Описание системы Luxms BI

Платформа Luxms BI создана для интерактивной визуализации данных с целью проведения экспресс-анализа их структуры и динамики. Реализовано на трёх слоях:

  • Представление (Front-End Layer).
  • Обработка (Back-End Layer).
  • Хранение (Storage Layer).

Слой “Представления”

  1. Реализован на базе NGinx (компонент luxmsbi-web) и усилен использованием Lua-скриптов. Дополнительно функционал Front-End-а использует HTTP API компонента luxmsbi-appserver (Java). Предоставляет следующие интерфейсы:
  • HTTP/HTTPS - 80,443/TCP.

Tребует взаимодействия с:

  • KeyDB сервером.
  • БД Luxms BI.
  • Компонентом luxmsbi-appserver.
  • Компонентом luxmsbi-datagate.
  • Компонентом luxmsbi-importer.

Компонент luxmsbi-web включает в себя базовые конфигурационные файлы для организации SSO-авторизации и шифрование сессий с помощью SSL.

2) luxmsbi-bins (Javascript) - предоставляет функционал обработки WebSocket соединений с браузером клиента. Имеет следующие интерфейсы:

- HTTP API - 8888/TCP.

Tребует взаимодействия с:

  • KeyDB сервером;
  • БД Luxms BI.

Слой “Обработки”

Текущая версия требует наличия только компонента luxmsbi-appserver, поставляемый с пакетом luxmsbi-appserver-mono, который включает в себя консолидированный функционал по управлению системой и взаимодействия с источниками данных.

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

  • luxmsbi-appserver, поставляемый пакетом luxmsbi-appserver, без функционала работы с Источниками данных;
  • luxmsbi-datagate, поставляемый пакетом luxmsbi-datagate.

Компонент luxmsbi-importer - устаревший компонент для обеспечения интеграции с внешними Источниками данных. Поддерживаемый для существующих Клиентских инсталляций, но не рекомендуемый для новых развертываний.

  1. luxmsbi-appserver (Java) - предоставляет API для управления настройками приложения Luxms BI и функционал работы с Источниками данных, в консолидированном варианте. Имеет следующие интерфейсы:
  • HTTP API - 8080/TCP;
  • RSocket - 7200/TCP, при использовании консолидированного компонента luxmsbi-appserver-mono.

Tребует взаимодействия с:

  • NATS сервером;
  • БД Luxms BI.
  1. luxmsbi-datagate(Java) - обеспечивает взаимодействие со сторонними источниками данных. Имеет следующие интерфейсы:
  • HTTP API - 8200/TCP.
  • RSocket - 7200/TCP.

Tребует взаимодействия с:

  • NATS сервером;
  • БД Luxms BI.

3) luxmsbi-importer(Java) - реализует функционал импорта, обработки и загрузки данных по расписанию. Имеет следующие интерфейсы:

  • HTTP API - 8192/TCP;
  • RSocket - 7192/TCP.

Tребует взаимодействия с:

  • KeyDB сервером;
  • NATS сервером;
  • БД Luxms BI;
  • Компонентом luxmsbi-appserver;
  • Компонентом luxmsbi-datagate.

Слой Хранения

  1. Хранение данных реализовано на PostgreSQL - свободная объектно-реляционная система управления базами данных. Предоставляет другим компонентам интерфейс доступа:
  • PostgreSQL - 5432/TCP.

Tребует взаимодействия с:

  • KeyDB сервером.
  • Компонентом luxmsbi-appserver.
  • Компонентом luxmsbi-datagate.

Компоненты Luxms BI поддерживают подключение к БД с использованием SSL-шифрования, но для снижения ресурсной нагрузки рекомендуется использовать нешифрованные соединения, особенно во внутренних закрытых сегментах сети.

  1. NATS сервер - распределённое хранилище объектов, в том числе в формате key:value и брокер функционала pub/sub. Используется для консолидации конфигурационных объектов и обеспечения доступности сгенерированных отчетов в распределенной архитектуре. Предоставляет другим компонентам интерфейсы доступа:
  • NATS cluster protocol - 6222/TCP
  • NATS client protocol - 4222/TCP

ETL-решение

luxms-databoring(NodeJS) - обеспечивает исполнение сценариев получения и трансформации данных из сторонних источников данных. Имеет следующие интерфейсы:

  • HTTP API - 1880/TCP.

Tребует взаимодействия с:

  • Компонентом luxmsbi-importer, если он используется;
  • Компонентом luxmsbi-appserver и/или luxmsbi-datagate, если он используется;
  • Компонентом luxmsbi-web.