Типовое ПО “Витрина данных”
Типовое ПО “Витрина данных” представляет собой комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД, а также других информационных систем.
Составные части программы
Программа имеет модульную архитектуру и построена на базе различных компонентов (включая разработки сторонних производителей).
Основные компоненты
-
ProStore - основной компонент программы с открытым исходным кодом, обеспечивает единый интерфейс к хранилищу разнородных данных. Определяет структуры данных, запись и чтение данных Витрины. Позволяет работать со входящими в состав хранилища СУБД одинаковым образом, используя единый синтаксис запросов SQL и единую логическую схему данных. ProStore включает следующие компоненты:
-
Сервис исполнения запросов — анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера и взаимодействует с сервисом мониторинга статусов Kafka по REST API. В свою очередь состоит из следующих компонентов:
- Коннектор Kafka-Postgres reader - считывает данные из PostgreSQL и передает их в брокер сообщений Kafka;
- Коннектор Kafka-Postgres writer - записывает данные из брокера сообщений Kafka в PostgreSQL;
- Сервис мониторинга статусов Kafka — отслеживает состояние топиков брокера сообщений Kafka; предоставляет REST API для сервиса исполнения запросов;
-
- Apache ZooKeeper - необходим для поддержки информации о конфигурации и распределенной координации между компонентами Витрины, также используется как сервисная база данных ProStore, для хранения технической информации (метаданных) от поступающих в Витрину данных запросах;
- Брокер сообщений Kafka - используется для непрерывной передачи сообщений между ПОДД-адаптером - Модуль исполнения запросов и Агентом ПОДД;
- Слой адаптеров - общее название логических модулей программы, которые обеспечивают подключение к ПОДД СМЭВ, как информационной системы участника взаимодействия. В зависимости от предназначения логические модули обеспечивают загрузку запросов из очереди ИС УВ в ПОДД СМЭВ, формирование и отправку ответов в ПОДД СМЭВ, инициативное формирование уведомлений об изменении данных в экземпляре ПО «Витрина данных НСУД», отправку уведомлений в ПОДД СМЭВ, регистрацию реплики данных ИС УВ, подписки на репликацию и поддержку реплики в актуальном состоянии.
Компоненты, входящие в состав слоя адаптеров
- СМЭВ3-адаптер - обеспечивает информационное взаимодействие через единый электронный сервис единой системы межведомственного электронного взаимодействия (далее – СМЭВ).
- Сервис формирования документов - предназначен для обеспечения возможности формирования документов, в формате XML и PDF, на основе предварительно подготовленных pebble-шаблонов, с возможностью добавления к сформированным документам электронной подписи.
- CSV-Uploader - программный модуль Витрины данных, предназначен для следующих задач:
- загрузка csv-файлов;
- загрузка csv-файлов со структурой Витрины;
- выгрузка csv-шаблонов с демо-шаблонами структуры Витрины;
- автоматический запуск загрузки csv-файлов по расписанию из выбранного каталога;
- просмотр Журнала операций.
- ПОДД-адаптер - Модуль исполнения запросов - предназначен для исполнения запросов ПОДД СМЭВ (через протокол коммуникации Агент ПОДД).
- ПОДД-адаптер – Модуль MPPR - предназначен для чтения данных в многопоточном режиме.
- ПОДД-адаптер - Модуль MPPW - исполняет запросы в многопоточном режиме, записывающие данные в Prostore.
- ПОДД-адаптер - Модуль группировки данных табличных параметров - предназначен для группировки данных при выполнении запросов с табличными параметрами.
- ПОДД-адаптер - Модуль импорта табличных параметров - предназначен для создания временных таблиц при выполнении временных запросов с табличными параметрами.
- ПОДД-адаптер - Wrapper - образует пакеты с данными табличных параметров, поступающие от Агента ПОДД в брокер сообщений Kafka, к формату, позволяющему обрабатывать их в многопоточном режиме.
- ПОДД-адаптер - Модуль подписок - предназначен для управления подписками между Получателем данных (consumer) и Поставщиком данных (producer).
- BLOB-адаптер - программный модуль Витрины данных, предназначен для получения доступа из Витрины данных к BLOB-объектам ведомства (BLOB-объект - это специальный тип двоичных данных, предназначенный для хранения бинарных файлов: изображений, скан-копий документов, текстовых файлов и т.д.).
- DATA-Uploader - Модуль исполнения асинхронных заданий обеспечивает обработку очереди файлов, используя следующие функциональные особенности:
- обработка очереди файлов производится циклами;
- очередь файлов работает в режиме упорядочения процесса по принципу «первым пришел – первым обслужен»;
- каждый элемент в очереди файлов содержит UUID задания, имя витрины и таблицы, содержимое CSV-файла;
- файлы в очереди могут относится к разным витринам и/или разным таблицам одной витрины.
- REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельной загрузки данных с независимым масштабированием REST интерфейса.
- REST-адаптер - сервис, реализующий публикацию конечных точек API для обработки запросов с использованием спецификации OpenAPI версии 3. Используется для сохранения обратной совместимости получения данных из ведомства по REST.
- Counter-provider - Сервис генерации уникального номера (Counter-Provider) позволяет создавать неповторяющиеся уникальные порядковые номера для сквозной нумерации файлов в сервисе формирования документов Типового ПО Витрины данных конфигурации установки Стандарт;
- СМЭВ QL Сервер - СМЭВ QL Сервер — приложение для конфигурирования и запуска типового API извлечения данных из хранилищ под управлением типового ПО «Витрина данных» от Минцифры (Ядро Prostore 6.1+). СМЭВ QL Сервер обладает характеристиками:
- поддержка множественных источников данных Prostore;
- выбор источника по условиям запроса;
- защита атрибутов модели данных по их предоставлению;
- автоматический параллелизм запросов к Prostore.
- dtm-calcite-core - библиотека Calcite осуществляет парсинг классов, которые используются в библиотеке podd-adapter-calcite.
Инструкция по установке компонентов Типового ПО “Витрина данных”
Расположение исходных кодов
Исходные коды программы располагаются в следующих публичных репозиториях:
- dtm-calcite-core - исходные коды библиотеки Calcite;
- dtm-prostore - исходные коды системы Prostore, предназначенной для построения витрин данных;
- dtm-tools - исходные коды инструментов резервного копирования Типового ПО “Витрина данных”;
- smev-adapters - исходные коды модулей Типового ПО “Витрина данных”.
Ссылка на статью ЕСКС
Развертывание Типового ПО Витрина данных из исходных кодов:
https://info.gosuslugi.ru/articles/Развертывание_Типового_ПО_Витрина_данных_из_исходных_кодов/
Обратная связь
Портал Ситуационного центра:
- через личный кабинет участника взаимодействия: https://sc.digital.gov.ru/home
- при помощи электронной почты: sd@sc.digital.gov.ru