We stappen over van betaalde RPA-platformen en baseren ons op OpenSource (OpenRPA).

Inleiding

Eerder op Habr is het onderwerp Automatisering van desktop GUI-applicaties met Pythonzeer uitgebreid behandeld. Toen was ik zeer geĆÆnteresseerd in dit artikel, omdat het elementen onthult die vergelijkbaar zijn met elementen van robotcreatie. En aangezien ik in mijn professionele activiteiten bezig ben met het robotiseren van bedrijfsprocessen (RPA — een gebied waar tot voor kort geen volledig functionele open source-analogen waren), was dit onderwerp voor mij zeer actueel.

De top IT-oplossingen in het RPA-gebied (UI Path, Blueprism, Automation Anywhere en anderen) hebben 2 aanzienlijke problemen:

  • Probleem 1: Technische beperkingen van de functionaliteit van het platform, omdat robotscripts worden gemaakt van in de grafische interface (ja, er is de mogelijkheid om programmatuur aan te roepen, maar deze mogelijkheid heeft een aantal beperkingen)
  • Probleem 2: Een uiterst dure prijsstrategie voor de verkoop van deze oplossingen (voor de top platforms ongeveer 8000$ voor ƩƩn permanent werkende robot per jaar). Maak een tiental robots om een groot jaarlijks bedrag aan licentiekosten te bereiken.

Omdat deze markt zeer jong en actief is, kunt u nu eenvoudig meer dan 10 automatiseringsoplossingen met verschillende prijsstrategieƫn vinden via Google. Maar tot voor kort was het onmogelijk om een volledig functionele open source-oplossing te vinden. Daarbij gaat het specifiek om een volledig functionele open source, omdat er gedeeltelijke gratis automatiseringsoplossingen bestaan, maar zij boden slechts een deel van de sleuteltechnologieƫn die de basis vormen van het RPA-concept.

Waar is het RPA-concept op gebaseerd?

RPA (Robotic Process Automation) is een van de meest kosteneffectieve manieren om doelen te bereiken. Aangezien RPA veronderstelt dat er geen afstand gedaan wordt van alle mogelijke legacy-systemen van het bedrijf, maar dat er een noodzakelijke automatiseringsscript op basis van deze systemen wordt gemaakt — dit levert zijn vruchten op wat betreft de snelheid van ontwikkeling (omdat het bestaande assortiment systemen niet opnieuw hoeft te worden opgebouwd), evenals wat betreft het bedrijfsresultaat (besparing PÅ E/FTE, verhoging van de omzet van het bedrijf, vermindering van de kosten van het bedrijf).

De volgende technologieƫn liggen ten grondslag aan RPA-tools:

  • beheer van geopende webpagina's in browsers;
  • beheer van geopende desktop GUI-applicaties;
  • beheer van muis en toetsenbord (toetsen indrukken, sneltoetsen, muisklikken, cursorbeweging);
  • zoeken naar grafische elementen op het bureaublad voor verdere acties met de muis en/of het toetsenbord;

Met jarenlange praktische ervaring hebben we aangetoond dat deze set technologieƫn het mogelijk maakt om vrijwel elk bedrijfsproces te automatiseren, waarbij geen elementen van herkenning/toepassing van kunstmatige intelligentie vereist zijn (in dergelijke gevallen moeten de juiste bibliotheken worden aangesloten op de robot, die beschikbaar zijn in de bestaande IT-wereld). Het ontbreken van zelfs maar ƩƩn van de bovenstaande tools heeft een aanzienlijke impact op de mogelijkheden van RPA.

Alle RPA-tools zijn immers online te vinden. Wat ontbreekt er dan?

Wat ontbreekt is het meest essentiĆ«le — hun samenhang. De samenhang die het mogelijk maakt om het synergetische effect te realiseren van het gebruik van verschillende tools (web, GUI, muis, toetsenbord) in ƩƩn robotscript, wat vaak noodzakelijk is (zoals de praktijk laat zien) tijdens ontwikkeling. Deze cruciale mogelijkheid wordt geboden door alle toonaangevende RPA-platforms, en nu wordt deze mogelijkheid ook geboden door het eerste OpenSource RPA-platform OpenRPA

Hoe is OpenRPA opgebouwd?

OpenRPA is een OpenSource-project gebaseerd op de programmeertaal Python 3, dat bestaat uit de beste bestaande Python-bibliotheken, die de nodige tools voor het RPA-platform mogelijk maken (de lijst met belangrijke RPA-tools zie hierboven).

Lijst van belangrijke bibliotheken:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui

Aangezien alle bibliotheken niet op de hoogte zijn van elkaars bestaan, is in OpenRPA een essentiële functie van het RPA-platform geïmplementeerd die het mogelijk maakt om ze samen te gebruiken. Dit wordt vooral duidelijk bij het gebruik van de bibliotheek pywinauto voor het beheren van desktop-GUI-applicaties. In dit gebied is de functionaliteit van de bibliotheek aangevuld tot het niveau dat wordt aangeboden door de beste RPA-platforms (selectoren voor GUI-applicaties, onafhankelijkheid van bitnummers, studio voor het maken van selectoren, enz.).

Conclusie

De moderne IT-wereld is vandaag de dag zo open voor iedereen dat het moeilijk voor te stellen is dat er nog steeds gebieden zijn waar alleen betaalde licentieoplossingen domineren. Aangezien dit licentiebeleid de ontwikkeling van dit gebied sterk beperkt, hoop ik dat we deze situatie kunnen omkeren: zodat elk bedrijf zich RPA kan veroorloven; zodat onze IT-collega's met gemak werk kunnen vinden in RPA, ongeacht de economische situatie in hun regio's (vandaag de dag kunnen regio's met een zwakke economie zich RPA niet veroorloven).

Als dit onderwerp u interesseert, kan ik in de toekomst een tutorial speciaal voor Habr samenstellen over het gebruik van OpenRPA — laat het me weten in de opmerkingen.

Iedereen bedankt en nog een fijne dag!

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster