Принято считать, что российское ПО традиционно уступает западным программам. Для многих это если не аксиома, то достаточно давно доказанная теорема. В особенности, когда речь идёт о корпоративных продуктах. Я был также уверен в этом и считал, что в большинстве случаев российские продукты корпоративного уровня делают для госсектора. Т.е. для того, чтобы выполнить требования по импортозамещению. Так было до недавнего времени, когда в моей компании не понадобилось автоматизировать рутинные процессы и я не озадачился выбором 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# разработчиков. В нашем случае, определенно, менее удобный.

Комментарии (4)


  1. Drazd
    27.10.2021 21:58
    +2

    Очень хорошая и полезная статья, автору уважение за проделанную работу, хорошее сравнение по конкретным пунктам.

    Однако, судя по всему, автор статьи либо пользовался продуктами UiPath давно и не знает про новые возможности, либо не полностью прошел свежие курсы академии вендора. Дополню по пунктам, чтобы материал в сочетании с комментарием мог восприниматься более полным.

    Базовый функционал

    Довольно условное понимание базового функционала. Внедрения в крупные корпорации показали, что "просто уметь взаимодействовать с интерфейсом" - мало. Есть потребность в организации командной работы над одним проектом (разные части робота могут делать разные люди независимо друг от друга на разных машинах), в обеспечении работы с очередями транзакций для обработки больших массивов данных, в возможности создания и использования тестов... и это лишь верхушка айсберга требований, предъявляемых крупными организациями к современным RPA-платформам. Но, конечно, вопрос о том, что из всего этого относить к базовому, а что нет - вполне открытый.

    Интерфейс и возможности разработки

    Действительно, оригинальная версия студии разработки UiPath предполагает базовое понимание основ программирования (минимум - переменные, их типы, область видимости). Однако, у UiPath имеется специальная версия студии разработки - StudioX. В этой версии робота можно разрабатывать даже без знания аналогичных основ программирования и без необходимости писать программный код (но если очень нужно, то можно). Даже в России уже есть несколько крупных организаций, где есть сотрудники, успешно создающие своих роботов в этой версии студии. Так что в этом плане можно считать возможности no-code разработки эквивалентными.

    Ролевая модель

    Относительно недавно у UiPath появились похожие возможности путем настройки правил через Automation Ops, благодаря которым можно запретить определенным разработчикам или группам разработчиков (например, тем самым Citizen Developers) выполнять определенные действия.

    Кроссплатформенность

    Данный пункт до недавнего времени был абсолютной истиной. Однако, буквально пару недель назад UiPath сделал доступным для предварительного ознакомления роботов для Linux. На данный момент имеется возможность: автоматизации облачных решений через готовые коннекторы, применения всех возможностей .NET Core, которыми можно пользоваться в среде Linux, а так же роботизации браузера. Так что в этом пункте тоже можно выставить паритет

    Отладка и обновления

    Аналогично пункту выше - буквально с версии 2021.10 в UiPath становится доступной удаленная отладка.


    1. imillerkov
      22.11.2021 17:06

      Добрый день, Валентин! Меня зовут Иван Мельников, я представитель компании ROBIN и замаюсь развитием продуктов ROBIN. 

      Спасибо большое за комментарий! Хотелось бы дать комментарии и ответы с нашей стороны. Не в формате спора или критики, а скорее для того, чтобы рассказать об особенностях платформы ROBIN :)

      Интерфейс и возможности разработки (Про StudioX)

      Про StudioX - согласны, для UiPath это большой шаг в сторону упрощения продукта для пользователей без знания языков программирования. Но глобально там используется всё тот же движок и тот же подход, что был в обычной Studio, и часть сложностей для не_программиста все-равно осталась . Например, конвертация данных, которая целиком организована через лежащий рядом эксель файл в который надо вставлять данные и потом забирать конвертированные через формулы. Это решает проблему, но выглядит менее очевидно чем, если бы просто было реализовано в формате активностей (дальше будут называть активности действиями на манер терминологии ROBIN). 

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

      Таким образом, глобально, да, у UiPath есть продукт для более простой разработки. Но он не покрывает всех  преимуществ в части использования сотрудниками с невысокой технической квалификацией, которые есть в студии ROBIN.

      Ролевая модель

      Возможно, что у коллег из UiPath тоже появляется такой функционал, но из того, что мы видели до этого, все ограничения доступов по действиям и добавления/обновления действий выполнялись в UiPath пакетно. Т.е. условно если я хочу запретить одно действие из пакета Excel, то я этого сделать не могу, не запретив весь Excel.

      Кроссплатформенность

      Здесь ключевое отличие у ROBIN, в том, что роботы не просто переведены на .NetCore. Этим путем пошли все существующие платформы, чтобы сейчас обеспечить определенную поддержку Linux, т.к. практически все называют себя кроссплатформенными. У ROBIN в самой архитектуре заложено то, действия могут быть написаны в любой  реализации - .Net, Java, Python. Например, на .Net в основном написаны вещи нацеленные на работу с Windows и продуктами Microsoft. На Java и Python всё остальное. И преимущества действий на Java и Python в гораздо большей степени интеграции с линуксом (Например, Python почти родной для linux, запускается и исполняется нативно (в отличии от .Net), и из него можно вызывать хоть функции ядра ОС.), что в итоге выражается в стабильности и возможностях конкретных действий под конкретные нативные приложения ОС.

      На самом деле, под кроссплатформенностью в ROBIN понимается также и совместимые ОС. Работа как роботов, так и компонентов платформы возможна на ОС семейства Linux, как Ubuntu, CentOS, так и импортозамещающие AstraLinux, AlterOS. Круто и то что ROBIN может работать запускать роботов и на macOS, пусть не является фишкой импортозамещения, да и в российском корпоративном сегменте, эта ОС не распространенна, но отлично демонстрирует возможности ROBIN в части именно кросплатформенности. Таким образом, архитектура позволяет запускаться практически везде, если поставить такую задачу.

      Для обеспечения требований импортозамещения, безопасности также важно совместимое ПО. Напммер, для совсем для суровой безопасности (как у военных, где майкрософтом не должно пахнуть), нам будет достаточно для запуска роботов чистого линукса из коробки (ибо Python там часть коробки). А в качестве СУБД ROBIN использует импортозамещающую Postgre или Postgre Pro (никаких MS и Oracle).

      Отладка и обновления

      Интересно, посмотрим реализацию, пока не видели :)


  1. LeXaNe
    28.10.2021 10:30
    +1

    Всяк кулик, свое болото хвалит...

    Вход в RPA, произошёл у меня с Robin, правда дело было ещё до версии 2.0 - она была на стадии тестирования и сыроватая. Поэтому знаком и с Робин и с UIPath, с которым работаю на данный момент. Есть вещи, которых мне не хватало в Робине, но были в UIPath (напоминаю, что речь идёт о старой версии Робина) И наоборот.

    У вас написано:

    Код в студии написать нельзя

    И ниже:

    У ROBIN 2.0 действия программируются на .NET (проверял только C#), java, Python

    Этот момент можете пояснить? В той версией, которой я пользовался была возможность вставки кода C#, а в Альфа версии 2.0 код не завезли, хотя была заявлена поддержка C#, Python,java.

    Базовый функционал у платформ практически не имеет отличий.

    UiPath в основном ориентирован на разработчиков, интерфейс удобен для программиста и полностью адаптирован под его нужды

    Функционал, я думаю во всех продуктах RPA будет примерно одинаков, заточенный под нужды бизнеса, но я бы не сказал, что в UIPath адаптирован для программиста. Мне ещё ни разу не приходилось прибегать к использованию кода. А в тех версиях Робина очень часто прибегал к вставкам кода, так как функционала к некоторым вещам не хватало.

    Код я не считаю злом на платформах RPA, с помощью него можно было делать много классных фишек. Эх.. Я даже хотел тоже статью написать, что я вытворял благодаря встроенному коду в Робине, но, работаю теперь в другом месте с UIPath


  1. imillerkov
    23.11.2021 12:57

    Добрый день! Меня зовут Иван Мельников, я представитель компании ROBIN и занимаюсь развитием продуктов ROBIN. 

    Спасибо большое за комментарий! Хотелось бы дать комментарии и ответы с нашей стороны. Не в формате спора или критики, а скорее для того, чтобы рассказать об особенностях платформы ROBIN :)

    Этот момент можете пояснить? В той версией, которой я пользовался была возможность вставки кода C#, а в Альфа версии 2.0 код не завезли, хотя была заявлена поддержка C#, Python,java.

    ROBIN 2.0 Studio это No-Code инструмент, и там всё делается с помощью уже разработанных действий. Отдельно есть ROBIN Action Editor - специальный инструмент, который позволяет создать своё действие на любом из трёх фреймворков (.Net,Java, Python) и оформить его для использования в студии. Все созданные действия публикуются в центральное хранилище, откуда доступны в Studio согласно ролевой модели. Такое разделение нужно для того, чтобы во-первых, любой сотрудник мог при желании погрузиться в тему роботизации, и мог собрать робота не зная языков программирования и их функций, но только с тем уровня доступа, который ему предоставит отдел информационной безопасности. Во-вторых, такое разделение функций (создание робота от написания кода) дает возможность максимально переиспользовать кастомные дейсвтия внутри организации.

    Функционал, я думаю во всех продуктах RPA будет примерно одинаков, заточенный под нужды бизнеса, но я бы не сказал, что в UIPath адаптирован для программиста. Мне ещё ни разу не приходилось прибегать к использованию кода. А в тех версиях Робина очень часто прибегал к вставкам кода, так как функционала к некоторым вещам не хватало.

    Функционал по действиям в ROBIN расширяется каждый релиз, но мы понимаем, что их не всегда хватает и потому вынесли возможность создания действий в отдельный инструмент. Про то, что в UiPath не приходится прибегать к коду - наверное возможно всё, но может быть сложно, т.к. много базовых операций в UiPath в принципе реализованы только через код. Хотим получить текущую дату - .DateTime.Now надо всё равно использовать, а это функция программирования всё таки и обычный пользователь не сможет ей воспользоваться.

    Я даже хотел тоже статью написать, что я вытворял благодаря встроенному коду в Робине

    Если не сложно - напишите нам на info@rpa-robin.ru, нам было бы интересно узнать и добавить ещё полезного функционала в следующих релизах.

    Спасибо!