Поток автообновления записей зависимого реестра

Внимание

Дисклеймер.

Функция не входит в комплект поставки и поставляется только для некоторых заказчиков по договоренности.

Внимание

Модуль автообновления записей зависимого реестра не является частью бизнес-процессов и выполняется напрямую.

Назначение

Модуль предназначен для автоматического обновления записей в зависимом реестре при изменении записей в основном реестре.

В процессе обновления:

  • Выполняется поиск записи в зависимом реестре по дополнительным параметрам синхронизации.

  • Сравниваются атрибуты основной и зависимой записей.

  • Обновляются атрибуты зависимой записи при обнаружении расхождений.

  • Формируется новый период актуальности записи зависимого реестра.

  • В случае обнаружения дубликатов (две и более записи соответствуют условиям поиска), в системный лог записывается сообщение: "Найдено более одной актуальной записи", после чего процесс завершается.

Использование

  1. После первого деплоя модуля в платформу, следует добавить кастомный сегмент в пайплайн [RECORD_UPSERT_START].

  2. Выбрать пайплайн [RECORD_UPSERT_START] (Рисунок 1) и выбрать REGULAR (Рисунок 2) в структуре пайплайна (правая панель).

  3. Спуститься вниз до конца ветки REGULAR, нажать "добавить сегмент" выше блока FALLBACK (Рисунок 3).

  4. Выбрать из списка сегмент com.disgroup.pipeline.synchronizer [SYNCHRONIZER_REGISTER_RECORD_POINT] (Рисунок 4).

  5. Стрелочками "вверх" поднять сегмент так, чтобы он располагался после коннектора [RECORD_QUALITY_CONNECTOR] и до кастомного сегмента [RECORD_START_UPSERT_STATUS] (Рисунок 5).

  6. Сохранить пайплайн.

  7. Настройте параметры (Рисунок 6):

    • SYNCHRONIZE – указывает, что реестр является основным для синхронизации. Должно быть задано любое значение (например, 1).

    • RECORD_SEARCH – JSON-объект с маппинг-атрибутами между основным и зависимым реестром.

  8. Сохраните изменения и запустите процесс обновления.

Функциональность

  • Получение записи основного реестра.

  • Извлечение параметров поиска и маппинг-атрибутов.

  • Поиск соответствующей записи в зависимом реестре.

  • Сравнение значений атрибутов.

  • Обновление маппинг-атрибутов.

  • Создание нового периода актуальности.

Установка модуля

  1. После первого деплоя модуля в платформу добавьте кастомный сегмент в пайплайн [RECORD_UPSERT_START].

  2. Выберите пайплайн [RECORD_UPSERT_START] и ветку REGULAR.

  3. Добавьте сегмент com.disgroup.pipeline.synchronizer [SYNCHRONIZER_REGISTER_RECORD_POINT] перед [RECORD_START_UPSERT_STATUS].

  4. Сохраните настройки.

Архитектура

  • Spring-модуль для платформы Universe с главным классом PipelineSynchronizerModule.

  • Реализация поиска, обновления и сравнения атрибутов представлена интерфейсами:

    • SearchRecordComponent – поиск записей.

    • SimpleAttributeCreatorComponent – создание атрибутов.

    • UpdateRecordComponent – обновление записей.

    • SynchronizerRegisterService – сервис синхронизации.

  • Детальная реализация для зависимого реестра представлена пакетами:

    • com.disgroup.pipeline.synchronizer.model.ipandknf – модели JSON.

    • com.disgroup.pipeline.synchronizer.service.synchronizers.ipandknf – реализация обновления для REF_IPandKFH.

Кастомный REST API

Для обновления записей зависимого реестра можно использовать кастомный REST API:

``GET http://{{host_otp}}/universe-backend/api/v2/mdm/synchro/upsert/?etalonId=b4194148-b162-11ef-aec5-d136b7986200``

Где etalonId – полученный etalonId из предыдущего запроса.

Примечание:

  • Модуль работает только при наличии параметра SYNCHRONIZE в основном реестре. В его отсутствие автообновление не выполняется.

Рисунок 1 – Список пайпланов системы (Шаг 2)

Рисунок 1 – Список пайпланов системы (Шаг 2)

Рисунок 2 – Список сегментов в пайплайне (Шаг 2)

Рисунок 2 – Список сегментов в пайплайне (Шаг 2)

Рисунок 3 – Кнопка "Добавить сегмент" (Шаг 3)

Рисунок 3 – Кнопка “Добавить сегмент” (Шаг 3)

Рисунок 4 – Список доступных сегментов (Шаг 4)

Рисунок 4 – Список доступных сегментов (Шаг 4)

Рисунок 5 – Список порядка выполнения сегментов в пайплане (Шаг 5)

Рисунок 5 – Список порядка выполнения сегментов в пайплане (Шаг 5)

Рисунок 6 – Дополнительные параметры реестра (Шаг 7)

Рисунок 6 – Дополнительные параметры реестра (Шаг 7)