сокращение трудозатрат на миграцию
записей в минуту скорость переноса данных
поддерживаемые структурированные форматы
Зачастую на проектах внедрения решаются вопросы загрузки и выгрузки документов и записей справочников, которые возникают в рамках процессов интеграции и миграции данных Directum RX с внешними системами. В каждом отдельном случае для передачи метаданных могут использоваться различные структурированные форматы: XML, JSON и Excel файлы, а также SQL-таблицы и представления (Views).
Опыт, полученный на реализованных проектах, направил на мысль – разработать универсальное настраиваемое решение для Directum RX, которое бы перекрывало все кейсы, связанные с первичной миграцией исторических данных, и позволило бы оптимизировать время выполнения поставленных задач перед командами внедрения.
Разработанное решение позволяет выполнять загрузку и выгрузку данных в/из Directum RX, взаимодействуя с различными источниками (XML, JSON, Excel, SQL) и используя общие механизмы логирования и обработки.
Рисунок 1. Архитектура решения
Все решение спроектировано так, чтобы работа с ним была интуитивно понятна, проста и комфортна, а настройка могла осуществляться любым специалистом команды внедрения. Предусмотрено множество различных проверок, которые оповещают пользователей, в случае некорректно заполненных параметров, что минимизирует вероятность совершения ошибок на этапе настройки.
Для осуществления импорта и экспорта данных необходимо выполнить настройку следующих справочников:
Справочник Ресурсы данных предназначен для хранения источников данных, используемых для загрузки и выгрузки сущностей и значений их свойств.
При настройке ресурса указывается:
Табличная часть «Параметры подключения» заполняется предопределенным набором свойств, зависящим от выбранного формата данных. Для проверки корректности параметров подключения к указанному ресурсу и его доступность предусмотрена возможность валидации данных с помощью действия - Проверить подключение:
Рисунок 2. Карточка записи справочника Ресурсы данных
Справочник Настройки соотношения данных предназначен для настройки сопоставления свойств объектов Directum RX и внешних ресурсов данных при импорте или экспорте.
При настройке указывается ресурс данных (из ранее созданных записей справочника Ресурсы данных), раздел ресурса данных (путь до нужного элемента, XMLPath, имя листа или таблицы в БД – в зависимости от используемого формата данных), выбирается Тип объекта Directum (сущность, с которой предполагается осуществление действий) и направление (импорт/экспорт).
На вкладке «Соотношение данных» сопоставляются поля внешнего источника данных с полями в системе Directum RX. По умолчанию таблица заполняется автоматически обязательными свойствами объекта, указанного в свойстве Тип объекта Directum. В случае отсутствия обязательных свойств в источнике данных, для них можно задать значение по умолчанию, которое будет использоваться для заполнения свойства при импорте данных объектов.
Рисунок 3. Окно заполнения параметров соотношения данных
Для свойств, являющихся ссылками на записи справочников, используется дополнительная настройка Поиск по. Она позволяет задать свойство связанного справочника, по которому будет осуществляться поиск соответствующей записи в нем.
Среди настраиваемых свойств необходимо отметить то, которое будет использоваться в качестве ключевого идентификатора для определения уникальности объекта. При этом доступно использование нескольких свойств в качестве составного ключа (например, ИНН + КПП).
Для проверки корректности заполнения табличной части «Соотношение данных» предусмотрена возможность валидации данных. В случае неверного заполнения значений выводится сообщение с соответствующим пояснительным текстом, и запуск процесса импорта и экспорта данных блокируется.
При наличии логических свойств или свойств-перечислений, имеющих разные значения во внешней системе и Directum RX (например, «true/false» во внешней системе и «да/нет» в Directum RX), в решении предусмотрена возможность конвертации данных при помощи специальных обработчиков, хранящихся в служебном справочнике Правила преобразования. В состав модуля включены правила преобразования, охватывающие наиболее часто используемые кейсы: работу с логическими свойствами, перечислениями, поиск по ФИО, ИНН и КПП. При необходимости с помощью прикладной разработки имеется возможность доработать уже существующий обработчик или создать новый.
Для фильтрации набора данных при загрузке или выгрузке (например, требуется загрузить только сотрудников определенного подразделения из общей выгрузки) предусмотрена настройка условий фильтрации, позволяющая задать свойство, его значение и условие фильтрации: равно, не равно, больше, меньше и т. д. В этом случае набор выгружаемых/загружаемых данных будет отфильтрован в соответствие с заданными критериями.
Рисунок 4. Вкладка «Соотношение данных» карточки записи справочника Настройки соотношения данных
Инициация процесса импорта/экспорта данных выполняется в справочнике Настройки соотношения данных. В начале выполняется подготовка данных к обработке, которая включает:
Рисунок 5. Карточка записи справочника Очередь обработки
Количество создаваемых записей зависит от настроенного типа обработки для ресурса данных:
Рисунок 6. Справочник Очередь обработки
Всем созданным записям в справочнике Очередь обработки присваивается начальный статус «Ожидание».
Обработка записей в справочнике Очередь обработки выполняется фоновым процессом параллельно в несколько потоков/процессов. В ходе обработки перед началом импорта/экспорта Статус обработки изменяется сначала на «Обработка», а по завершению — на «Обработан», с простановкой результата обработки: «Успешно» или «Ошибка».
Рисунок 7. Статусы обработки
Табличная часть «История обработки» агрегирует сведения о завершенных итерациях обработки данных, включая информацию о возникших ошибках. При необходимости после исправления причины возникновения ошибки запись справочника Очередь обработки может быть повторно отправлена в обработку посредством действия Рестарт обработки.
Для просмотра списка импортированных/экспортированных сущностей на панели действий доступна кнопка Список объектов Directum.
Разработка решения «Импорт и экспорт данных» позволила стандартизировать типовые задачи загрузки и выгрузки данных в рамках процессов межсистемного взаимодействия.
В настоящее время модуль активно используется на нескольких проектах. Сейчас «Импорт и экспорт данных» — это поддержка четырех самых популярных структурированных форматов (XML, JSON, Excel, SQL) уже из «коробки», полный перенос 1500 записей в минуту и сокращение трудозатрат на задачи миграции данных до 50%.
В будущих версиях решения планируется:
Опубликовано:
9 февраля 2023 в 07:58
Обсудите реализацию с экспертом Directum