Отказываемся от платных RPA платформ и базируемся на OpenSource (OpenRPA)
- вторник, 16 июня 2020 г. в 00:30:10
Ранее на Хабре очень подробно освещалась тема Автоматизации десктопных GUI приложений на Python. В то время меня очень сильно привлекла эта статья, потому что в ней раскрываются элементы, схожие с элементами создания роботов. А так как по роду своей профессиональной деятельности я занимаюсь роботизацией бизнес-процессов компании (RPA — область, в которой не было полнофункциональных OpenSource аналогов до недавнего времени), данная тема была очень актуальна для меня.
Топовые существующие IT решения в области RPA (UI Path, Blueprism, Automation Anywhere и другие) имеют 2 существенные проблемы:
Так как этот рынок очень молодой и очень активный, уже сейчас Вы запросто сможете найти в гугле 10+ решений роботизации с разной ценовой политикой. Но полнофункционального OpenSource решения, до недавнего времени, найти было невозможно. Причем речь именно про полнофункциональный OpenSource, потому что частичные свободные решения роботизации найти можно, но они предлагали только часть ключевых технологий, на которых базируется концепция RPA.
RPA (Robotic Process Automation) — это одна из самых экономически выгодных форм достижения цели. Так как RPA предполагает не отказываться от всевозможных legacy систем компании, а сделать необходимый скрипт автоматизации на базе этих самых систем — это даёт свои плоды как в отношении скорости разработки (потому что не надо переделывать существующий зоопарк систем), так и в отношении бизнес-результата (экономия ПШЕ/FTE, увеличение выручки компании, уменьшение расходов компании).
В основе инструментов RPA лежать следующие технологии:
Многолетним практическим опытом нам удалось показать, что именно этот набор технологий позволяет реализовать роботизацию практически любого бизнес-процесса, в которых не требуется элемент распознавания/применения искусственного интеллекта (в этих случаях требуется подключать к роботу соответствующие библиотеки, доступные в существующем мире IT). Отсутствие хотя-бы одного из вышеперечисленных инструментов существенно влияет на возможности RPA.
А не хватает самого главного — не хватает их целостности. Целостность, которая позволит реализовать синергетический эффект от использования различных инструментов (web, gui, мышь, клавиатура) в одном скрипте робота, что зачастую является необходимостью (как показывает практика) при разработке. Именно эту ключевую возможность предоставляют все топовые RPA платформы, и теперь эту возможность стала предоставлять первая OpenSource RPA платформа OpenRPA
OpenRPA — это OpenSource проект на базе языка программирования Python 3, который состоит из лучших существующих python библиотек, которые позволяют реализовать необходимый инструментарий RPA платформы (перечень ключевых инструментов RPA см. выше).
Перечень ключевых библиотек:
Так как все библиотеки не знают о существовании друг друга, в OpenRPA реализована важнейшая функция RPA платформы, которая позволяет их использовать вместе. Особенно явно это проявляется при использовании библиотеки pywinauto для управления десктопным GUI приложением. В этой области была проведено дополнение функциональности библиотеки до того функциональность уровня, который предлагается в лучших RPA платформах (селекторы для GUI приложений, разрядонезависимость, студия создания селектора и др.).
Современный мир IT сегодня настолько открыт для всех, что даже сложно представить, что до сих пор существуют еще области, где господствуют только платные лицензионные решения. Так как данная лицензионная политика сильно ограничивает развитие данного направления, то я надеюсь, что мы сможем переломить эту ситуацию: чтобы любая компания могла позволить себе RPA; чтобы наши IT коллеги могли с легкостью найти себе работу в RPA вне зависимости от экономической ситуации в их регионы (сегодня регионы со слабой экономикой не могут позволить себе RPA).
Если данная тема будет для Вас интересна, то в дальнейшем могу составить tutorial специально для Хабр по использованию OpenRPA — пишите в комментариях.
Всем спасибо и хорошего дня!