Abandonamos plataformas RPA pagas e nos baseamos em OpenSource (OpenRPA)

Introdução

Anteriormente, no Habr, o tema Automação de aplicações GUI desktop em Python. Na época, fiquei muito atraído por este artigo, pois ele revela elementos semelhantes aos da criação de robôs. E como, por conta da minha atividade profissional, eu trabalho na robotização dos processos de negócios da empresa (RPA — uma área que não tinha análogos OpenSource completos até recentemente), esse tema era muito relevante para mim.

As principais soluções de TI existentes na área de RPA (UI Path, Blueprism, Automation Anywhere e outras) têm 2 problemas significativos:

  • Problema 1: Limitações técnicas da funcionalidade da plataforma, uma vez que os scripts dos robôs são criados apenas em uma interface gráfica (sim, há a possibilidade de chamar código programático, mas essa possibilidade tem suas limitações)
  • Problema 2: Política de licenciamento extremamente cara para a venda dessas soluções (para as principais plataformas cerca de 8000$ por um robô em funcionamento por ano). Crie uma dezena de robôs para chegar a um montante anual considerável em royalties de licenciamento.

Como esse mercado é muito jovem e muito ativo, você já pode facilmente encontrar no Google 10+ soluções de robotização com diferentes políticas de preços. Mas, até recentemente, encontrar uma solução OpenSource completa era impossível. E a questão é especificamente sobre OpenSource completo, pois soluções livres parciais de robotização podem ser encontradas, mas elas ofereciam apenas parte das tecnologias-chave nas quais a conceito de RPA é baseado.

Sobre o que se baseia o conceito de RPA?

RPA (Automação de Processos Robóticos) é uma das formas mais economicamente viáveis de alcançar objetivos. Como o RPA não exige a desistência de todos os sistemas legados da empresa, mas sim a criação de um script de automação com base nesses mesmos sistemas — isso traz resultados tanto em termos de velocidade de desenvolvimento (porque não é necessário reformular o atual zoológico de sistemas), quanto em termos de resultado empresarial (economia PHE/FTE, aumento da receita da empresa, redução de custos da empresa).

As ferramentas de RPA fundamentam-se nas seguintes tecnologias:

  • gerenciamento de páginas web abertas no navegador;
  • gerenciamento de aplicações GUI desktop abertas;
  • gerenciamento do mouse e teclado (pressionamento de teclas, hotkeys, botões do mouse, movimentação do cursor);
  • busca de elementos gráficos na tela da área de trabalho para aplicar ações adicionais com o mouse e/ou teclado;

Com anos de experiência prática, conseguimos demonstrar que esse conjunto de tecnologias permite a robotização de praticamente qualquer processo de negócios, onde não é necessário um elemento de reconhecimento/aplicação de inteligência artificial (nestes casos, bibliotecas correspondentes disponíveis no mundo da TI precisam ser conectadas ao robô). A falta de pelo menos uma das ferramentas mencionadas acima tem um impacto significativo nas capacidades de RPA.

Pois todas as ferramentas de RPA podem ser encontradas na internet. Então, o que falta?

Falta o mais importante — falta a integridade. A integridade que permitirá a realização do efeito sinergético do uso de várias ferramentas (web, GUI, mouse, teclado) em um único script de robô, o que muitas vezes é uma necessidade (como mostra a prática) durante o desenvolvimento. É essa capacidade chave que todas as principais plataformas de RPA oferecem, e agora essa capacidade passou a ser fornecida por a primeira plataforma de RPA OpenSource OpenRPA.

Como funciona o OpenRPA?

OpenRPA é um projeto OpenSource baseado na linguagem de programação Python 3, que consiste nas melhores bibliotecas python existentes, permitindo a implementação das ferramentas necessárias para a plataforma RPA (veja a lista de ferramentas chave de RPA acima).

Lista das bibliotecas-chave:

  • pywinauto;
  • selenium;
  • keyboard;
  • pyautogui.

Como todas as bibliotecas não conhecem a existência umas das outras, o OpenRPA implementou a função mais importante da plataforma RPA, que permite usá-las juntas. Isso é especialmente evidente ao usar a biblioteca pywinauto para controlar aplicativos GUI de desktop. Nesta área, houve uma melhoria na funcionalidade da biblioteca até o nível oferecido nas melhores plataformas de RPA (seletor para aplicativos GUI, independência de versão, estúdio de criação de seletor, etc.).

Conclusão

O mundo da tecnologia da informação hoje é tão aberto que é difícil imaginar que ainda existem áreas dominadas apenas por soluções licenciadas pagas. Como essa política de licenciamento limita fortemente o desenvolvimento desse setor, espero que possamos mudar essa situação: para que qualquer empresa possa se permitir usar RPA; para que nossos colegas de TI possam facilmente encontrar trabalho em RPA, independentemente da situação econômica em suas regiões (hoje, regiões com economias frágeis não conseguem se permitir RPA).

Se você se interessar por este tema, posso criar um tutorial especialmente para o Habr sobre como usar o OpenRPA — escreva nos comentários.

Obrigado a todos e tenha um bom dia!

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster