3. Архитектура программы
3.1. Общая архитектурная схема
Схематичное отображение общей архитектуры программы приведено на рисунке (см. Рисунок - 6.60).
Рисунок - 3.6 Общая архитектура программы
3.2. Общая компонентная схема
Схема компонентов программы представлена на рисунке ниже (см. Рисунок - 3.7).
Рисунок - 3.7 Схема компонентов
3.3. Алгоритм работы программы
На рисунке ниже (см. Рисунок - 3.8) приведен алгоритм работы программы.
Рисунок - 3.8 Алгоритм работы программы
После развертывания Витрины в ней не отсутствует логическая модель данных.
Первым шагом, после развертывания Витрины, необходимо создать в ней логическую модель данных (для хранения данных в качестве Поставщика данных). При работе с ПОДД структура таблиц настраивается в ЕИП НСУД и передаются в Витрину через ПОДД. При работе со СМЭВ3 логическую модель надо создавать самостоятельно через JDBC-драйвер с использованием DDL.
После того, как в Витрине была создана логическая модель данных, можно выполнять следующие действия:
загружать данные в Витрину (средствами сервиса загрузки данных (ETL) или самостоятельно через JDBC-драйвер с использованием EDDL/EDML);
посылать запросы для получения данных из Витрины (через ПОДД, СМЭВ3, REST или JDBC-драйвер);
подписываться (в качестве Потребителя данных) на репликацию данных из другой Витрины (ПОДД пришлет метаданные для создания логических таблиц для хранения реплики и первоначальный снапшот текущих данных из Витрины Поставщика);
обрабатывать (в качестве Поставщика данных) подписки других Витрин на репликацию данных этой Витрины (передавать им метаданные для создания логической структуры для хранения реплики и снапшот текущих данных);
при загрузке данных в Витрину, если есть подписчики на репликацию данных, им отправляется дельта с обновленными данными;
если эта Витрина подписана на репликацию данных из другой Витрины, то при изменении данных в Витрине-Поставщике ПОДД доставит дельту с обновленными данными.