С сентября базовый пакет Geometa оснащён новой версией инструмента для загрузки данных.

Emerald: развиваем модуль импорта данных

Article content

Geometa хранит большие объёмы ценных данных, которые регулярно актуализируются в рамках бизнес-процессов. Пользователь размещает в системе разнообразную информацию, предоставленную не всегда в структурированном виде. Это сложная задача, требующая специальных знаний и навыков. Возьмем для примера градостроительную документацию, где в составе одного документа данные могут быть размещены в десятки слоев. Автоматизировать сложные процессы помогают специальные модули и инструменты, расширяющие возможности платформы Geometa.

В результате взаимодействия с реальными пользователями мы регулярно обновляем Geometa, теперь очередь дошла и до импортёра. Модуль Emerald по сути объединил два существующих решения, представленных в виде десктоп- и веб-приложений для импорта данных. Мы взяли лучшее от них, добавили недостающие возможности и учли такие важные факторы, как:

  1. Общероссийский тренд на импортозамещение и использование отечественного ПО.
  2. Требования к безопасности данных.
  3. Необходимость быстрой доставки данных.
  4. Возможность расширения поддерживаемых форматов исходных файлов.

Что представляет собой модуль?

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

Процесс работы с модулем для пользователя проходит в три простых этапа.

Этап 1. Выбор шаблона

В шаблоне содержатся правила, в соответствии с которыми исходные данные размещаются в целевой базе данных. Шаблон позволяет импортировать как сами объекты, так и связи между ними. При отсутствии нужного шаблона его можно создать, указав критерии поиска объектов для установления связей, фильтрации и преобразования данных. Для этого в системе используется собственный язык запросов, который максимально упрощен и проверяется на ошибки уже во время настройки шаблона.

Этап 2. Создание задачи импорта

Пользователь запускает процесс загрузки данных по ранее выбранному шаблону и может сопоставить вручную или автоматически исходные файлы с типами объектов, куда должны быть загружены данные. Перед стартом импорта система проверит используемые шаблоны с помощью интеллектуального анализа. Инструмент оценит структуру шаблона на соответствие исходных файлов и целевой базы данных, а также позволит установить последовательность импорта с учётом зависимости загружаемых данных друг от друга. Это позволяет сэкономить время пользователя и узнать о проблемах еще до начала импорта.

3 этап. Отслеживание прогресса выполнения импорта

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

Журнал позволяет:

  • увидеть очерёдность задач импорта, что делает предсказуемым время импорта;
  • узнать информацию об импортированных ранее данных: что импортировано, кем, когда, сколько записей содержал исходный файл, какой шаблон использовался и многое другое;
  • обнаруживать ошибки и определять их причины возникновения.

Что изменилось в новом импортёре?

Новая версия импортёра позволила реализовать:

  • инструменты безопасной передачи данных, поскольку теперь не используются прямые запросы к базам данных;
  • плагинную систему, которая обеспечивает расширенную базу поддерживаемых форматов данных (.gml, .tab, .shp, .gpx, .kml/kmz, .mid/mif, .xlsx, .csv) и позволяет в короткие сроки добавлять новые;
  • возможность работы на серверах с сертифицированной ОС Astra Linux;
  • быстрый поиск и устранение ошибок в процессе их создания или импорта посредством интеллектуального анализа проблем;
  • оптимальную производительность за счёт организации очередности задач импорта;
  • детальный журнал импорта.

Как разрабатывался модуль?

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

Параллельно с этим процессом проводился обратный инжиниринг существующих продуктов — десктоп-импортёра и веб-импортёра. Эти работы позволили зафиксировать результаты анализа функций, так команда узнала, что востребовано регулярно, что используется время от времени, а от чего стоит отказаться.

На следующем этапе команда изучила существующие на рынке ETL-решения: Visual Flow, Apache Airflow и Oracle Data Integrator. Это позволило собрать примеры лучшего опыта, чтобы сделать будущий импортёр ещё удобнее и функциональнее.

Самым серьёзным вызовом была необходимость создать программу без использования SQL-скриптов, чтобы обеспечить безопасность работы с данными. По современным требованиям к безопасности все операции в целевой базе данных должны выполняться через слой доступа к данным DAL. Альтернативой SQL-скриптам стало решение использовать собственную грамматику для описания правил импорта. В этой части работы еще продолжаются. Мы планируем внедрить новые функции, которые станут полноценной заменой подхода с SQL-скриптами в рамках решаемых пользователями задач.

В настоящий момент модуль внедрён в 19 субъектах РФ и проходит этап обработки обратной связи от пользователей. Это позволит приоритизировать задачи по доработке и развитию функционала.

Благодарим всех, кто принимал участие в этом масштабном проекте. Благодаря вам развивается продукт и оптимизируется наша совместная работа, благодаря вам новый модуль импорта данных Emerald с сентября включён в основной пакет программных решений на платформе Geometa.

Последние публикации

Передача информационной модели ОКС в ГИСОГД

Команда Gems приступила к разработке программного модуля, обеспечивающего возможность передачи информационной модели объекта капитального строительства (ОКС) в ГИСОГД региона через «Геопортал сведений ГИСОГД».

Коммуникации как основной капитал внедренца

Группа компаний Gems провела ежегодный Слёт внедрения для сотрудников и партнеров-интеграторов. Двухдневное мероприятие, объединившее около 50 специалистов отрасли, прошло в офисе компании и было нацелено на организацию диалога между командами внедрения, разработки, маркетинга и продаж для обсуждения текущих процессов и планов по развитию.

Готовы вывести управление городом
на новый уровень?

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