2. Общие сведения о программе
2.1. Назначение программы
Национальная система управления данными (далее — НСУД) представляет собой систему, состоящую из взаимосвязанных элементов информационно-технологического, организационного, методологического, кадрового и нормативно-правового характера и обеспечивающая достижение целей и выполнение задач, обозначенных в Концепции Национальной системы управления данными, утвержденной распоряжением Правительства Российской Федерации от 3 июня 2019 года № 1189-р.
НСУД предназначена для управления информацией, содержащейся в информационных ресурсах органов и организаций государственного сектора, а также в информационных ресурсах, созданных в целях реализации полномочий органов и организаций государственного сектора (далее — государственные данные) и для осуществления информационного обмена между Поставщиками и Получателями данных, присоединившимися к НСУД (далее — Участники НСУД).
Управление процессами информационного обмена между Участниками НСУД осуществляется средствами федеральной государственной информационной системы «Единая информационная платформа Национальной системы управления данными» (далее — ФГИС «ЕИП НСУД»).
Для передачи данных между Участниками НСУД используется среда взаимодействия НСУД, состоящая из Системы межведомственного электронного взаимодействия (далее —СМЭВ ) 3.0 или подсистемы обеспечения доступа к данным (далее — ПОДД) СМЭВ (СМЭВ 4.0), обеспечивающих транспорт и процессинг данных, а также агентов ПОДД СМЭВ, устанавливаемых на стороне Участников НСУД.
Для формирования и (или) для получения данных с использованием среды взаимодействия НСУД необходим комплекс программных и технических средств в составе информационно-телекоммуникационной инфраструктуры участника НСУД (далее — Витрина данных НСУД). Данный документ описывает применение именно ПО среды взаимодействия НСУД.
Таким образом, программа «Витрина данных НСУД» является частью НСУД и предназначена для загрузки публикуемых данных в отдельную БД на стороне поставщика данных, а также для формирования отдельной БД в соответствии с результатами выполнения запросов на предоставление или репликации данных со стороны получателя данных. Программа представляет собой типовое программное обеспечение, устанавливаемое на стороне поставщиков/потребителей данных.
2.2. Возможности программы
Программа «Витрина данных НСУД» обеспечивает выполнение следующих функций:
Описание логической модели данных
Загрузка и хранение данных
Извлечение данных из внешних систем (внешних ИС по отношению к Витрине данных НСУД)
Поддержка языка SQL
Поддержка протокола коммуникации агента ПОДД.
Подключение к СМЭВ3 как информационной системы участника взаимодействия..
Обработка запросов с использованием стандарта JDBC.
Публикация конечных точек API для обработки запросов с использованием спецификации OpenAPI версии 3.
Восстановление данных в непротиворечивое состояние после сбоев.
Журналирование событий функциональных блоков.
Мониторинг информации о работоспособности экземпляра Программы.
Основной цикл работы «Витрина данных НСУД» приведен на Рисунок - 2.18
Рисунок - 2.17 Основной цикл работы Витрины данных НСУД
После развертывания ПО Витрины системным программистом она не содержит никакой логической модели данных.
Первым делом после развертывания Витрины надо создать в ней логическую модель данных (для хранения данных в качестве Поставщика данных). При работе с ПОДД структура таблиц настраивается в ЕИП НСУД и передаются в Витрину через ПОДД. При работе со СМЭВ 3 логическую модель надо создавать самостоятельно через JDBC-драйвер с использованием DDL.
После того, как логическая модель данных в Витрине настроена можно:
загружать данные в Витрину (средствами сервиса загрузки данных (ETL) или самостоятельно через JDBC-драйвер с использованием EDDL/EDML);
посылать запросы для получения данных из Витрины (через ПОДД, СМЭВ3, REST или JDBC-драйвер);
подписываться (в качестве Потребителя данных) на репликацию данных из другой Витрины (ПОДД пришлет метаданные для создания логических таблиц для хранения реплики и первоначальный снапшот текущих данных из Витрины Поставщика);
обрабатывать (в качестве Поставщика данных) подписки других Витрин на репликацию данных этой Витрины (передавать им метаданные для создания логической структуры для хранения реплики и снапшот текущих данных);
при загрузке данных в Витрину, если есть подписчики на репликацию данных, им отправляется дельта с обновленными данными;
если эта Витрина подписана на репликацию данных из другой Витрины, то при изменении данных в Витрине-Поставщике ПОДД доставит дельту с обновленными данными.
2.3. Обеспечивающие технические и программные средства
2.3.1. Минимальный состав технических средств
Требования к серверному оборудованию, телекоммуникационному оборудованию и каналам связи, аппаратным и программно-аппаратным средствам защиты информации, периферийному и специализированному оборудованию, размещению комплекса технических средств на объектах автоматизации и методы защиты комплекса технических средств приведены в документе «Описание применения» (п.2.1. Необходимые технические средства).
2.3.2. Минимальный состав программных средств
Программа реализована в виде приложения (см. Таблица 1), с использованием библиотек и фреймворков:
Таблица 1 - Минимальный состав программных средств
Название |
Версия |
Описание |
|---|---|---|
Операционная система |
Операционная система на базе Linux (kernel 3.10 и yum/rpm). Аналог Community Enterprise Operating System 7.8 из единого реестра российских программ для электронных вычислительных машин и баз данных согласно постановлению правительства РФ от 16 ноября 2015 г. |
|
Python |
2.7 |
Язык программирования |
Ansible |
2.10.15 |
Движок автоматизирующий развертывание приложений |
Java |
8.0.151 |
Язык программирования |
Maven |
3.6.3 |
Фреймворк для автоматизации сборки проектов на основе описания их структуры в файлах на языке POM |
Spring Boot |
2.2.4.RELEASE |
DI контейнер |
Vert.x |
3.8.5 |
Библиотека для разработки асинхронных приложений, основанная на событиях |
liquibase |
3.8.0 |
Библиотека с открытым исходным кодом для отслеживания, управления и применения изменений схемы базы данных |
logback |
1.2.3 |
Логгер |
lombock |
1.18.10 |
Плагин компилятора, который добавляет в Java новые «ключевые слова» и превращает аннотации в Java-код, уменьшая усилия на разработку и обеспечивая некоторую дополнительную функциональность |
Jooq |
3.13.1 |
Легковесная библиотека программного обеспечения для отображения базы данных в Java, которая реализует шаблон Active Record |
Docker Community Edition |
20.10.0 |
программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. |
Portainer Community Edition |
2.0 |
Система управления docker контейнерами |
2.4. Перечень эксплуатационной документации
Перед началом работы с программой «Витрина данных НСУД» обслуживающему персоналу рекомендуется ознакомиться с указанными эксплуатационными документами в последовательности, приведенной далее.
В состав комплекта эксплуатационных документов на программное обеспечение «Витрина данных НСУД» входят следующие документы:
«Описание применения».
Документ раскрывает основные вопросы по назначению «Витрины данных НСУД» и описанию применения программы. Перечислены возможности программы, задачи, которые она решает и методы их решения.
«Руководство оператора».
Документ предназначен для операторов и раскрывает основные вопросы связанные с эксплуатацией программы. Указан минимальный состав программных и технических средств для рабочего места оператора. В документе описаны требования к квалификации оператора, процесс подготовки к работе, основные операции и сообщения, которые получает оператор в процессе взаимодействия с программой.
«Руководство программиста».
Документ предназначен для программистов и описывает как возможности подключения к программным интерфейсам «Витрины данных НСУД», так и пошаговую процедуру сборки ПО из исходного кода.
Примечание
Примечание: дополнительные материалы, выходящие за рамки «Руководства программиста» и эксплуатационной документации на ПО «Витрина данных НСУД» можно найти в документе «Соглашения о разработке и тестировании ПО «Витрина Данных НСУД»».
«Руководство системного программиста».
Документ детально описывает вопросы по установке, настройке и проверке работоспособности программы. Указана структура программы, ее составные части, связь между составными частями и другими программами.