Introduktion
Tidigare behandlade Habr ämnet ingående. . Vid den tiden var jag mycket lockad av den här artikeln eftersom den avslöjade element som liknar dem i skapandet av robotar. Och eftersom min yrkesverksamhet involverar robotisering av företagsprocesser (RPA är ett område där det inte fanns några fullt fungerande open source-motsvarigheter förrän nyligen), var detta ämne mycket relevant för mig.
De främsta befintliga IT-lösningarna inom RPA-området (UI Path, Blueprism, Automation Anywhere med flera) har två betydande problem:
- Problem 1: Tekniska begränsningar i plattformens funktionalitet, eftersom robotskript skapas endast i det grafiska gränssnittet (ja, det finns möjlighet att anropa programkod, men denna möjlighet har ett antal begränsningar)
- Problem 2: Extremt dyr licenspolicy för att sälja dessa lösningar (för toppplattformar) cirka 8000 XNUMX dollar per konstant arbetande robot per år). Tillverka ett dussin robotar för att få en stor årlig summa i form av royalties.
Eftersom den här marknaden är väldigt ung och väldigt aktiv kan du enkelt hitta 10+ robotlösningar med olika prissättningspolicyer på Google. Men fram tills nyligen var det omöjligt att hitta en fullt fungerande öppen källkodslösning. Dessutom talar vi specifikt om fullt fungerande öppen källkod, eftersom delvis gratis robotlösningar kan hittas, men de erbjöd bara en del av de nyckelteknologier som RPA-konceptet bygger på.
Vad bygger RPA-konceptet på?
RPA () är ett av de mest kostnadseffektiva sätten att uppnå ett mål. Eftersom RPA inte innebär att man överger alla möjliga äldre företagssystem, utan skapar nödvändiga automatiseringsskript baserat på just dessa system, ger detta resultat både vad gäller utvecklingshastighet (eftersom det inte finns något behov av att omarbeta det befintliga zoo av system) och vad gäller affärsresultat (besparingar). , ökning av företagets intäkter, minskning av företagets kostnader).
RPA-verktyg är baserade på följande teknologier:
- hantera öppna webbsidor i webbläsaren;
- hantera öppna skrivbordsapplikationer med grafiskt gränssnitt;
- mus- och tangentbordskontroll (trycka på tangenter, snabbtangenter, musknappar, flytta markören);
- sök efter grafiska element på skrivbordsskärmen för att utföra ytterligare åtgärder med musen och/eller tangentbordet;
Med många års praktisk erfarenhet har vi kunnat visa att det är denna uppsättning teknologier som gör det möjligt för oss att implementera robotisering av nästan alla affärsprocesser som inte kräver någon form av igenkänning/tillämpning av artificiell intelligens (i dessa fall är det nödvändigt att koppla de lämpliga biblioteken som finns tillgängliga i den befintliga IT-världen till roboten). Avsaknaden av minst ett av ovanstående verktyg påverkar RPA:s kapacitet avsevärt.
Alla RPA-verktyg finns trots allt på internet. Vad saknas då?
Men det viktigaste saknas – deras integritet saknas. Integritet, vilket gör det möjligt att realisera den synergistiska effekten från användningen av olika verktyg (webb, grafiskt gränssnitt, mus, tangentbord) i ett robotskript, vilket ofta är en nödvändighet (som praktiken visar) under utveckling. Detta är den viktigaste funktionen som alla topprankade RPA-plattformar erbjuder, och nu har denna funktion börjat tillhandahållas av
Hur fungerar OpenRPA?
— är ett OpenSource-projekt baserat på programmeringsspråket Python 3, som består av de bästa existerande Python-biblioteken som låter dig implementera nödvändiga RPA-plattformsverktyg (se listan över viktiga RPA-verktyg ovan).
Lista över viktiga bibliotek:
- pywinauto;
- selen;
- tangentbord;
- pyautogui
Eftersom alla bibliotek inte är medvetna om varandras existens implementerar OpenRPA den viktigaste funktionen i RPA-plattformen, vilket gör att de kan användas tillsammans. Detta är särskilt tydligt när man använder pywinauto-biblioteket för att styra ett skrivbordsgränssnitt. Inom detta område utökades bibliotekets funktionalitet till den funktionalitetsnivå som erbjuds i de bästa RPA-plattformarna (selektorer för GUI-applikationer, bitoberoende, selector creation studio, etc.).
Slutsats
Den moderna IT-världen är så öppen för alla idag att det är svårt att ens föreställa sig att det fortfarande finns områden där endast betalda licensierade lösningar dominerar. Eftersom denna licenspolicy kraftigt begränsar utvecklingen inom detta område hoppas jag att vi kan vända situationen: så att alla företag har råd med RPA; så att våra IT-kollegor enkelt kan hitta arbete inom RPA oavsett den ekonomiska situationen i sina regioner (idag har regioner med svag ekonomi inte råd med RPA).
Om det här ämnet är intressant för dig, kan jag i framtiden skapa en handledning specifikt för Habr om hur man använder OpenRPA - skriv i kommentarerna.
Tack alla och ha en bra dag!
Källa: will.com
