Адмаўляемся ад платных RPA платформаў і грунтуемся на OpenSource (OpenRPA)

Уступная

Раней на Хабры вельмі падрабязна асвятлялася тэма Аўтаматызацыі дэсктопных GUI прыкладанняў на Python. У той час мяне вельмі моцна прыцягнуў гэты артыкул, таму што ў ім раскрываюцца элементы, падобныя з элементамі стварэння робатаў. А так як па родзе сваёй прафесійнай дзейнасці я займаюся рабатызацыяй бізнэс-працэсаў кампаніі (RPA – вобласць, у якой не было поўнафункцыянальных OpenSource аналагаў да нядаўняга часу), дадзеная тэма была вельмі актуальная для мяне.

Топавыя існуючыя IT рашэнні ў галіне RPA (UI Path, Blueprism, Automation Anywhere і іншыя) маюць 2 істотныя праблемы:

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

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

На чым жа грунтуецца канцэпцыя RPA?

RPA (Аўтаматызацыя рабатызаваных працэсаў) - гэта адна з самых эканамічна выгадных формаў дасягнення мэты. Бо RPA мяркуе не адмаўляцца ад разнастайных legacy сістэм кампаніі, а зрабіць неабходны скрыпт аўтаматызацыі на базе гэтых самых сістэм – гэта дае свой плён як у стаўленні хуткасці распрацоўкі (таму што не трэба перарабляць існуючы заапарк сістэм), так і ў стаўленні бізнэс-выніку (эканомія ПШЭ/FTE, павелічэнне выручкі кампаніі, памяншэнне выдаткаў кампаніі).

У аснове інструментаў RPA ляжаць наступныя тэхналогіі:

  • кіраванне адчыненымі web старонкамі браўзэра;
  • кіраванне адкрытымі дэсктопнымі 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

Дадаць каментар