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

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

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

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

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

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

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

Ниже представлено описание модулей системы.

Список модулей системы

Модуль

Редакции

Описание

org.unidata.mdm.system

CE, EE, SE

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

org.unidata.mdm.search

CE, EE, SE

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

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-модулей

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

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

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