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

Introdutório

Anteriormente, o tema era abordado detalhadamente no Habré Automação de aplicativos GUI de desktop em Python. Naquela época, fiquei muito atraído por este artigo porque revelava elementos semelhantes aos elementos da criação de robôs. E como, pela natureza da minha atividade profissional, estou envolvido na robotização dos processos de negócio das empresas (RPA é uma área em que até recentemente não existiam análogos OpenSource totalmente funcionais), este tema foi muito relevante para mim.

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

  • Problema 1: Limitações técnicas da funcionalidade da plataforma à medida que os scripts do robô são criados apenas na interface gráfica (sim, existe a capacidade de chamar o código do programa, mas essa capacidade tem uma série de limitações)
  • Problema 2: Política de licenciamento extremamente cara para vender estas soluções (para plataformas de topo cerca de US$ 8000 por um robô em constante funcionamento por ano). Faça uma dúzia de robôs para obter uma grande quantia anual na forma de taxas de licenciamento.

Como este mercado é muito jovem e muito ativo, agora você pode encontrar facilmente mais de 10 soluções de robótica com diferentes políticas de preços no Google. Mas até recentemente, era impossível encontrar uma solução OpenSource totalmente funcional. Além disso, estamos falando especificamente de OpenSource totalmente funcional, porque podem ser encontradas soluções de robotização parcialmente gratuitas, mas elas oferecem apenas parte das tecnologias-chave nas quais o conceito RPA se baseia.

Em que se baseia o conceito RPA?

RPA (Automação de Processo Robótica) é uma das formas mais econômicas de atingir uma meta. Como o RPA não envolve abandonar todos os tipos de sistemas legados da empresa, mas sim fazer o script de automação necessário baseado nesses mesmos sistemas, isso rende frutos tanto em termos de velocidade de desenvolvimento (porque não há necessidade de refazer o zoológico de sistemas existente) e em termos de resultados de negócios (poupança PSE/FTE, aumentando a receita da empresa, reduzindo as despesas da empresa).

As ferramentas RPA são baseadas nas seguintes tecnologias:

  • gerenciamento de páginas da web abertas do navegador;
  • gerenciamento de aplicativos GUI de desktop abertos;
  • controle de mouse e teclado (pressionar teclas, teclas de atalho, botões do mouse, mover o cursor);
  • pesquisar elementos gráficos na tela do desktop para aplicar outras ações com o mouse e/ou teclado;

Com muitos anos de experiência prática, conseguimos mostrar que este conjunto particular de tecnologias permite-nos implementar a robotização de quase todos os processos de negócio que não requeiram um elemento de reconhecimento/aplicação de inteligência artificial (nestes casos, é necessário para conectar as bibliotecas correspondentes disponíveis no mundo de TI existente ao robô). A ausência de pelo menos uma das ferramentas acima afeta significativamente as capacidades do RPA.

Afinal, todas as ferramentas RPA podem ser encontradas na Internet. O que então está faltando?

Mas falta o mais importante: falta a integridade deles. Integridade, que permitirá perceber o efeito sinérgico do uso de várias ferramentas (web, gui, mouse, teclado) em um script de robô, o que muitas vezes é uma necessidade (como mostra a prática) durante o desenvolvimento. É esta oportunidade fundamental que todas as principais plataformas de RPA oferecem, e agora esta oportunidade começou a ser oferecida a primeira plataforma OpenSource RPA OpenRPA

Como funciona o OpenRPA?

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

Lista das principais bibliotecas:

  • pywinauto;
  • selênio;
  • teclado;
  • Pyautogui

Como todas as bibliotecas não sabem da existência umas das outras, o OpenRPA implementa o recurso mais importante da plataforma RPA, que permite que sejam utilizadas em conjunto. Isso é especialmente evidente ao usar a biblioteca pywinauto para gerenciar um aplicativo GUI de desktop. Nesta área, a funcionalidade da biblioteca foi ampliada ao nível de funcionalidades oferecidas nas melhores plataformas RPA (seletores para aplicações GUI, independência de bits, estúdio de criação de seletores, etc.).

Conclusão

O mundo moderno da TI está tão aberto a todos hoje que é até difícil imaginar que ainda existam áreas onde dominam apenas soluções licenciadas pagas. Dado que esta política de licenciamento limita muito o desenvolvimento desta área, espero que possamos reverter esta situação: para que qualquer empresa possa pagar pelo RPA; para que os nossos colegas de TI possam encontrar facilmente um emprego na RPA, independentemente da situação económica das suas regiões (hoje, as regiões com economias fracas não podem pagar a RPA).

Se este tópico for do seu interesse, no futuro poderei criar um tutorial específico para Habr sobre como usar OpenRPA - escreva nos comentários.

Obrigado a todos e tenham um bom dia!

Fonte: habr.com

Adicionar um comentário