Модульная архитектура¶
Система Юниверс MDM состоит из набора модулей, что создают MDM-системы, обладающие только необходимыми инструментами и функциями. Модульная архитектура имеет следующие особенности:
Различаются frontend и backend модули.
Различаются свободные модули и проприетарные.
Отдельный инструмент MDM может содержаться как в одном модуле, так и сразу в нескольких. Таким образом, для использования отдельных инструментов может потребоваться подключить несколько модулей.
Существует несколько редакций системы, представляющих собой готовые наборы модулей.
Существует системный набор модулей, без которых система не способна работать.
Ниже представлено описание модулей системы.
Список модулей системы¶
Модуль |
Редакции |
Описание |
---|---|---|
org.unidata.mdm.system |
CE, EE, SE |
Системный обязательный модуль. Содержит различные сервисы по работе с модулями, потоками выполнения, запуска платформы, пространств имен, миграции БД и прочее. Обязательный модуль для работы приложения, построенного на базе платформы, и содержит необходимый минимум для поддержки модульной архитектуры, и модулей на ее базе. |
org.unidata.mdm.search |
CE, EE, SE |
Модуль поиска. Выполняет все задачи, связанные с поисками в платформе, а именно: управление (включая создание) поисковыми индексами, выполнение поисковых запросов и т.д. Реализовано на базе Opensearch. |
org.unidata.mdm.core |
CE, EE, SE |
Модуль общих сервисов платформы. Содержит различные вспомогательные сервисы, предоставляющие общий и/или вспомогательный функционал для прочих модулей. В частности: сервисы подсистемы безопасности, фоновых операций, аудита, мониторинга, владельцев и т.д. |
org.unidata.mdm.meta |
CE, EE, SE |
Модуль абстрактной модели данных. Содержит обобщенные типы, примитивы и прочее, необходимое для реализации различных моделей данных Также содержит сервисы перечислений, единиц измерений и систем-источников. |
org.unidata.mdm.data |
CE, EE, SE |
Модуль данных. Содержит все связанное с данными: модель данных, сервисы для выполнения операций на записях и данных и т.п. |
org.unidata.mdm.draft |
CE, EE, SE |
Модуль, который содержит все связанное с черновиками. Другие модули, которые используют функционал черновиков, зависят от этого модуля. |
org.unidata.mdm.dq.core |
CE, EE, SE |
Основной модуль Data Quality. Содержит модель качества данных и общие стандартные функции. Предоставляет главную точку входа для применения правил качества. |
org.unidata.mdm.dq.data |
CE, EE, SE |
Модуль, связывающий модуль данных с модулем DQ. Содержит сегменты (потоков выполнения) для применения правил качества, а также стандартные функции, применимые только к объектам модуля данных. |
org.unidata.mdm.bulk.core |
CE, EE, SE |
Модуль массовых операций. Содержит сервис для работы с массовыми операциями: регистрация, запуск и т.п. |
org.unidata.mdm.matching.core |
CE, EE, SE |
Основной модуль матчинга (сопоставления данных). Содержит модель матчинга. Содержит сервисы для выполнения матчинга и работы с кластерами дубликатов. |
org.unidata.mdm.matching.data |
CE, EE, SE |
Модуль, связывающий модуль данных с модулем матчинга. Содержит сегменты (потоков выполнения) для применения матчинга, а также фракции матчинга для операции переиндексации данных. |
org.unidata.mdm.matching.storage.postgres |
CE, EE, SE |
Модуль хранилища данных для сопоставления. Использует для хранения данных БД PostgreSQL и предоставляет алгоритм сопоставления по точному соответствию. |
org.unidata.mdm.transform |
CE, EE, SE |
Модуль маппинга (трансформации) данных на основе UPath. Содержит модель маппинга и сервис для трансформации данных. |
org.unidata.mdm.job.reindex |
CE, EE, SE |
Модуль операции переиндексации данных. |
org.unidata.mdm.rest.system |
CE, EE, SE |
Модуль общих типов и примитивов REST API платформы. Не содержит реализаций, используется для создания REST API прочих модулей. |
org.unidata.mdm.rest.core |
CE, EE, SE |
REST API общих сервисов платформы. Содержит API работы подсистемы безопасности, операций, конфигурации, пайплайнов и т.д. |
org.unidata.mdm.rest.v1.data |
CE, EE, SE |
REST API v1 работы с данными: атомарные запросы, избранное, записи и связи и т.д. |
org.unidata.mdm.rest.v1.meta |
CE, EE, SE |
REST API v1 работы с моделью данных: перечисления, системы источники, реестры/справочники/связи, группы и т.д. |
org.unidata.mdm.rest.v1.draft |
CE, EE, SE |
REST API v1 модуля черновиков (org.unidata.mdm.draft). |
org.unidata.mdm.rest.v1.search |
CE, EE, SE |
REST API v1 модуля поиска (org.unidata.mdm.search). |
org.unidata.mdm.rest.v1.dq.core |
CE, EE, SE |
REST API v1 управления моделью качества (функции качества, правила). |
org.unidata.mdm.rest.v1.dq.data |
CE, EE, SE |
REST API v1 сегментов результата проверки (для рендеринга операций над данными) и сервисы проверки записей. |
org.unidata.mdm.rest.v1.matching.core |
CE, EE, SE |
REST API v1 управления моделью сопоставления (таблицы, алгоритмы, назначения и т.д.). |
org.unidata.mdm.rest.v1.matching.data |
CE, EE, SE |
REST API v1 сегментов результата сопоставления (для рендеринга операций над данными). |
org.unidata.mdm.rest.v1.bulk.core |
CE, EE, SE |
REST API v1 модуля пользовательских пакетных операций. |
org.unidata.mdm.rest.v1.transform |
CE, EE, SE |
REST API v1 модуля трансформации записей (маппинг моделей записей). |
org.unidata.mdm.rest.v2.data |
CE, EE, SE |
REST API v2 работы с данными: атомарные запросы, избранное, записи и связи и т.д. |
org.unidata.mdm.rest.v2.meta |
CE, EE, SE |
REST API v2 работы с моделью данных: перечисления, системы источники, реестры/справочники/связи, группы и т.д. |
org.unidata.mdm.rest.v2.draft |
CE, EE, SE |
REST API v2 модуля черновиков (org.unidata.mdm.draft). |
org.unidata.mdm.rest.v2.search |
CE, EE, SE |
REST API v2 модуля поиска (org.unidata.mdm.search). |
org.unidata.mdm.rest.v2.dq.core |
CE, EE, SE |
REST API v2 управления моделью качества (функции качества, правила). |
org.unidata.mdm.rest.v2.dq.data |
CE, EE, SE |
REST API v2 сегментов результата проверки (для рендеринга операций над данными) и сервисы проверки записей. |
org.unidata.mdm.rest.v2.matching.core |
CE, EE, SE |
REST API v2 управления моделью сопоставления (таблицы, алгоритмы, назначения и т.д). |
org.unidata.mdm.rest.v2.matching.data |
CE, EE, SE |
REST API v2 сегментов результата сопоставления (для рендеринга операций над данными). |
org.unidata.mdm.rest.v2.bulk.core |
CE, EE, SE |
REST API v2 модуля пользовательских пакетных операций. |
org.unidata.mdm.metadriven.core |
CE, EE, SE |
Основной модуль Metadata-driven REST API. Предоставляет операции над данными в "естественном" виде REST API. Структура объектов передаваемых в рамках API зависят от модели данных. |
org.unidata.mdm.rest.v1.metadriven |
CE, EE, SE |
REST API v1 модуля Metadata-driven REST API. |
com.unidata.mdm.crawler.postgres |
EE, SE |
Референсная реализация краулера данных PostgreSQL. |
com.unidata.mdm.job.migrate |
EE, SE |
Операция миграции данных с Юниверс MDM 5.X на 6.X. |
com.unidata.mdm.bulk.remove.records |
EE, SE |
Пользовательская пакетная операция удаления записей. |
com.unidata.mdm.rest.v1.bulk.remove.records |
EE, SE |
REST API v1 пользовательской пакетной операции удаления записей. |
com.unidata.mdm.rest.v2.bulk.remove.records |
EE, SE |
REST API v2 пользовательской пакетной операции удаления записей. |
com.unidata.mdm.job.export.data |
EE, SE |
Фоновая пакетная операция экспорта данных. |
com.unidata.mdm.bulk.export.records.xlsx |
EE, SE |
Пользовательская пакетная операция экспорта записей в Excel. |
com.unidata.mdm.rest.v1.bulk.export.records.xlsx |
EE, SE |
REST API v1 пользовательской пакетной операции экспорта записей в Excel. |
com.unidata.mdm.rest.v1.workflow.core |
EE, SE |
REST API v1 модуля управления бизнес-процессами. |
com.unidata.mdm.rest.v2.workflow.core |
EE, SE |
REST API v2 модуля управления бизнес-процессами. |
com.unidata.mdm.workflow.core |
EE, SE |
Основной модуль управления бизнес-процессами (BPMN). Поддерживает управление и выполнение произвольных BPMN процессов. Построен на основе Camunda. |
com.unidata.mdm.workflow.data |
EE |
Модуль соединения модулей управления бизнес-процессами и модуля данных. Содержит компоненты, необходимые для построения взаимодействия между модулями при наступлении событий в каждом из них, и обеспечивающие передачу таких событий между модулями. |
com.unidata.mdm.license |
EE, SE |
Модуль проверки лицензий. |
com.unidata.mdm.rest.v1.license |
EE, SE |
REST API v1 модуля проверки лицензий. |
com.unidata.mdm.system.limits |
EE, SE |
Модуль для задания тех или иных ограничений в системе. Регулирует доступность бизнес-процессов, реестров, ядер и т.д. |
com.unidata.mdm.ee |
EE |
Модуль с уникальным для EE функционалом (инициализация некоторых полей лицензии со стандартными значениями для EE, гостевой режим и т.п.). |
com.unidata.mdm.se |
SE |
Модуль с уникальным для SE функционалом (инициализация некоторых полей лицензии со стандартными значениями для SE и т.п.). |
Использование frontend-модулей¶
Система Юниверс MDM содержит множество точек расширения, каждая из которых имеет свой идентификатор. Модули содержат в себе набор расширений. Таким образом, при подключении модуля, его расширения подставляются в точки расширения приложения. При этом, имеется возможность переопределить какое-то расширение через стандартный механизм (UI UserExits). Каждая точка расширения предоставляет контракт по взаимодействию родительского и дочернего модулей. Родительским модулем считается модуль, в который встраивается расширение, а дочерним тот, который встраивается в родительский.
Взаимодействие между дочерними модулями возможно только через родителя-посредника. Например, могут быть базовые взаимодействия на базе контрактов. Для написания особых взаимодействий родительский модуль должен быть расширяемым.
Компонент модуля может как хранить данные самостоятельно, так и принимать их снаружи через контракт.