4. Функции СМЭВ QL Сервера

4.1. Администрирование и конфигурирование

4.1.1. Создание СМЭВ QL Сервера

Данная функция позволяет создать рабочий экземпляр СМЭВ QL сервера с помощью команды, выполняемой утилитой.

Таблица 4.11 Настраиваемые параметры

Параметр

Описание

Где задается

app name

Имя создаваемого экземпляра СМЭВ QL сервера. Параметр является обязательным для заполнения

в командной строке java -jar smevql-server-all.jar new <new-app-name>

Предварительное состояние:

  1. Развернут дистрибутив СМЭВ QL сервер.

  2. Запущена консоль утилиты для работы со СМЭВ QL.

Сценарий выполнения

  1. Администратор сервера в консоли вводит команду создания нового экземпляра СМЭВ QL с указанием имени:

java -jar smevql-server-all.jar new <new-app-name>

  1. Система выполняет создание экземпляра СМЭВ QL сервера с заданным именем:

  • если во время выполнения команды возникла ошибка, то сценарий завершается с результирующим состоянием 2;

  • иначе, команда выполнена успешно, создана первичная структура папок и файлов, завершение сценария с результирующим состоянием 1.

Результирующее состояние:

  1. СМЭВ QL сервер успешно запущен, создана первичная структура папок и файлов.

  2. Ошибка выполнения команды.

Первичная структура папок и файлов

Таблица 4.12 Первый уровень вложенности корневой папки smevql

Название

Тип

Описание

Уровень вложенности

application.yaml

yaml-file

Файл с описанием настроек СМЭВ QL сервер (подробнее см. Конфигурирование сервера)

1

credentials.yaml

yaml-file

Файл с описанием представления СМЭВ QL сервер (подробнее см. Конфигурирование сервера)

1

logs

folder

Папка с лог-файлами СМЭВ-QL сервер

1

models

folder

Папка с описанием моделей данных

1

readme.md

md-file

read-файл в формате markdown, описывает основные функции СМЭВ QL

1

smevql.jar

jar-file

Jar-файл с кодом СМЭВ QL

1

sources

folder

Папка с описанием источников данных

1

states

folder

Папка с описанием машин состояний

1

Таблица 4.13 Содержимое папки models

Название

Тип

Описание

Уровень вложенности

base

folder

Папка с версиями описания структуры базовой модели данных

2

  • current (symlink)

symlink

Ссылка на папку модели по умолчанию

3

  • 1.0

folder

Папка с версией базовой модели данных

3

  • model

yaml-file

Файл с описанием базовой модели данных

4

custom

folder

Папка с версиями описания пользовательской модели данных

2

  • current (symlink)

symlink

Ссылка на папку модели по умолчанию

3

  • 1.0

folder

Папка с версией базовой модели данных

3

  • model

yaml-file

Файл с описанием базовой модели данных

4

Таблица 4.14 Содержимое папки sources

Название

Тип

Описание

Уровень вложенности

current (symlink)

symlink

Ссылка на папку модели по умолчанию

2

1.0

folder

Папка с версией модели источников

3

  • source

yaml-file

Файл с описанием модели источников

4

Таблица 4.15 Содержимое папки logs

Название

Тип

Описание

Уровень вложенности

environment_name.log

log-file

Лог-файл СМЭВ QL

2

Содержимое папки states:

По умолчанию, пустая папка, содержимое заполняется в процессе создания машин-состояний.

4.1.2. Конфигурирование СМЭВ-QL сервер

Пример конфигурации файла application.yml для СМЭВ QL сервера см. в разделе Конфигурирование сервера Руководства администратора.

4.1.3. Запуск, остановка, перезапуск приложения СМЭВ QL сервер

Примеры команд и их описание приведено в Быстрый старт.

4.1.4. Генерация OpenAPI СМЭВ-QL

Раздел в разработке

4.1.5. Регистрация OpenAPI СМЭВ QL в ПОДД СМЭВ4

Раздел в разработке

4.2. Работа с моделями

Раздел в разработке

4.3. Работа с источниками данных

4.3.1. Создание модели источников данных

Данная функция позволяет добавлять новую версию описания модели источников данных СМЭВ-QL. В качестве источников данных для СМЭВ-QL сервер могут выступать:

REST-интерфейс витрины данных (Prostore); Другой СМЭВ-QL сервер Модель источников данных СМЭВ-QL хранится в файловой системе СМЭВ-QL сервера по пути: sources/custom/1.0/source.yaml

Общий сценарий выполнения

  1. Администратор сервера в консоли вводит команду генерации новой пустой модели источника: ./smevql g source <source-name>

  2. Система создаёт новую версию папки и файла модели источника с пустыми значениями - source.yaml

  3. Администратор сервера открывает на редактирование файл модели источника source.yaml и заполняет параметры необходимыми значениями.

Создание модели источников данных

Рисунок - 4.22 Создание модели источников данных

Структура source.yaml

Описание источника данных в формате YAML имеет следующую структуру:

prostore_source:
  type: rest
  version: 1.0
  adapter: prostore
  protocol: http
  host: localhost
  port: 9090
  path: api/v1/datamarts/query?format=json
  template: '{ "query": "%{request}", "queryId": "%{request_id}" }'
  payload-path: result
  headers:
      - accept: application/json
      - content-type: application/json
  threads-count: 10
  connection-timeout: 0

smevql_server_source:
  type: rest
  version: 1.0
  adapter: smevql
  protocol: https
  host: localhost
  port: 9091
  path: api/query?format=json
  template: '{ "query": "%{request}" }'
  payload-path: result
  headers:
    - accept: application/json
    - content-type: application/json

В рамках файла source.yaml источник всегда имеет название с постфиксом _source. При этом именем источника в моделях данных считается часть БЕЗ учета данного постфикса.

То есть источник egrn_source в модели данных model.yaml необходимо указывать как egrn.

Загрузка модели источников

Источники данных считываются, валидируются и загружаются в память из папки sources при запуске СМЭВ QL сервера.

По-умолчанию используется версия источника, на которую ссылается symlink current, при его отсутствии по-умолчанию считается старшая версия.

Источники и версии, начинающиеся с подчеркивания (_) НЕ загружаются, они находятся в стадии проектирования.

4.4. Работа с картами машин состояний

Раздел в разработке

4.5. Обработка входящего REST-запроса изменения данных витрины

Раздел в разработке

4.6. Уведомления при изменении данных витрины (push-сервис)

Раздел в разработке