Вводная
Ранее на Хабре очень подробно освещалась тема
Топовые существующие IT решения в области RPA (UI Path, Blueprism, Automation Anywhere и другие) имеют 2 существенные проблемы:
- Проблема 1: Технические ограничения функциональности платформы, так как скрипты роботов создаются только в графическом интерфейсе (да, там есть возможность вызывать программный код, но эта возможность имеет ряд ограничений)
- Проблема 2: Крайне дорогая лицензионная политика продажи этих решений (Для топовых платформ около 8000$ за одного постоянно работающего робота в год). Сделайте с десяток роботов, чтобы попасть на ежегодную крупную сумму в виде лицензионных отчислений.
Так как этот рынок очень молодой и очень активный, уже сейчас Вы запросто сможете найти в гугле 10+ решений роботизации с разной ценовой политикой. Но полнофункционального OpenSource решения, до недавнего времени, найти было невозможно. Причем речь именно про полнофункциональный OpenSource, потому что частичные свободные решения роботизации найти можно, но они предлагали только часть ключевых технологий, на которых базируется концепция RPA.
На чем же базируется концепция RPA?
RPA (
В основе инструментов RPA лежать следующие технологии:
- управление открытыми web страницами браузера;
- управление открытыми десктопными GUI приложениями;
- управление мышью и клавиатурой (нажатие клавиш, hotkeys, кнопок мыши, перемещение курсора);
- поиск графических элементов на экране рабочего стола для применения дальнейших действий мышью и/или клавиатурой;
Многолетним практическим опытом нам удалось показать, что именно этот набор технологий позволяет реализовать роботизацию практически любого бизнес-процесса, в которых не требуется элемент распознавания/применения искусственного интеллекта (в этих случаях требуется подключать к роботу соответствующие библиотеки, доступные в существующем мире IT). Отсутствие хотя-бы одного из вышеперечисленных инструментов существенно влияет на возможности RPA.
Ведь все инструменты RPA можно найти в интернете. Чего же тогда не хватает?
А не хватает самого главного — не хватает их целостности. Целостность, которая позволит реализовать синергетический эффект от использования различных инструментов (web, gui, мышь, клавиатура) в одном скрипте робота, что зачастую является необходимостью (как показывает практика) при разработке. Именно эту ключевую возможность предоставляют все топовые RPA платформы, и теперь эту возможность стала предоставлять
Как устроена OpenRPA?
Перечень ключевых библиотек:
- pywinauto;
- selenium;
- keyboard;
- pyautogui
Так как все библиотеки не знают о существовании друг друга, в OpenRPA реализована важнейшая функция RPA платформы, которая позволяет их использовать вместе. Особенно явно это проявляется при использовании библиотеки pywinauto для управления десктопным GUI приложением. В этой области была проведено дополнение функциональности библиотеки до того функциональность уровня, который предлагается в лучших RPA платформах (селекторы для GUI приложений, разрядонезависимость, студия создания селектора и др.).
Заключение
Современный мир IT сегодня настолько открыт для всех, что даже сложно представить, что до сих пор существуют еще области, где господствуют только платные лицензионные решения. Так как данная лицензионная политика сильно ограничивает развитие данного направления, то я надеюсь, что мы сможем переломить эту ситуацию: чтобы любая компания могла позволить себе RPA; чтобы наши IT коллеги могли с легкостью найти себе работу в RPA вне зависимости от экономической ситуации в их регионы (сегодня регионы со слабой экономикой не могут позволить себе RPA).
Если данная тема будет для Вас интересна, то в дальнейшем могу составить tutorial специально для Хабр по использованию OpenRPA — пишите в комментариях.
Всем спасибо и хорошего дня!
Источник: habr.com