Introduzione
In precedenza, su Habr, è stato trattato in dettaglio il tema . All'epoca, sono rimasto molto colpito da questo articolo, in quanto rivelava elementi simili a quelli della creazione di robot. Poiché nella mia attività professionale mi occupo di robotizzazione dei processi aziendali (RPA — un'area in cui fino a poco tempo fa non esistevano analoghi OpenSource completamente funzionali), questo argomento era particolarmente rilevante per me.
Le principali soluzioni IT attualmente disponibili nel campo della RPA (UI Path, Blueprism, Automation Anywhere e altri) presentano due problemi significativi:
- Problema 1: Limitazioni tecniche della funzionalità della piattaforma, in quanto gli script dei robot sono creati solo attraverso un'interfaccia grafica (sì, c'è la possibilità di invocare codice sorgente, ma questa possibilità ha una serie di limitazioni)
- Problema 2: Politica di licenza estremamente costosa per la vendita di queste soluzioni (per le piattaforme principali circa 8000$ per robot attivo all'anno). Crea una decina di robot per incorrere in un'importante somma annuale in termini di diritti di licenza.
Poiché questo mercato è molto giovane e attivo, è già possibile trovare facilmente su Google oltre 10 soluzioni di robotizzazione con diverse politiche di prezzo. Tuttavia, fino a poco tempo fa, era impossibile trovare una soluzione OpenSource completamente funzionale. Si parla infatti di una soluzione OpenSource completa, poiché esistono soluzioni di robotizzazione parzialmente gratuite, ma offrono solo una parte delle tecnologie chiave su cui si basa il concetto di RPA.
Su cosa si basa il concetto di RPA?
RPA () è una delle forme più economicamente vantaggiose per raggiungere obiettivi. Poiché l'RPA implica non rinunciare a vari sistemi legacy dell'azienda, ma piuttosto creare lo script di automazione basato su questi stessi sistemi — ciò porta a risultati positivi sia in termini di velocità di sviluppo (poiché non è necessario rifare l'attuale zoo di sistemi), sia in termini di risultati aziendali (risparmi , aumento del fatturato dell'azienda, riduzione dei costi).
Le tecnologie alla base degli strumenti RPA includono:
- gestione delle pagine web aperte nel browser;
- gestione delle applicazioni desktop GUI aperte;
- controllo di mouse e tastiera (pressione di tasti, scorciatoie, clic del mouse, spostamento del cursore);
- ricerca di elementi grafici sullo schermo del desktop per applicare ulteriori azioni con il mouse e/o la tastiera;
Con anni di esperienza pratica siamo riusciti a dimostrare che questa combinazione di tecnologie consente di realizzare la robotizzazione di praticamente qualsiasi processo aziendale in cui non è richiesto un elemento di riconoscimento/applicazione dell'intelligenza artificiale (in questi casi è necessario collegare al robot le librerie appropriate disponibili nel mondo IT attuale). La mancanza anche solo di uno degli strumenti sopra menzionati influisce notevolmente sulle capacità della RPA.
Infatti, tutti gli strumenti RPA possono essere trovati su Internet. Ma cosa manca?
E manca la cosa più importante: manca la loro integrità. Un'integrità che permette di realizzare un effetto sinergico dall'uso di diversi strumenti (web, gui, mouse, tastiera) in un unico script robotico, cosa che spesso è necessaria (come dimostra la pratica) durante lo sviluppo. Questa chiave fondamentale è fornita da tutte le piattaforme RPA principali e ora è stata anche resa disponibile
Come è strutturata OpenRPA?
è un progetto OpenSource basato sul linguaggio di programmazione Python 3, che si compone delle migliori librerie Python esistenti che permettono di realizzare gli strumenti necessari per la piattaforma RPA (per l'elenco degli strumenti chiave RPA vedere sopra).
Elenco delle librerie chiave:
- pywinauto;
- selenium;
- keyboard;
- pyautogui.
Poiché tutte le librerie non sono a conoscenza l'una dell'altra, in OpenRPA è stata implementata la funzione fondamentale di una piattaforma RPA, che consente di utilizzarle insieme. Questo è particolarmente evidente quando si utilizza la libreria pywinauto per controllare un'applicazione desktop GUI. In questo ambito, sono stati apportati miglioramenti alle funzionalità della libreria fino a raggiungere il livello di funzionalità offerto dalle migliori piattaforme RPA (selettori per applicazioni GUI, indipendenza dalla versione, studio per la creazione di selettori, ecc.).
Conclusione
Il mondo IT moderno è così aperto a tutti che è difficile credere che esistano ancora settori dominati esclusivamente da soluzioni software a pagamento. Poiché questa politica di licenza limita notevolmente lo sviluppo di questo campo, spero che possiamo cambiare la situazione: affinché qualsiasi azienda possa permettersi l'RPA; affinché i nostri colleghi IT possano facilmente trovare lavoro nell'RPA, indipendentemente dalla situazione economica delle loro regioni (oggi le regioni con un'economia debole non possono permettersi l'RPA).
Se questo argomento vi interessa, posso redigere un tutorial specifico per Хабр sull'uso di OpenRPA — scrivetemi nei commenti.
Grazie a tutti e buona giornata!
Fonte: habr.com
