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