Принято считать, что российское ПО традиционно уступает западным программам. Для многих это если не аксиома, то достаточно давно доказанная теорема. В особенности, когда речь идёт о корпоративных продуктах. Я был также уверен в этом и считал, что в большинстве случаев российские продукты корпоративного уровня делают для госсектора. Т.е. для того, чтобы выполнить требования по импортозамещению. Так было до недавнего времени, когда в моей компании не понадобилось автоматизировать рутинные процессы и я не озадачился выбором RPA.
Под катом хочу поделиться результатами анализа, который мы провели с коллегами. Статья не претендует на детальный сравнительный обзор, скорее кейс по выбору RPA под конкретные требования, который познакомит с некоторыми востребованными сегодня функциями таких платформ.
Для тех, кто далёк от темы:
RPA(Robotic process automation) — дословно — роботизированная автоматизация процессов. Программные роботы могут выполнять разнообразные действия в рамках заранее разработанных сценариев. Обычно им поручают рутинные задачи, которые они способны выполнять быстрее и эффективнее людей, не допускать ошибок. При этом, у сотрудников появляется больше времени на интеллектуальные и творческие задачи.
Основными в нашем случае стали следующие функциональные возможности RPA. Платформа должна выполнять такие задачи, как работа с различными типами приложений, офисными документами, машинное зрение и распознавание текста с использованием встроенных бесплатных инструментов. Также было важно, чтобы робота можно было создавать быстро. В идеале нужно было no-code решение, с интуитивно понятным интерфейсом, для работы с которым не требовалось изучения новой нотации. Очевидно, что чем проще создавать робота для очередной задачи, тем выше вероятность успешного внедрения. Также мы оценивали функционал платформ и предъявляли требования к отладке.
UiPath и ROBIN 2.0 обладают приблизительно одинаковыми базовыми функциями. Действия выполняются быстро. Обе платформы наделены функцией машинного зрения. UiPath работает с десктоп приложениями, веб приложениями, умеет отправлять почту и работать с процессами. Аналогичные функции доступны ROBIN 2.0.
В ROBIN 2.0 реализовано распознавание текста при помощи интегрированных бесплатных средств. При необходимости можно использовать сторонние приложения для распознавания, например от Abbyy, Yandex, DBrain. UiPath также может использовать собственное OCR-решение для распознавания, и применять сторонний софт. Такого набора базовых функций вполне достаточно для того, чтобы реализовать большинство типовых, широко распространённых, стандартизированных задач.
В нашем случае ключевыми факторами стали простота внедрения и широкие возможности в no-code. Чтобы как можно реже сталкиваться с программированием, делегировать задачи по RPA, аналитикам.
В случае с UiPath основная нагрузка ложится на программиста C#. Сделать нормального робота без знания языка практически невозможно. No-code решения в UiPath есть, но они закрывают лишь очень примитивные действия, т.е. рассчитаны на очень простых роботов.
ROBIN 2.0 имеет преимущество: Сборка роботов — No-code, т.е. даже достаточно сложные процессы можно автоматизировать, используя интуитивно понятный интерфейс. В студии настройки роботов нельзя написать программный код, а соответственно исключены случаи, когда сотрудник может что-то накосячить и «испортить» функционал робота. Задачи по записи действий пользователя традиционно решены рекордерами, которые есть как в UiPath, так и в ROBIN 2.0.
Как у UiPath, так и у ROBIN 2.0 есть возможность создания новых действий, за счет использования кастомного кода.
При этом в UiPath, программист может писать код в роботе. В нашем случае это неподходящий вариант. Проблема UiPath в том, что каждого робота можно приравнять к кастомному ПО, которое дорого разрабатывать и сложно поддерживать. Как только увольняется программист, написавший робота, возникают проблемы. Кроме того в UiPath возможно создание отдельных действий на С# с применением SDK.
ROBIN 2.0 предлагает создавать отдельные действия. Код в студии написать нельзя. Это нам подходит больше, так как робот выстраивается уже из готовых действий. Такой подход, выглядит убедительным, во-первых, робот состоит только из готовых действий, никакого кода, а значит он работает прозрачно и его легко поддерживать. Также каждое новое, кастомное действие тестируется и оценивается службами размещения и в дальнейшем появляется возможность его переиспользования для всех роботов компании.
Есть особенности в поддержке языков программирования. UiPath поддерживает С# и JavaScript. У ROBIN 2.0 действия программируются на .NET (проверял только C#), java, Python. В нашем случае это не имеет большого значения, но в целом ROBIN 2.0 выглядит более гибкой и дружелюбной средой, если говорить о возможном стеке технологий. Компания может выбрать стек под конкретную задачу, что подкупает.
Достоинством Uipath является большое комьюнити, с большим количеством форумов, материалов о разработке. Проблем с поиском нужной информации не возникает. У ROBIN 2.0 нет столь большого комьюнити, можно надеяться в основном на документацию на сайте, которая периодически обновляется, а также опираться на рекомендации поддержки, которая реагирует относительно оперативно.
Мы не нашли существенной разницы в ролевых моделях. У обеих платформ реализована ролевая модель, можно применяться как внутренняя аутентификация, так и через AD. Можно выделить несколько более гибкую настройку сетки прав в ROBIN 2.0.
Особенность ROBIN 2.0 — регулирование прав и доступа пользователей не только до уровня робота, но и до каждого конкретного действия, доступного в студии. UiPath контролирует доступ до уровня конкретного робота.
UiPath корректно работает только с Windows, начиная от “семёрки” и выше. Нативной поддержки Linux для исполнения нет. Комьюнити разработчиков решило эту проблему и делиться костыльных решением с использованием браузера на форумах.
ROBIN 2.0 имеет нативную кроссплатформенность. Один и тот же робот может выполняться на рабочих местах с Windows и с Linux. Для нас этот момент критичен. Разработчики предлагают работу с нативными приложениями и функциями разных ОС, причем взаимодействие возможно не только через браузер. Запуск роботов и работа оркестратора реализована на CentOS, RedHat, AstraLinux, AlterOS.
Базовые функции, такие как отслеживание логов, переменных, точка останова не имеют существенных отличий и одинаково хорошо реализованы в обеих платформах.
В ROBIN 2.0 также используется удаленная отладка. Если робот ломается на проде, возникает необходимость проверить его пошагово, но доступа к проду, как правило нет. И в этом случае в ROBIN 2.0 можно запустить робота его со своего компьютера и пошагово проводить отладку и выявить ошибку при помощи инструментов отладки доступных в студии.
Базовый функционал у платформ практически не имеет отличий. Значительно отличаются подходы и отдельные нюансы, у каждой платформы свои фишки.
UiPath в основном ориентирован на разработчиков, интерфейс удобен для программиста и полностью адаптирован под его нужды. ROBIN 2.0 напротив, ориентирован на аналитиков без скилов, и представляет собой no-code инструмент создания роботов в визуальном редакторе.
Под наши задачи, учитывая необходимость в быстром внедрении платформы лучше подошел ROBIN 2.0.
По моему мнению это более гибкое и лояльное к пользователю решение, адаптированное под реалии отечественного бизнеса, например на требования по импортозамещению и достаточно широкое использование Linux. UiPath, как лидер рынка, стремится предложить универсальные решения, которые могут быть востребованы везде. Это монолитный продукт, созданный для огромного комьюнити C# разработчиков. В нашем случае, определенно, менее удобный.
Под катом хочу поделиться результатами анализа, который мы провели с коллегами. Статья не претендует на детальный сравнительный обзор, скорее кейс по выбору RPA под конкретные требования, который познакомит с некоторыми востребованными сегодня функциями таких платформ.
Для тех, кто далёк от темы:
RPA(Robotic process automation) — дословно — роботизированная автоматизация процессов. Программные роботы могут выполнять разнообразные действия в рамках заранее разработанных сценариев. Обычно им поручают рутинные задачи, которые они способны выполнять быстрее и эффективнее людей, не допускать ошибок. При этом, у сотрудников появляется больше времени на интеллектуальные и творческие задачи.
Требования и критерии выбора
Основными в нашем случае стали следующие функциональные возможности RPA. Платформа должна выполнять такие задачи, как работа с различными типами приложений, офисными документами, машинное зрение и распознавание текста с использованием встроенных бесплатных инструментов. Также было важно, чтобы робота можно было создавать быстро. В идеале нужно было no-code решение, с интуитивно понятным интерфейсом, для работы с которым не требовалось изучения новой нотации. Очевидно, что чем проще создавать робота для очередной задачи, тем выше вероятность успешного внедрения. Также мы оценивали функционал платформ и предъявляли требования к отладке.
Базовый функционал
UiPath и ROBIN 2.0 обладают приблизительно одинаковыми базовыми функциями. Действия выполняются быстро. Обе платформы наделены функцией машинного зрения. UiPath работает с десктоп приложениями, веб приложениями, умеет отправлять почту и работать с процессами. Аналогичные функции доступны ROBIN 2.0.
В ROBIN 2.0 реализовано распознавание текста при помощи интегрированных бесплатных средств. При необходимости можно использовать сторонние приложения для распознавания, например от Abbyy, Yandex, DBrain. UiPath также может использовать собственное OCR-решение для распознавания, и применять сторонний софт. Такого набора базовых функций вполне достаточно для того, чтобы реализовать большинство типовых, широко распространённых, стандартизированных задач.
Интерфейс и возможности разработки
В нашем случае ключевыми факторами стали простота внедрения и широкие возможности в no-code. Чтобы как можно реже сталкиваться с программированием, делегировать задачи по RPA, аналитикам.
В случае с UiPath основная нагрузка ложится на программиста C#. Сделать нормального робота без знания языка практически невозможно. No-code решения в UiPath есть, но они закрывают лишь очень примитивные действия, т.е. рассчитаны на очень простых роботов.
ROBIN 2.0 имеет преимущество: Сборка роботов — No-code, т.е. даже достаточно сложные процессы можно автоматизировать, используя интуитивно понятный интерфейс. В студии настройки роботов нельзя написать программный код, а соответственно исключены случаи, когда сотрудник может что-то накосячить и «испортить» функционал робота. Задачи по записи действий пользователя традиционно решены рекордерами, которые есть как в UiPath, так и в ROBIN 2.0.
Расширение возможностей платформы
Как у UiPath, так и у ROBIN 2.0 есть возможность создания новых действий, за счет использования кастомного кода.
При этом в UiPath, программист может писать код в роботе. В нашем случае это неподходящий вариант. Проблема UiPath в том, что каждого робота можно приравнять к кастомному ПО, которое дорого разрабатывать и сложно поддерживать. Как только увольняется программист, написавший робота, возникают проблемы. Кроме того в UiPath возможно создание отдельных действий на С# с применением SDK.
ROBIN 2.0 предлагает создавать отдельные действия. Код в студии написать нельзя. Это нам подходит больше, так как робот выстраивается уже из готовых действий. Такой подход, выглядит убедительным, во-первых, робот состоит только из готовых действий, никакого кода, а значит он работает прозрачно и его легко поддерживать. Также каждое новое, кастомное действие тестируется и оценивается службами размещения и в дальнейшем появляется возможность его переиспользования для всех роботов компании.
Есть особенности в поддержке языков программирования. UiPath поддерживает С# и JavaScript. У ROBIN 2.0 действия программируются на .NET (проверял только C#), java, Python. В нашем случае это не имеет большого значения, но в целом ROBIN 2.0 выглядит более гибкой и дружелюбной средой, если говорить о возможном стеке технологий. Компания может выбрать стек под конкретную задачу, что подкупает.
Достоинством Uipath является большое комьюнити, с большим количеством форумов, материалов о разработке. Проблем с поиском нужной информации не возникает. У ROBIN 2.0 нет столь большого комьюнити, можно надеяться в основном на документацию на сайте, которая периодически обновляется, а также опираться на рекомендации поддержки, которая реагирует относительно оперативно.
Ролевая модель
Мы не нашли существенной разницы в ролевых моделях. У обеих платформ реализована ролевая модель, можно применяться как внутренняя аутентификация, так и через AD. Можно выделить несколько более гибкую настройку сетки прав в ROBIN 2.0.
Особенность ROBIN 2.0 — регулирование прав и доступа пользователей не только до уровня робота, но и до каждого конкретного действия, доступного в студии. UiPath контролирует доступ до уровня конкретного робота.
Кроссплатформенность
UiPath корректно работает только с Windows, начиная от “семёрки” и выше. Нативной поддержки Linux для исполнения нет. Комьюнити разработчиков решило эту проблему и делиться костыльных решением с использованием браузера на форумах.
ROBIN 2.0 имеет нативную кроссплатформенность. Один и тот же робот может выполняться на рабочих местах с Windows и с Linux. Для нас этот момент критичен. Разработчики предлагают работу с нативными приложениями и функциями разных ОС, причем взаимодействие возможно не только через браузер. Запуск роботов и работа оркестратора реализована на CentOS, RedHat, AstraLinux, AlterOS.
Отладка и обновления
Базовые функции, такие как отслеживание логов, переменных, точка останова не имеют существенных отличий и одинаково хорошо реализованы в обеих платформах.
В ROBIN 2.0 также используется удаленная отладка. Если робот ломается на проде, возникает необходимость проверить его пошагово, но доступа к проду, как правило нет. И в этом случае в ROBIN 2.0 можно запустить робота его со своего компьютера и пошагово проводить отладку и выявить ошибку при помощи инструментов отладки доступных в студии.
Сухой остаток
Базовый функционал у платформ практически не имеет отличий. Значительно отличаются подходы и отдельные нюансы, у каждой платформы свои фишки.
UiPath в основном ориентирован на разработчиков, интерфейс удобен для программиста и полностью адаптирован под его нужды. ROBIN 2.0 напротив, ориентирован на аналитиков без скилов, и представляет собой no-code инструмент создания роботов в визуальном редакторе.
Под наши задачи, учитывая необходимость в быстром внедрении платформы лучше подошел ROBIN 2.0.
По моему мнению это более гибкое и лояльное к пользователю решение, адаптированное под реалии отечественного бизнеса, например на требования по импортозамещению и достаточно широкое использование Linux. UiPath, как лидер рынка, стремится предложить универсальные решения, которые могут быть востребованы везде. Это монолитный продукт, созданный для огромного комьюнити C# разработчиков. В нашем случае, определенно, менее удобный.