Introduttivo
In precedenza, su Habr è stata trattata in modo molto dettagliato la questione . All'epoca, questo articolo mi colpì molto, perché presenta elementi simili a quelli della creazione di robot. E poiché, per lavoro, mi occupo di robotizzazione dei processi aziendali (RPA - un ambito in cui fino a poco tempo fa non esistevano equivalenti OpenSource completamente funzionali), questo argomento era molto rilevante per me.
Le soluzioni IT di punta esistenti nel campo dell'RPA (UI Path, Blueprism, Automation Anywhere e altri) presentano due problemi principali:
- Problema 1: Limitazioni tecniche della funzionalità della piattaforma, poiché gli script dei robot vengono creati solo in un'interfaccia grafica (sì, c'è la possibilità di chiamare codice programmatico, ma questa possibilità ha delle limitazioni)
- Problema 2: Politica di licenza estremamente costosa per la vendita di queste soluzioni (per le piattaforme di punta circa 8000$ per un robot attivo costantemente all'anno). Fai una decina di robot per arrivare a una grossa somma annuale di royalties.
Poiché questo mercato è molto giovane e attivo, già ora puoi facilmente trovare su Google oltre 10 soluzioni di robotizzazione con diverse politiche di prezzo. Tuttavia, trovare una soluzione OpenSource completamente funzionale, fino a poco tempo fa, era impossibile. E stiamo parlando di OpenSource completamente funzionale, perché è possibile trovare soluzioni di robotizzazione parzialmente gratuite, ma esse offrivano 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 un obiettivo. Poiché l'RPA non prevede di abbandonare i vari sistemi legacy dell'azienda, ma di creare uno script di automazione basato su questi stessi sistemi - questo porta ai risultati sia in termini di velocità di sviluppo (perché non è necessario rifare l'esistente zoo di sistemi), sia in termini di risultati aziendali (risparmio , aumento del fatturato dell'azienda, riduzione dei costi dell'azienda).
Alla base degli strumenti RPA ci sono le seguenti tecnologie:
- gestione delle pagine web aperte nel browser;
- gestione delle applicazioni GUI desktop aperte;
- gestione del mouse e della tastiera (pressione dei tasti, tasti di scelta rapida, pulsanti 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 questo insieme di tecnologie consente di realizzare la robotizzazione praticamente di qualsiasi processo aziendale, in cui non è necessario un elemento di riconoscimento/applicazione di intelligenza artificiale (in questi casi è necessario collegare al robot le librerie corrispondenti, disponibili nel mondo IT attuale). L'assenza di almeno uno degli strumenti sopra elencati influisce notevolmente sulle capacità dell'RPA.
Infatti, tutti gli strumenti RPA possono essere trovati su Internet. Cosa manca allora?
Manca l'elemento più importante: manca la loro integrità. Un'integrità che permetterà di realizzare un effetto sinergico dall'uso di diversi strumenti (web, gui, mouse, tastiera) in un unico script del robot, il che è spesso una necessità (come dimostra la pratica) durante lo sviluppo. Questa chiave possibilità è offerta da tutte le migliori piattaforme RPA, e ora questa possibilità è fornita da
Come è strutturata OpenRPA?
è un progetto OpenSource basato sul linguaggio di programmazione Python 3, che consiste nelle migliori librerie Python esistenti, che permettono di realizzare gli strumenti necessari per la piattaforma RPA (si veda sopra l'elenco degli strumenti chiave RPA).
Elenco delle librerie chiave:
- pywinauto;
- selenium;
- keyboard;
- pyautogui
Poiché tutte le librerie non conoscono l'esistenza l'una dell'altra, in OpenRPA è implementata una funzione fondamentale per la piattaforma RPA, che permette di utilizzarle insieme. Questo è particolarmente evidente nell'uso della libreria pywinauto per gestire le applicazioni GUI desktop. In questo ambito è stata aggiunta funzionalità alla libreria fino al livello di funzionalità offerto dalle migliori piattaforme RPA (selettori per applicazioni GUI, indipendenza dal bit, studio di creazione del selettore, ecc.).
Conclusione
Il mondo IT moderno è così aperto a tutti oggi che è difficile immaginare che ci siano ancora aree dominate solo da soluzioni di licenza a pagamento. Poiché questa politica di licenza limita fortemente lo sviluppo di questo settore, spero che possiamo invertire questa situazione: affinché ogni azienda possa permettersi RPA; affinché i nostri colleghi IT possano facilmente trovare lavoro in RPA indipendentemente dalla situazione economica nelle loro regioni (oggi le regioni con economie deboli non possono permettersi RPA).
Se questo argomento ti interessa, posso in seguito creare un tutorial specifico per Habr su come utilizzare OpenRPA — scrivi nei commenti.
Grazie a tutti e buona giornata!
Fonte: habr.com
