Abbandoniamo le piattaforme RPA a pagamento e ci basiamo su OpenSource (OpenRPA)

sfondo

In precedenza, l’argomento era stato trattato in modo molto approfondito su Habré Automazione delle applicazioni GUI desktop in Python. A quel tempo ero molto attratto da questo articolo perché rivelava elementi simili a quelli della creazione di robot. E poiché, per la natura della mia attività professionale, mi occupo della robotizzazione dei processi aziendali (l'RPA è un'area in cui fino a poco tempo fa non esistevano analoghi OpenSource completamente funzionanti), questo argomento è stato molto rilevante per me.

Le principali soluzioni IT esistenti nel campo dell'RPA (UI Path, Blueprism, Automation Anywhere e altre) presentano 2 problemi significativi:

  • Problema 1: limitazioni tecniche della funzionalità della piattaforma durante la creazione degli script robot solo nell'interfaccia grafica (sì, c'è la possibilità di chiamare il codice del programma, ma questa capacità ha una serie di limitazioni)
  • Problema 2: politica di licenza estremamente costosa per la vendita di queste soluzioni (per le piattaforme più importanti circa $ 8000 all’anno per un robot costantemente funzionante). Realizza una dozzina di robot per ottenere una grossa somma annuale sotto forma di costi di licenza.

Poiché questo mercato è molto giovane e molto attivo, ora puoi facilmente trovare oltre 10 soluzioni di robotica con diverse politiche di prezzo su Google. Ma fino a poco tempo fa era impossibile trovare una soluzione OpenSource completamente funzionale. Inoltre, stiamo parlando specificamente di OpenSource pienamente funzionale, perché si possono trovare soluzioni di robotizzazione parzialmente libere, ma offrono solo una parte delle tecnologie chiave su cui si basa il concetto RPA.

Su cosa si basa il concetto di RPA?

RPA (Automazione di processo robotizzata) è una delle forme più efficaci in termini di costi per raggiungere un obiettivo. Poiché l'RPA non implica l'abbandono di tutti i tipi di sistemi legacy dell'azienda, ma la creazione degli script di automazione necessari basati su questi stessi sistemi, ciò dà i suoi frutti sia in termini di velocità di sviluppo (perché non è necessario rifare lo zoo di sistemi esistente) che in termini di risultati aziendali (risparmio PSE/FTE, aumentando le entrate dell'azienda, riducendo le spese dell'azienda).

Gli strumenti RPA si basano sulle seguenti tecnologie:

  • gestione delle pagine web aperte del browser;
  • gestione di applicazioni GUI desktop aperte;
  • controllo del mouse e della tastiera (pressione di tasti, tasti di scelta rapida, pulsanti del mouse, spostamento del cursore);
  • cercare elementi grafici sullo schermo del desktop per applicare ulteriori azioni con mouse e/o tastiera;

Con molti anni di esperienza pratica, abbiamo potuto dimostrare che questo particolare insieme di tecnologie consente di implementare la robotizzazione di quasi tutti i processi aziendali che non richiedono un elemento di riconoscimento/applicazione dell'intelligenza artificiale (in questi casi è necessario per collegare al robot le corrispondenti librerie disponibili nel mondo IT esistente). L'assenza di almeno uno degli strumenti sopra indicati influisce in modo significativo sulle capacità dell'RPA.

Dopotutto tutti gli strumenti RPA si trovano su Internet. Cosa allora manca?

Ma manca la cosa più importante: manca la loro integrità. Integrità, che ti consentirà di realizzare l'effetto sinergico dell'utilizzo di vari strumenti (web, GUI, mouse, tastiera) in uno script robot, che è spesso una necessità (come dimostra la pratica) durante lo sviluppo. È questa l'opportunità chiave offerta da tutte le principali piattaforme RPA, e ora questa opportunità ha iniziato a essere fornita la prima piattaforma RPA OpenSource OpenRPA

Come funziona OpenRPA?

OpenRPA è un progetto OpenSource basato sul linguaggio di programmazione Python 3, che consiste nelle migliori librerie Python esistenti che consentono di implementare gli strumenti necessari della piattaforma RPA (vedere l'elenco degli strumenti chiave RPA sopra).

Elenco delle librerie chiave:

  • pywinauto;
  • selenio;
  • tastiera;
  • piautogui

Poiché tutte le biblioteche non conoscono l'esistenza delle altre, OpenRPA implementa la caratteristica più importante della piattaforma RPA, che consente di utilizzarle insieme. Ciò è particolarmente evidente quando si utilizza la libreria pywinauto per gestire un'applicazione GUI desktop. In questo ambito le funzionalità della libreria sono state ampliate fino al livello di funzionalità offerto nelle migliori piattaforme RPA (selettori per applicazioni GUI, indipendenza di bit, studio di creazione selettori, ecc.).

conclusione

Il moderno mondo IT è oggi così aperto a tutti che è persino difficile immaginare che ci siano ancora aree in cui dominano solo soluzioni con licenza a pagamento. Poiché questa politica di concessione di licenze limita notevolmente lo sviluppo di quest'area, spero che si possa invertire questa situazione: in modo che qualsiasi azienda possa permettersi l'RPA; in modo che i nostri colleghi IT possano facilmente trovare lavoro in RPA, indipendentemente dalla situazione economica della loro regione (oggi le regioni con economie deboli non possono permettersi la RPA).

Se questo argomento ti interessa, in futuro potrò creare un tutorial specifico per Habr sull'uso di OpenRPA - scrivi nei commenti.

Grazie a tutti e buona giornata!

Fonte: habr.com

Aggiungi un commento