Модульная архитектура

Система Юниверс MDM состоит из набора модулей, что создают MDM-системы, обладающие только необходимыми инструментами и функциями. Модульная архитектура имеет следующие особенности:

  • Различаются frontend и backend модули.

  • Различаются свободные модули и проприетарные.

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

  • Существует системный набор модулей, без которых система не способна работать.

Примечание

В различных проектах может быть свой состав модулей.

Каждый модуль отвечает за определенные возможности системы. Обмен данными между модулями системы осуществляется с помощью REST API, основная документация по работе с которым хранится в Swagger.

Актуальный список REST-методов доступен по ссылке http://<хост>:<порт>/universe-backend/api. См. подрообнее о работе в Swagger.

Модули с приставкой "rest" в имени - это модули, отвечающие за предоставление API и endpoint-ы. При обращении к ним они проверяют корректность запроса и, если все верно, отдают инструкции другим модулям. В одной операции может быть задействовано несколько модулей.

Перечень модулей системы

Модуль

Системное имя модуля

Описание модуля

Пакетный экспорт записей в XLSX

com.unidata.mdm.bulk.export.records.xlsx

Пользовательская пакетная операция экспорта записей в Excel.

Пакетное удаление записей

com.unidata.mdm.bulk.remove.records

Пользовательская пакетная операция удаления записей.

Параметрические классификаторы

com.unidata.mdm.classifiers

Модуль управления классификаторами.

Краулер для PostgreSQL

com.unidata.mdm.crawler.postgres

Референсная реализация краулера данных PostgreSQL.

Модуль EE

com.unidata.mdm.ee

Модуль с уникальным для EE редакции функциями (инициализация некоторых полей лицензии со стандартными значениями для EE редакции, гостевой режим и т.п.).

Операция экспорта данных

com.unidata.mdm.job.export.data

Фоновая пакетная операция экспорта данных.

Операция миграции

com.unidata.mdm.job.migrate

Операция миграции данных с Юниверс MDM 5.X на 6.X.

Лицензия

com.unidata.mdm.license

Модуль проверки лицензий.

Пакетная операция экспорта записей XLSX REST

com.unidata.mdm.rest.v1.bulk.export.records.xlsx

REST API v1 пользовательской пакетной операции экспорта записей в Excel.

Классификаторы REST

com.unidata.mdm.rest.v1.classifiers

REST API V1 модуля классификаторов.

Лицензия REST

com.unidata.mdm.rest.v1.license

REST API v1 модуля проверки лицензий.

Операция пакетного удаления записей REST

com.unidata.mdm.rest.v2.bulk.remove.records

REST API v2 пользовательской пакетной операции удаления записей.

Модуль бизнес-процессов REST

com.unidata.mdm.rest.v2.workflow.core

REST API v2 модуля управления бизнес-процессами.

Модуль системных ограничений

com.unidata.mdm.system.limits

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

Модуль управления бизнес-процессами

com.unidata.mdm.workflow.core

Основной модуль управления бизнес-процессами (BPMN). Поддерживает управление и выполнение произвольных BPMN процессов. Построен на основе Camunda.

Данные бизнес-процессов

com.unidata.mdm.workflow.data

Модуль соединения модулей управления бизнес-процессами и модуля данных. Содержит компоненты, необходимые для построения взаимодействия между модулями при наступлении событий в каждом из них, и обеспечивающие передачу таких событий между модулями.

Модуль экспорта классификации XLSX

com.universe.mdm.bulk.export.classification.data.xlsx

Модуль, отвечающий за экспорт данных классификации в формате XLSX.

Модуль импорта классификации XLSX

com.universe.mdm.bulk.imprt.classification.data.xlsx

Модуль, отвечающий за иимпорт данных классификации в формате XLSX.

Пакетная модификация записей классификации

com.universe.mdm.bulk.modify.classifications

Модуль пакетной операции модификации записей классификации.

Пакетная операция модификации записей

com.universe.mdm.bulk.modify.records

Модуль пакетной операции модификации записей.

Основной коммерческий модуль

com.universe.mdm.core

Коммерческий модуль, отвечающий за замещения, группы пользователей и пр.

Импорт данных из очередей

com.universe.mdm.data.recipient

Модуль подключения к очереди, в которую поступают данные.

Модуль качества данных классификации

com.universe.mdm.dq.classifiers

Модуль качества данных классификации.

Данные + Качество + Процессы интеграция

com.universe.mdm.dqw

Интеграционный модуль, реализующий видимость одновременно данных, качества и процессов.

Модуль интеграции LDAP

com.universe.mdm.ldap.integration

Модуль интеграции с Active Directory, который включает в себя: импорт профилей и групп из AD по расписанию; аутентификацию (проверку подлинности); авторизацию (предоставление доступа к какому-либо ресурсу) с учетом групп AD; sso (работа с UniverseMDM после авторизации в AD). Текущая функциональность позволяет настроить параметры синхронизации пользователей и групп и провести их синхронизацию.

Поддержка классификации в модуле metadriven

com.universe.mdm.metadriven.classifier

Metadriven компоненты для работы с моделью доменного классификатора.

Основной модуль Metadata-driven REST API

com.universe.mdm.metadriven.core

Основной модуль Metadata-driven REST API. Предоставляет операции над данными в "естественном" виде REST API. Структура объектов передаваемых в рамках API зависят от модели данных.

Модуль MetaDrivenDQ

com.universe.mdm.metadriven.dq

Модуль MetaDrivenDQ.

Smart ETL. Нотификации

com.universe.mdm.notifications

Модуль отправки событий в сервис ETL.

Пакетная операция экспорта классификации XLSX REST V1

com.universe.mdm.rest.v1.bulk.export.classifications.xlsx

REST API v1 операции пакетного экспорта классификации - модуль фрагмента классификаций.

Пакетная модификация записей REST V1 - классификация

com.universe.mdm.rest.v1.bulk.modify.classifications

REST API v1 операции пакетной модификации записей классификации - модуль фрагмента классификаций.

Пакетная модификация записей REST

com.universe.mdm.rest.v1.bulk.modify.records

REST API v1 операции пакетной модификация записей.

Основной коммерческий модуль REST

com.universe.mdm.rest.v1.core

REST API v1 коммерческого модуля.

LDAP REST API V1

com.universe.mdm.rest.v1.ldap.integration

REST API v1 модуля интеграции LDAP.

Metadata-driven REST API V1

com.universe.mdm.rest.v1.metadriven

REST API v1 модуля Metadata-driven.

Пакетные операции

org.unidata.mdm.bulk.core

Модуль массовых операций. Содержит сервис для работы с массовыми операциями: регистрация, запуск и т.п.

Основной модуль UniData

org.unidata.mdm.core

Модуль общих сервисов системы. Содержит различные вспомогательные сервисы, предоставляющие общие и/или вспомогательные функции для прочих модулей. В частности: сервисы подсистемы безопасности, фоновых операций, аудита, мониторинга, владельцев и т.д.

Модуль данных

org.unidata.mdm.data

Модуль данных. Содержит все связанное с данными: модель данных, сервисы для выполнения операций на записях и данных и т.п.

Качество данных (DQ)

org.unidata.mdm.dq.core

Основной модуль Data Quality. Содержит модель качества данных и общие стандартные функции. Предоставляет главную точку входа для применения правил качества.

Данные в DQ

org.unidata.mdm.dq.data

Модуль, связывающий модуль данных с модулем DQ. Содержит сегменты (потоков выполнения) для применения правил качества, а также стандартные функции, применимые только к объектам модуля данных.

Модуль черновиков

org.unidata.mdm.draft

Модуль, который содержит все связанное с черновиками. Другие модули, которые используют функции черновиков, зависят от этого модуля.

Операция переиндексации

org.unidata.mdm.job.reindex

Модуль операции переиндексации данных.

Основной модуль сопоставления

org.unidata.mdm.matching.core

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

Данные матчинга (сопоставления данных)

org.unidata.mdm.matching.data

Модуль, связывающий модуль данных с модулем матчинга. Содержит сегменты (потоков выполнения) для применения матчинга, а также фракции матчинга для операции переиндексации данных.

Postgres хранилище данных матчинга (сопоставления)

org.unidata.mdm.matching.storage.postgres

Модуль хранилища данных для сопоставления. Использует для хранения данных БД PostgreSQL и предоставляет алгоритм сопоставления п

UniData Meta модуль

org.unidata.mdm.meta

Модуль абстрактной модели данных. Содержит обобщенные типы, примитивы и прочее, необходимое для реализации различных моделей данных Также содержит сервисы перечислений, единиц измерений и систем-источников.

REST модуль System

org.unidata.mdm.rest.system

Модуль общих типов и примитивов REST API системы. Не содержит реализаций, используется для создания REST API прочих модулей.

Пакетные операции REST

org.unidata.mdm.rest.v2.bulk.core

REST API v2 модуля пользовательских пакетных операций.

Основной REST модуль

org.unidata.mdm.rest.v2.core

REST API v2 модуля общих сервисов системы.

REST Модуль данных V2

org.unidata.mdm.rest.v2.data

REST API v2 работы с данными: атомарные запросы, избранное, записи и связи и т.д.

REST модуль качества данных (DQ)

org.unidata.mdm.rest.v2.dq.core

REST API v2 управления моделью качества (функции качества, правила).

REST DQ данных

org.unidata.mdm.rest.v2.dq.data

REST API v2 сегментов результата проверки (для рендеринга операций над данными) и сервисы проверки записей.

REST модуль черновиков

org.unidata.mdm.rest.v2.draft

REST API v2 модуля черновиков (org.unidata.mdm.draft).

REST сопоставления

org.unidata.mdm.rest.v2.matching.core

REST API v2 управления моделью сопоставления (таблицы, алгоритмы, назначения и т.д).

REST сопоставления данных

org.unidata.mdm.rest.v2.matching.data

REST API v2 сегментов результата сопоставления (для рендеринга операций над данными).

UniData V2 REST Meta

org.unidata.mdm.rest.v2.meta

REST API v2 работы с моделью данных: перечисления, системы источники, реестры/справочники/связи, группы и т.д.

REST поиска V2

org.unidata.mdm.rest.v2.search

REST API v2 модуля поиска (org.unidata.mdm.search).

Модуль поиска UniData

org.unidata.mdm.search

Модуль поиска. Выполняет все задачи, связанные с поисками в системе, а именно: управление (включая создание) поисковыми индексами, выполнение поисковых запросов и т.д. Реализовано на базе Opensearch.

Модуль System

org.unidata.mdm.system

Системный обязательный модуль. Содержит различные сервисы по работе с модулями, потоками выполнения, запуска системы, пространств имен, миграции БД и прочее. Обязательный модуль для работы приложения, построенного на базе системы, и содержит необходимый минимум для поддержки модульной архитектуры, и модулей на ее базе.

Операция консолидации данных

org.universe.mdm.job.duplicate

Модуль пакетной операции консолидации.

Операция матчинга (сопоставления)

org.universe.mdm.job.matching

Модуль пакетной операции сопоставления.

Операция переприменения данных

org.universe.mdm.job.reapply

Модуль пакетной операции переприменения данных.

Маркирование

org.universe.mdm.marks

Модуль маркирования различных объектов платформы (например, оценки и комментарии).

REST Оценок V1

org.universe.mdm.rest.v1.marks

REST API v1 модуля маркирования объектов.

Использование Frontend-модулей

Система Юниверс MDM содержит множество точек расширения, каждая из которых имеет свой идентификатор.

Модули содержат в себе набор расширений. Таким образом, при подключении модуля, его расширения подставляются в точки расширения приложения. При этом имеется возможность переопределить какое-то расширение через стандартный механизм (UI UserExits).

Каждая точка расширения предоставляет контракт по взаимодействию родительского и дочернего модулей. Родительским модулем считается модуль, в который встраивается расширение, а дочерним тот, который встраивается в родительский.

Взаимодействие между дочерними модулями возможно только через родителя-посредника. Например, могут быть базовые взаимодействия на базе контрактов. Для написания особых взаимодействий родительский модуль должен быть расширяемым.

Компонент модуля может как хранить данные самостоятельно, так и принимать их снаружи через контракт.