5. Компонентная модель СМЭВ QL сервера
5.1. Общее представление
СМЭВ QL сервер представляет собой бэк-энд сервис, состоящий из определенного набора функциональных модулей, файловой системы (набор папок и yaml-файлов) и персистентного хранилища, реализованного на Redis. Для обращения к СМЭВ QL сервер используется набор методов OpenAPI.
5.2. Схема
Рисунок - 5.12 Компонентная модель СМЭВ QL сервера
5.3. Описание компонентов
Компонент |
Описание |
|---|---|
Утилита создания и запуска smevql |
Утилита, позволяющая в терминальном режиме запускать команды для создания и запуска экземпляра СМЭВ QL сервера, а так же выполнять операции по работе с ключевыми сущностями СМЭВ QL (генерация моделей данных, подключение источников данных и т.д.). Перечень доступных команд:
|
Reddis |
Хранилище персистентных данных СМЭВ QL сервера. |
Модули smevql |
Набор функциональных модулей СМЭВ QL сервера, реализующих его логику работы. Перечень и функциональное назначение модулей в Таблица 5.3 |
Файловое хранилище |
Структура папок и файлов СМЭВ QL сервера. Хранит настройки и описание моделей ключевых сущностей: модель данных, описание источников данных, машины состояний и пр. |
Модуль |
Функциональное назначение |
|
|---|---|---|
1 |
configureKoin |
|
2 |
configureSerialization |
|
3 |
configureMetrics |
|
4 |
accessModule |
Управление доступами потребителей данных. Конфигурирование «чёрных» и «белых» списков |
5 |
serverModule |
|
6 |
pingModule |
Проверка доступности СМЭВ QL сервера |
7 |
limitModule |
Управление лимитами входящих запросов от потребителей данных |
8 |
dataSourceModule |
Управление моделями источников данных |
9 |
dataModelModule |
Управление моделями данных |
10 |
dataModule |
Обработка входящих запросов |
11 |
stateMachineModule |
Управление моделями, запуск и исполнение машин-состояний |
12 |
pushModule |
Управление подписчиками на изменение данных витрины и передача уведомлений |
13 |
swaggerModule |
Создание и предоставление внешнему клиенту описания openAPI спецификации |
14 |
printRoutes |
Запись путей вызова обработчиков |