4. ОБРАЩЕНИЕ К ПРОГРАММЕ

4.1. СМЭВ3-адаптер

СМЭВ3-адаптер обеспечивает информационное взаимодействие через единый электронный сервис единой системы межведомственного электронного взаимодействия (далее – СМЭВ3). С помощью СМЭВ3-адаптер Витрина выступает участником взаимодействия в роли поставщика данных, получая запросы из очереди СМЭВ3 и отправляя ответы на них.

4.1.1. Способы передачи управления

Процедура запуска и остановки описана в документе «Руководство системного программиста».

4.1.2. Способы передачи параметров данных

Файл application.yml – основной конфигурационный файл СМЭВ3-адаптер. Большинство его параметров настраивается системным программистом (описано в документе «Руководство системного программиста»). Список параметров, которые необходимо настроить для обработки собственно запросов, и их назначения приведены в таблице ниже (см. Таблица 4.17). Остальные параметры следует оставить без изменения. Для каждого вида сведений, предоставляемых Витриной, следует создать отдельное сопоставление с именем verticles.name и значением dev.nsud.connector.smev.receiver.SmevReceiverVerticle. Логика взаимодействия вертиклов при обработке одного запроса из СМЭВ изображена на Рисунок - 4.23

Таблица 4.17 Параметры файл application.yml СМЭВ3-адаптера

Параметр

Значение

verticles.name: dev.nsud.connector.smev.receiver.SmevReceiverVerticle

deploymentOptions.config.selector.namespace

Пространство имен обрабатываемого ВС (как указано в заявке на регистрацию ВС).

deploymentOptions.config.selector.rootElementName

Имя корневого элемента запроса обрабатываемого ВС (как указано в заявке на регистрацию ВС)

deploymentOptions.config.template

Имя файла, содержащего pebble-шаблон обработки запросов для данного ВС.

deploymentOptions.config.idleDelay

Периодичность опроса очереди СМЭВ 3 для получения новых запросов (в формате ISO 8601).

verticles.name: dev.nsud.connector.smev.ack.AckVerticle

deploymentOptions.instances

Количество одновременно работающих экземпляров данного вертикла с такими настройками.

verticles.name: dev.nsud.connector.processor.ProcessorVerticle

deploymentOptions.instances

Количество одновременно работающих экземпляров данного вертикла с такими настройками.

deploymentOptions.config.db.jdbcUrl

Connection string подключения JDBC драйвера к Витрине. См. 3.5.2 Способы передачи параметров данных.

verticles.name: dev.nsud.connector.smev.sender.SmevSenderVerticle

deploymentOptions.instances

Количество одновременно работающих экземпляров данного вертикла с такими настройками.

deploymentOptions.config.db.jdbcUrl

Connection string подключения JDBC драйвера к Витрине. См. 3.5.2 Способы передачи параметров данных.

verticles.name: dev.nsud.connector.scheduler.SchedulerVerticle

deploymentOptions.instances

Количество одновременно работающих экземпляров данного вертикла с такими настройками.

deploymentOptions.config.interval

Периодичность опроса очереди СМЭВ 3 для проверки наличия новых данных (в формате ISO 8601).

deploymentOptions.config.template

Имя файла, содержащего pebble-шаблон для отсылки дельты данных по расписанию.

verticles.name: dev.nsud.connector.delta.DeltaStorageVerticle

deploymentOptions.instances

Количество одновременно работающих экземпляров данного вертикла с такими настройками.

deploymentOptions.config.db.jdbcUrl

Connection string подключения JDBC драйвера к служебной БД, которая используется для хранения журнала дельт.

deploymentOptions.config.db.username

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

deploymentOptions.config.db.password

Пароль пользователя учетной записи служебной БД, которая используется для хранения журнала дельт.

Взаимодействие вертиклов СМЭВ3-адаптера (обработка запросов)

Рисунок - 4.23 Взаимодействие вертиклов СМЭВ3-адаптера (обработка запросов)

Взаимодействие вертиклов СМЭВ3-адаптера (отправка дельт)

Рисунок - 4.24 Взаимодействие вертиклов СМЭВ3-адаптера (отправка дельт)

4.2. ПОДД-адаптер

ПОДД-адаптер обеспечивает информационное взаимодействие с Программой через федеральную государственную информационную систему «Единая информационная платформа Национальной системы управления данных». С помощью ПОДД-адаптер Витрина выступает участником взаимодействия в роли Поставщик данных и/или получателя реплицированных данных. Все взаимодействие с ЕИП НСУД производится через Агент ПОДД.

4.2.1. Способы передачи управления

Процедура запуска и остановки описана в документе «Руководство системного программиста».

4.2.2. Способы передачи параметров данных

Конфигурирование ПОДД-адаптер описано в документе «Руководство системного программиста».

4.3. REST-адаптер

4.3.1. Способы передачи управления

Процедура запуска и остановки описана в документе «Руководство системного программиста».

4.3.2. Способы передачи параметров данных

Файл application.yml – основной конфигурационный файл REST-адаптер. Список параметров, которые необходимо настроить, и их назначения приведены в таблице ниже (см. Таблица 4.18). Остальные параметры следует оставить без изменения.

Таблица 4.18 Параметры файл application.yml REST-адаптер

Параметр

Значение

spring.datasource.url

Connection string подключения JDBC драйвера к Витрине. См. 3.5.2 Способы передачи параметров данных.

spring.datasource.driver-class-name

Имя класса драйвера. См. 3.5.2 Способы передачи параметров данных.

swagger.file-path

Имя файла, содержащего описание REST API (спецификация OpenAPI).

swagger.templates

Сопоставление каждому operationId (см. файл swagger.file-path) имени своего pebble-шаблона.

Пример:

spring:
datasource:
url: jdbc:adtm://192.168.0.101:9876/MyTestDb
username: admin
password: 12345678
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: ru.ibs.dtm.jdbc.DtmDriver
hikari:
connection-timeout: 15000
max-lifetime: 1800000
maximum-pool-size: 20
pool-name: API-pool
swagger:
file-path: sample.yaml
templates:
execquery: sample.peb

4.4. Сервис извлечения данных

4.4.1. Способы передачи управления

Процедура запуска и остановки сервиса описана в документе «Руководство системного программиста».

Запуск DAG в Airflow может производиться в автоматическом или ручном режиме. Эта процедура описана в документе «Руководство оператора».

4.4.2. Способы передачи параметров данных

Сервис извлечения построен с помощью фреймворка Apache Spark и предоставляет программные интерфейсы для языков Java, Scala, Python, R.

Совместно с Витриной предоставляются готовые Java-реализации:

  • jdbc EXTRACTOR – извлекает данные из jdbc-источника (ведомства) в хранилище сервиса;

  • csv EXTRACTOR – извлекает данные из файла csv в хранилище сервиса;

  • xml EXTRACTOR – извлекает данные из файла xml в хранилище сервиса;

  • jdbc_csv TRANSFORMER – приводит колонки в таблицах хранилища сервиса (извлеченных ранее CSV или jdbc EXTRACTOR’ом) в соответствие структуре логических таблиц Витрины (по набору, именам и типам данных колонок);

  • xml TRANSFORMER – приводит колонки в таблицах хранилища сервиса (извлеченных xml EXTRACTOR) в соответствие структуре логических таблиц Витрины (по набору, именам и типам);

  • kafka LOADER – загружает данные, извлеченные и приведенные в соответствие логической структуре данных Витрины, собственно в Витрину.

Исходные коды перечисленных выше компонентов могут быть использованы как примеры при реализации собственных EXTRACTOR, TRANSFORMER и LOADER.

При использовании этих Java-реализаций в составе DAG Aitflow для каждого элемента DAG указываются:

  • путь и имя jar-файла, в котором располагается Java-реализация;

  • имя используемого main-класса;

  • путь и имя properties-файла, в котором заданы настройки этого элемента.

4.5. JDBC-драйвер

4.5.1. Способы передачи управления

Отправка запросов к экземпляру Программы «Витрина данных НСУД» производится в соответствии со стандартом JDBC с использованием JDBC-драйвер, входящего в состав Программы.

4.5.2. Способы передачи параметров данных

Для подключения к экземпляру Программы «Витрина данных НСУД» необходимо использовать параметры, приведенные в таблице ниже (см. Таблица 4.19).

Таблица 4.19 Параметры подключения к витрине

Параметр

Значение

Примечание

Имя класса

io.arenadata.dtm.jdbc.DtmDriver

URL

jdbc:adtm://{host}:{port}[/db]

host: DNS-имя или IP адрес сервера, на котором запущено ядро витрины (ADTM).

port: tcp-порт REST-сервиса, обеспечивающего исполнение SQL запросов. По умолчанию: 9092.

db: имя БД, используемой по умолчанию (до первого вызова инструкции USE). Опционально.

Пример: jdbc:adtm://192.168.0.100:9090/MyDb

или jdbc:adtm://my-adtm.test.internal

Авторизация

Без авторизации