README.md

Типовое ПО “Витрина данных”

Типовое ПО “Витрина данных” представляет собой комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД, а также других информационных систем.

Составные части программы

Программа имеет модульную архитектуру и построена на базе различных компонентов (включая разработки сторонних производителей).

Основные компоненты

  • 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
Конвейеры
0 успешных
0 с ошибкой