ФОРС – Центр разработки
Москва, Трифоновский тупик, д. 3
Москва, Графский переулок, д. 14, корп. 2
Новости и события
Данная статья адресована как техническим специалистам (аналитикам-постановщикам, разработчикам, архитекторам, администраторам БД), так и бизнес-пользователям, участвующим во внедрении платформы СИЭР (Системы Исполнения Электронных Регламентов) в своей организации.
Цель публикации — поделиться имеющимся опытом, а также рассказать о разработанной в ФОРС методике миграции данных при переносе прикладных систем на платформу СИЭР. Особое внимание мы уделим следующим аспектам:
Современный этап развития ИТ в России отличает активный переход на отечественное программное обеспечение. Данный тренд не только способствует развитию локального рынка, но и позволяет избежать зависимости от зарубежных поставщиков, снизить риски, связанные с информационной безопасностью. В случаях, когда используются решения на базе таких платформ как СИЭР, разработчики и конечные пользователи получают возможность взаимодействовать друг с другом и общаться на одном языке. И одной из первых и наиважнейших задач, которые возникают в ходе импортозамещения, является перенос исторических данных в новую систему.
Исторические данные — это основа для аналитики, отчётности и работы с обращениями клиентов. Их потеря или некорректный перенос могут привести к сбоям в бизнес-процессах и сложностям при взаимодействии с контролирующими органами. Поэтому от того, как проведена миграция данных, будет зависеть успех проекта в целом.
Платформа СИЭР разработана и поставляется компанией «Эволента», она предназначена для автоматизации административно-управленческих процессов предоставления государственных и муниципальных услуг и внутриведомственных административных процессов, а также оперативного доступа к соответствующей информации. В продукте используется реестровая форма ведения записей. Это особенно удобно при оказании услуг, связанных с аттестацией и выдачей разрешений/лицензий для организаций из различных сфер деятельности. Так, например, если на основании заявления от организации принимается положительное решение о выдаче/продлении/аннулировании лицензии или разрешения, то после завершения работы с таким заявлением на платформе СИЭР будет автоматически создана или обновлена реестровая запись с данными об организации и об объекте её деятельности. Эти данные сохраняются в системе таким образом, чтобы можно было оперативно найти все записи, относящиеся к организации или объекту деятельности, а также сформировать выписку или необходимую отчетность.
В связи с этим специалистами ФОРС был разработан механизм, позволяющий переносить данные из системы, где не был предусмотрен реестровый тип хранения данных, в систему с реестровой моделью хранения данных на платформе СИЭР с сохранением всей истории операций.
Процесс миграции исторических данных из старой системы в новую начинается с ее подготовки.
Этот процесс следует начинать сразу после разработки основной функциональности, когда уже описаны бизнес-процессы, а в СИЭР они описываются в формате BPMN, созданы и согласованы с заказчиком статусная модель, экранные формы, структура реестровой записи, а также налажен процесс её создания и обновления.
Для корректной миграции данных в новый сервис необходимо согласовать с заказчиком соответствие старой и новой статусной модели и определить, какую конкретно информацию необходимо перенести в новый сервис, так как возможна как полная, так и частичная миграция данных. Далее необходимо доработать BPMN схему таким образом, чтобы каждая переносимая сущность попала в новый сервис именно в том статусе, в котором она находилась в старой системе.
Помимо статуса в переносимой сущности обычно находится множество другой важной информации, которую нельзя потерять. Она содержится в данных экранных форм и в приложенных документах. Поэтому необходимо так связать между собой поля и источники информации в старой системе и новой, чтобы пользователь мог продолжать работу с заявлениями или другими сущностями с того же места, на котором он закончил работу в старой системе, имея перед глазами тот же самый набор данных.
На этом этапе у разработчиков могут возникнуть определенные трудности, связанные с разницей в структуре старой и новой базы данных. Поэтому необходимо уделить серьезное внимание приведению в соответствие формата данных. Так, например, при переносе данных из реляционной базы Oracle в NoSql базу MongoDB данные следует преобразовать в совместимый формат JSON, что потребует:
Теперь разберем варианты создания реестра на основании архивных данных в случае миграции данных из системы, в которой не была предусмотрена реестровая запись.
Для этого необходимо уточнить, как работает механизм создания и обновления реестровой записи в новой системе. Напомним, что реестровая запись в СИЭР создаётся/обновляется автоматически посредством встроенных функций и собственного обработчика, который задаёт структуру записи.
Однако такой способ не подходит для создания/обновления реестровых записей по переносимым данным, поскольку обработчик срабатывает только после действия пользователя в системе. Поэтому для реализации создания/обновления реестровых записей в автоматическом режиме возможны два варианта действий:
Первое решение может сократить время миграции, но нужно иметь в виду высокую трудоёмкость создания скрипта миграции, так как реестровая запись обладает сложной структурой, что увеличивает время на реализацию и повышает вероятность ошибки.
При использовании второго решения сокращается время на разработку и практически исключается возможность ошибки в структуре реестровой записи, так как решение использует встроенную в СИЭР функциональность. Поэтому мы рекомендуем использовать при миграции именно такой подход.
При реализации решения прежде всего необходимо определить место для script task на BPMN схеме. Так, в нашем случае лучшим вариантом размещения стало выделение отдельного потока операций (flow) с условием на завершенные дела с положительным решением. В данной ветке последовательно устанавливаются:
Далее в структуре дела были предусмотрены логические поля для признака «мигрированное дело» и «положительное решение».
В script task потребовалось написать средствами groovy функцию, аналогичную внутренней функции СИЭР «create License», задачей которой является передача необходимых данных из дела в лицензию. В случае первичного создания реестровой записи важно прописать генерацию id лицензии, а в случае обновления — установку нужного статуса лицензии.
В заключении хотелось бы отметить, что переход на новую платформу — это не просто смена ПО, а возможность улучшить работу с данными. И чтобы достичь желаемых результатов, всегда следует помнить, что ошибки, допущенные при миграции, могут привести к:
В то же время, правильно продуманная миграция в СИЭР позволяет:
Таким образом, можно утверждать, что корректная миграция — это не только перенос данных, но и гарантия непрерывности бизнес-процессов, соблюдение требований информационной безопасности и норм российского законодательства.
Москва, Трифоновский тупик, д. 3
Москва, Графский переулок, д. 14, корп. 2
Москва, Графский переулок, д. 14, корп. 2
Москва, ул. Авиамоторная, д. 8, стр. 12, 5 этаж
Москва, Трифоновский тупик, д. 3
Москва, Графский переулок, д. 14, корп. 2
Москва, Графский переулок, д. 14, корп. 2
Москва, ул. Авиамоторная, д. 8, стр. 12, 5 этаж
Благодарим за ваш запрос.
Мы обязательно
свяжемся с вами!
Благодарим Вас!
Регистрация
прошла успешно.
Ссылка на прямую трансляцию вебинара будет предоставлена накануне мероприятия.