Відмовляємося від платних RPA платформ і базуємось на OpenSource (OpenRPA)

Вступна

Раніше на Хабрі дуже докладно висвітлювалася тема Автоматизації десктопних GUI додатків на Python. У той час мене дуже залучила ця стаття, тому що в ній розкриваються елементи, схожі на елементи створення роботів. А оскільки за своєю професійною діяльністю я займаюся роботизацією бізнес-процесів компанії (RPA — область, в якій не було повнофункціональних аналогів OpenSource до недавнього часу), дана тема була дуже актуальна для мене.

Топові існуючі IT рішення в області RPA (UI Path, Blueprism, Automation Anywhere та інші) мають дві істотні проблеми:

  • Проблема 1: Технічні обмеження функціональності платформи, оскільки скрипти роботів створюються лише у графічному інтерфейсі (так, там є можливість викликати програмний код, але ця можливість має низку обмежень)
  • Проблема 2: Дуже дорога ліцензійна політика продажу цих рішень (Для топових платформ близько 8000 $ за одного постійно працюючого робота на рік). Зробіть з десять роботів, щоб потрапити на щорічну велику суму у вигляді ліцензійних відрахувань.

Так як цей ринок дуже молодий і дуже активний, вже зараз Ви зможете знайти в гугле 10+ рішень роботизації з різною ціновою політикою. Але повнофункціонального OpenSource рішення, донедавна, знайти було неможливо. Причому саме про повнофункціональний OpenSource, тому що часткові вільні рішення роботизації знайти можна, але вони пропонували лише частину ключових технологій, на яких базується концепція RPA.

На чому базується концепція RPA?

RPA (Роботизована автоматизація процесів) - це одна з найбільш економічно вигідних форм досягнення мети. Так як RPA передбачає не відмовлятися від всіляких legacy систем компанії, а зробити необхідний скрипт автоматизації на базі цих самих систем - це дає свої плоди як щодо швидкості розробки (бо не треба переробляти існуючий зоопарк систем), так і бізнес-результату (Економія ПШЕ/FTE, Збільшення виручки підприємства, зменшення витрат підприємства).

В основі інструментів RPA лежать такі технології:

  • керування відкритими веб-сторінками браузера;
  • керування відкритими десктопними GUI додатками;
  • керування мишею та клавіатурою (натискання клавіш, hotkeys, кнопок миші, переміщення курсору);
  • пошук графічних елементів на екрані робочого столу для застосування подальших дій мишею та/або клавіатурою;

Багаторічним практичним досвідом нам вдалося показати, що саме цей набір технологій дозволяє реалізувати роботизацію практично будь-якого бізнес-процесу, в яких не потрібний елемент розпізнавання/застосування штучного інтелекту (у цих випадках потрібно підключати до роботи відповідні бібліотеки, доступні в існуючому світі IT). Відсутність хоча б одного з перерахованих вище інструментів істотно впливає на можливості RPA.

Адже всі інструменти RPA можна знайти в Інтернеті. Чого ж не вистачає?

А не вистачає найголовнішого — не вистачає їхньої цілісності. Цілісність, яка дозволить реалізувати синергетичний ефект від використання різних інструментів (web, gui, миша, клавіатура) в одному скрипті робота, що найчастіше є необхідністю (як показує практика) розробки. Саме цю ключову можливість надають усі топові RPA платформи, і тепер цю можливість почала надавати перша OpenSource RPA платформа OpenRPA

Як влаштовано OpenRPA?

OpenRPA — це OpenSource проект на базі мови програмування Python 3, який складається з найкращих існуючих python бібліотек, які дозволяють реалізувати необхідний інструментарій RPA платформи (список ключових інструментів RPA див. вище).

Список ключових бібліотек:

  • pywinauto;
  • селен;
  • keyboard;
  • pyautogui

Оскільки всі бібліотеки не знають про існування один одного, в OpenRPA реалізовано найважливішу функцію RPA платформи, яка дозволяє їх використовувати разом. Особливо це виявляється при використанні бібліотеки pywinauto для управління десктопним GUI додатком. У цій галузі було проведено доповнення функціональності бібліотеки до того функціональність рівня, який пропонується у найкращих RPA платформах (селектори для GUI додатків, розрядонезалежність, студія створення селектора та ін.).

Висновок

Сучасний світ IT сьогодні настільки відкритий для всіх, що навіть складно уявити, що досі є ще області, де панують лише платні ліцензійні рішення. Так як дана ліцензійна політика сильно обмежує розвиток цього напряму, то я сподіваюся, що ми зможемо переламати цю ситуацію: щоб будь-яка компанія могла дозволити собі RPA; щоб наші IT колеги могли легко знайти собі роботу в RPA незалежно від економічної ситуації в їхніх регіонах (сьогодні регіони зі слабкою економікою не можуть дозволити собі RPA).

Якщо ця тема буде для Вас цікавою, то надалі можу скласти tutorial спеціально для Хабра з використання OpenRPA — пишіть у коментарях.

Всім спасибі та гарного дня!

Джерело: habr.com

Додати коментар або відгук