Úvodný
Táto téma bola predtým podrobne rozobratá na Habre. V tom čase ma tento článok veľmi zaujal, pretože odhaľoval prvky podobné tým, ktoré sa používajú v robotike. A keďže moja profesionálna práca zahŕňa automatizáciu robotických procesov (RPA – oblasť, ktorá až donedávna nemala plne funkčný ekvivalent s otvoreným zdrojovým kódom), táto téma bola pre mňa veľmi relevantná.
Existujúce špičkové IT riešenia RPA (UI Path, Blueprism, Automation Anywhere a ďalšie) majú dva významné problémy:
- Problém 1: Technické obmedzenia funkčnosti platformy, pretože sa vytvárajú robotické skripty iba v grafickom rozhraní (áno, je možné volať programový kód, ale táto možnosť má niekoľko obmedzení)
- Problém 2: Extrémne drahá licenčná politika na predaj týchto riešení (pre špičkové platformy) približne 8 000 dolárov za jedného neustále pracujúceho robota ročne). Vytvorte tucet robotov, aby ste dosiahli ročnú vysokú sumu licenčných poplatkov.
Keďže tento trh je veľmi mladý a aktívny, na Googli ľahko nájdete viac ako 10 riešení robotickej automatizácie s rôznymi cenami. Až donedávna však nebolo možné nájsť plne funkčné riešenie s otvoreným zdrojovým kódom. A hovorím konkrétne o plne funkčných riešeniach s otvoreným zdrojovým kódom, pretože čiastočne open-source riešenia robotickej automatizácie možno nájsť, ale tie ponúkali iba podmnožinu kľúčových technológií, na ktorých je koncept RPA založený.
Na čom je založený koncept RPA?
RPA () je jedným z najnákladovo najefektívnejších spôsobov, ako dosiahnuť tento cieľ. Keďže RPA nevyžaduje opustenie všetkých starších systémov spoločnosti, ale skôr vytvorenie potrebného automatizačného skriptu založeného na týchto systémoch, prináša to výhody ako z hľadiska rýchlosti vývoja (pretože nie je potrebné prepracovávať existujúce množstvo systémov), tak aj z hľadiska obchodných výsledkov (úspora nákladov). , zvýšenie tržieb spoločnosti, zníženie výdavkov spoločnosti).
Nástroje RPA sú založené na nasledujúcich technológiách:
- správa otvorených webových stránok v prehliadači;
- správa otvorených aplikácií s grafickým rozhraním pre stolné počítače;
- ovládanie myši a klávesnice (stláčanie klávesov, klávesové skratky, tlačidlá myši, pohyb kurzora);
- vyhľadávať grafické prvky na pracovnej ploche a vykonávať ďalšie akcie pomocou myši a/alebo klávesnice;
Prostredníctvom dlhoročných praktických skúseností sme preukázali, že táto sada technológií umožňuje robotizáciu prakticky akéhokoľvek obchodného procesu, ktorý nevyžaduje použitie umelej inteligencie (v týchto prípadoch je potrebné prepojenie príslušných knižníc dostupných v existujúcom IT svete s robotom). Absencia čo i len jedného z vyššie uvedených nástrojov výrazne ovplyvňuje možnosti RPA.
Veď všetky RPA nástroje sa dajú nájsť online. Čo teda chýba?
Chýba im však to najdôležitejšie – ich integrita. Táto integrita by umožnila synergický efekt použitia rôznych nástrojov (web, grafické rozhranie, myš, klávesnica) v jednom skripte bota, čo je (ako ukazuje prax) počas vývoja často nevyhnutnosťou. Toto je práve kľúčová funkcia, ktorú poskytujú všetky špičkové RPA platformy a teraz sa aj ponúka.
Ako funguje OpenRPA?
— je open-source projekt založený na programovacom jazyku Python 3, ktorý pozostáva z najlepších existujúcich knižníc Pythonu, ktoré umožňujú implementáciu potrebných nástrojov platformy RPA (pozri zoznam kľúčových nástrojov RPA vyššie).
Zoznam kľúčových knižníc:
- pywinauto;
- selén;
- klávesnica;
- pyautogui
Keďže si všetky knižnice navzájom neuvedomujú existenciu, OpenRPA implementuje kľúčovú funkciu platformy RPA, ktorá umožňuje ich spoločné používanie. Toto je obzvlášť zrejmé pri použití knižnice pywinauto na správu desktopovej aplikácie s grafickým rozhraním. V tejto oblasti bola funkcionalita knižnice rozšírená tak, aby zodpovedala funkcionalite ponúkanej poprednými platformami RPA (selektory pre aplikácie s grafickým rozhraním, nezávislosť bitov, štúdio na tvorbu selektorov atď.).
Záver
Moderný svet IT je tak otvorený pre každého, že je ťažké si predstaviť, že stále existujú oblasti, v ktorých dominujú iba platené licencované riešenia. Keďže táto licenčná politika výrazne obmedzuje rozvoj tejto oblasti, dúfam, že sa nám podarí túto situáciu zvrátiť: aby si každá spoločnosť mohla dovoliť RPA; aby si naši IT kolegovia mohli ľahko nájsť prácu súvisiacu s RPA bez ohľadu na ekonomickú situáciu v ich regióne (dnes si regióny so slabou ekonomikou nemôžu dovoliť RPA).
Ak vás táto téma zaujíma, môžem vytvoriť tutoriál špeciálne pre Habr o používaní OpenRPA – dajte mi vedieť v komentároch.
Ďakujem vám všetkým a prajem pekný deň!
Zdroj: hab.com
