Как перевести корпоративный мессенджер на отечественные рельсы за 7 дней
Разработчики SimbirSoft рассказывают, как ускорить перенос данных и чатов из зарубежного корпоративного мессенджера в отечественныйЗадача — перевести корпоративное общение в компании на импортонезависимое решение. Причина — доступ к зарубежному сервису могут приостановить в любой момент. Важно не только перевести сотрудников в новый мессенджер, но перенести туда всю информацию, которая накопилась в истории мессенджера за несколько лет
Тренд на импортозамещение и переход на независимый стек становится все более актуальным. Это способствует снижению зависимости от иностранного ПО и развитию отечественной цифровой экосистемы, позволяет сохранить информацию в отечественных центрах хранения данных, обеспечить стабильность и независимость бизнеса.
С какой задачей обратился клиент
Клиент — торговая компания с численностью штата более 1000 человек.
Сотрудники активно взаимодействуют между собой в корпоративном мессенджере, организовывают группы, проводят созвоны, ведут личную переписку, обмениваются файлами. Но в текущих условиях руководство компании посчитало необходимым перейти на отечественное решение, поскольку доступ к текущему сервису могут приостановить в любой момент.
Именно с такой задачей заказчик обратился к нам. Дополнительное требование — перенести всю информацию, которая накопилась в истории мессенджера за несколько лет.
Как выбирали решение и на чем остановились
Мессенджер, в который необходимо было перенести данные по выбору заказчика, — крупный отечественный продукт. У него есть API, которое можно использовать для интеграции с собственными разрабатываемыми приложениями.
Задачу перехода планировали решать через классическую разработку, выбирали оптимальный язык программирования, искали документацию и изучали возможности инструментов, которые могли бы нам помочь. В процессе поиска решения выяснили, что API, которое есть у данной экосистемы, не позволяет переносить информацию из других мессенджеров. Поняли, что такой подход потребует много ресурсов и не сможет закрыть весь спектр задач, которые перед нами стояли.
Осознав, что минусов при такой реализации больше, чем плюсов, мы решили обратить свое внимание на развивающиеся в тот момент отечественные RPA-платформы, которые обладали достаточно большим спектром возможностей.
Напомним, технология RPA (Robotic Process Automation) позволяет автоматизировать рутинные бизнес-процессы с помощью программных роботов. Спектр их применения очень широк: разбор электронной почты, формирование электронных писем и рассылок, работа с офисными пакетами Microsoft, сбор информации с сайтов. Также есть возможность привлечь обработку данных в связке с ИИ и имитировать работу человека в приложениях. Другими словами, с помощью RPA можно автоматизировать большой перечень бизнес-процессов.
Презентовали идею заказчику и после согласования приступили к реализации.
Что делали
Воспользовавшись преимуществами RPA-платформ, а именно эмуляцией работы человека в приложениях, мы решили полностью копировать последовательность действий человека так, как если бы он самостоятельно делал этот перенос вручную.
Но для переноса данных их предстояло получить в нужном виде. Текущий мессенджер компании предоставлял возможность выгрузки информации, но ее содержание и формат нас не устраивали, так как полученные данные были неполные, а формат тяжело поддавался обработке. Поэтому перед переносом данных мы сделали парсинг мессенджера, чтобы собрать нужную информацию и загрузить ее в удобном для нас формате.
Сложность задачи заключалась в том, что нативная версия приложения плохо поддавалась взаимодействию с RPA, а браузерная версия имела сложную структуру frontend-части. Это затрудняло написание хорошо читаемого и эффективного сценария. Но из двух вариантов реализации мессенджера второй подходил лучше.
Чтобы не писать большой RPA-сценарий, мы решили написать основную часть логики на языке JavaScript, так как он имеет исчерпывающий набор функций для извлечения элементов из браузера. Написанный скрипт мы внедрили в логику парсинга RPA-сценария.
Уникальность данного подхода — в том, что сценарий робота легко внедряет код в нужную нам страницу и отрабатывает его. Таким образом, мы значительно расширяем функциональность RPA-платформы. Это практика не частая, но иногда без нее не обойтись.
После удачной выгрузки данных мы перешли к основному этапу проекта — переносу информации в новый мессенджер. У него, как и у текущего корпоративного мессенджера, есть две версии: браузерная и нативная. Браузерная нас не устроила, так как ее функциональность не позволяет создавать сообщения с форматированным текстом, а для нас это было важно, поскольку переносимые сообщения нужно привести в удобный формат. А для этого необходима функциональность по форматированию текста из нативной версии.
Проблема взаимодействия RPA-платформы с мессенджером тоже присутствовала, но не так глобально, как с иностранным мессенджером. Те элементы, которые не поддавались обнаружению через стандартную функциональность, мы решили прокликивать через нахождение элементов по картинке. Такая возможность предоставляется в RPA и набор функций для данной задачи достаточно богатый. Таким образом, без каких-либо привязок к сторонним инструментам мы смогли получить доступ ко всей функциональности мессенджера, который впоследствии использовали для создания групп, каналов, наполнения их участниками и сообщениями.
С одной стороны, это выглядело так, будто мы вручную переносили все данные, но с другой стороны, это был сценарий, который имитировал работу человека и эта работа выполнялась в ускоренном режиме.
Каких результатов достигли
В рамках данного кейса мы смогли решить несколько задач:
- автоматизировать процесс регистрации новых учетных записей пользователей
Использовали робот для автоматического заполнения формы регистрации с целью создания новых аккаунтов.
- воссоздать группы и каналы из предыдущего мессенджера
Робот переносил в новый мессенджер чаты групп и каналов, наполнял их участниками, а также создавал требуемое оформление.
- выполнить перенос сообщений
Робот от лица создателя группы или канала переносил текстовое содержимое сообщений по определенному шаблону, чтобы в дальнейшем к ним можно было удобно обращаться.
Кому не подойдет данное решение
Как и у любого другого инструмента, у предложенного нами решения есть свои ограничения:
- Реализовать подобный кейс можно, только если у мессенджера есть браузерная версия.
Успешная реализация описанного нами решения зависит от тщательной подготовки данных, которые необходимо переносить. Если мессенджер, из которого планируете переезжать, не позволяет выкачивать базу данных для переноса, необходимо продумывать дополнительный сценарий решения проблемы, что увеличит сроки и стоимость разработки.
- Используемый подход не позволяет сохранить историчность.
Иными словами, при таком способе нет возможности отправлять сообщения с сохранением авторства, как это было в первоначальном мессенджере. Наглядно изображено на рисунке ниже:
Мы продумывали оптимальный для клиента формат, который будет содержать нужную информацию. Все сообщения отправляются в чат от лица создателя группы. Такой способ оптимальный и по срокам реализации, и по стоимости.
Вместо вывода
Учитывая, что API отечественного мессенджера не предоставлял нужного набора функций под нашу задачу, стандартная разработка дала бы нам частичное решение, которое не удовлетворяло клиента. Единственным решением был ручной перенос, который по расчетам клиента занял бы от 3 недель минимум.
Перенос данных с помощью сценариев на RPA занял всего неделю. При этом было создано около 1000 групп, зарегистрировано 1200 человек и перенесено более 15 000 сообщений. Таким образом, мы быстро перенесли всю информацию в новый мессенджер и сделали это с минимальными денежными затратами для клиента.
Так нам удалось преодолеть все сложности, которые возникают при переходе с иностранного программного обеспечения на отечественное. Для их решения мы всегда грамотно подходим к подбору инструмента реализации проекта, ведь именно от этого выбора зависит скорость и стоимость разработки.
Перенос данных с помощью сценариев на RPA занял всего неделю. При этом было создано около 1000 групп, зарегистрировано 1200 человек и перенесено более 15 000 сообщений.
Источники изображений:
Freepik.com, архив компании
Интересное:
Новости отрасли:
Все новости:
Публикация компании
Профиль
Социальные сети