Архитектура Business Studio
Ниже приведена схема архитектуры Business Studio в варианте установки автоматически типовым скриптом по развертыванию Business Studio (типовая конфигурация). Для развертывания необходима квалификация в областях системного администрирования и/или DevOps.

Описание внутренних компонентов Business Studio 7 (в скобках приведены названия контейнеров в поставляемом docker-compose.yml):
- Business Studio 7 backend (bs-backend) - серверная часть Business Studio, которая отвечает за обработку данных, выполнение бизнес-логики,получение информации, а также взаимодействие с базами данных и внешними сервисами.
- Business Studio 7 frontend (nginx) - пользовательская, внешняя часть Business Studio, веб страницы и скрипты для исполнения в браузере. Это все визуальные элементы, интерфейсы и интерактивные функции. Nginx служит для маршрутизации запросов между cтатическим контентом BS, BS backend, KeyCloak, OnlyOffice.
- Сервер лицензий (bs-license-server) - компонент, отвечающий за управление лицензиями Business Studio.
Для работы также используется внешние OpenSource-компоненты, также вместо них могут быть использованы их платные аналоги из реестра отечественного ПО.
Описание OpenSource-компонентов, устанавливаемых в типовой конфигурации по умолчанию (в скобках приведены названия контейнеров в поставляемом docker-compose.yml):
- KeyCloak (keycloak, keycloak-postgresql) - агрегатор каталогов учетных записей на основе протокола OpenID.
Компонент для настройки системы авторизации. Он позволяет авторизоваться практически в любом каталоге на рынке, включая социальные сети и т.д. Business Studio уже настроена для работы с Keycloak, что упрощает управление доступом.
Поддерживается подключение других систем на базе OpenID. - OnlyOffice (onlyoffice-documentserver, onlyoffice-rabbitmq, onlyoffice-postgresql)/Р7 офис - браузерный редактор офисных документов (поддерживаются все популярные форматы текстовых документов, таблиц, презентаций и т.д.).
Бесплатное решение OnlyOffice Docs Community ставится вместе с Business Studio (20 одновременных документов на редактирование, остальные на просмотр), также можно использовать Р7 Офис Сервер документов, купив нужное количество лицензий. - Kafka (kafka, kafka-ui) - распределённая платформа для потоковой передачи данных и брокер сообщений, который позволяет публиковать, хранить и обрабатывать события (сообщения) в реальном времени с высокой пропускной способностью и отказоустойчивостью.
Она позволяет неограниченно масштабировать и гарантированно исполнять выданные ей задания: пакетное формирование отчетов, копирование больших моделей и освобождать пользовательский интерфейс не дожидаясь окончания операции.
Также через Kafka можно реализовать бесшовную автоматическую интеграцию с другими системами, если подписаться на события от Business Studio и передавать данные в другие системы, в том числе в SIEM-системы (для служб безопасности) Kafka имеет множество дашбордов для контроля за выданными заданиями и умеет неограниченно масштабироваться. В Business Studio можно настраивать любое количество процессов, которые будут исполнять очередь команд, тем самым добиваться нужной производительности итогового решения. - OpenSearch (opensearch-node1, opensearch-node2, opensearch-dashboards) - бесплатный форк популярного, но платного Elasticsearch, система для полнотекстового поиска по сайтам, анализа журналов и бизнес-аналитики.
Позволяет собирать всю информацию о работе Business Studio в единой БД (логи) и делать произвольные запросы: По классу события, дате, пользователю , процессу, компоненту, тексту и т.д.
Для наполнения ее базы используется сборщик данных Fluentd. Для визуализации информации и удобного интерфейса работы с запросами подключен OpenSearch Dashboards (бесплатный форк Kibana).
Также можно подключать любые свои решения для централизованного сбора логов в любой подобной системе. - PostgreSQL (postgresql) - СУБД.
Также могут быть использованы Postgres Pro, другие СУБД на основе PostgreSQL и MS SQL Server. - Redis (redis, redis-ui) - высокопроизводительная система управления базами данных NoSQL, работающая по принципу «ключ-значение» и хранящая данные в оперативной памяти (RAM) для сверхбыстрого доступа.
Она поддерживает разнообразные структуры данных, такие как строки, списки, множества, хэши и отсортированные множества, что делает её универсальной для кэширования, очередей сообщений и сессий пользователей.
Используется как временный кеш, для хранения в памяти данных BS backend. - Node.js (bs-node-js) - кросс-платформенная среда выполнения JavaScript-кода вне браузера, построенная на движке V8 от Google Chrome, которая позволяет создавать серверные приложения, API и утилиты командной строки.
Она использует событийно-ориентированную, неблокирующую модель ввода-вывода, что обеспечивает высокую производительность при обработке множества одновременных запросов.
Используется для запуска js кода в серверной среде для Business Studio, например для генерации диаграмм, вызывается из BS backend.
Данный вариант установки может быть модифицирован под нужды конкретных инфраструктур, например могут быть использованы существующие компоненты PostgreSQL, Redis, Kafka, KeyCloak и т.д.
Вендор при необходимости оказывает услуги по развертыванию Business Studio в типовой конфигурации на платной основе (см. Прайс-лист).