DEV Community

Maurício Silva
Maurício Silva

Posted on • Edited on

Democratizando a Automação de Processos Robóticos com Python — RPA.

Dev.To | Linkedin | Youtube | Telegram | Medium | Twitch

Alt Text

Sempre achei incrível a quantidade de coisas que são possíveis fazer com a programação, mas dentre essas possibilidades sempre tive um olhar muito atento para a integração e automação de processos, além do mais, a maioria dos projetos de software são criados com essa finalidade, que é basicamente o seu valor central.

A ideia de muitas empresas era ter a possibilidade de executar todos os seus processos de negócio por meio de um único sistema de software. O que na verdade já foi tentado por algumas, podemos usar como exemplo o SAP, que na década 1990 tentou ser esse produto de automação e integração, e apesar de ser utilizado por muitas empresas, atingiu apenas em parte este objetivo, porque todas as empresas que fazem uso do SAP também utilizam dezenas ou até mesmo centenas de outras aplicações em seus processos de negócio.

Dentro desse cenário de granularização dos processos de negócio, que são divididos em várias tarefas e executados em diversos sistemas de software, a responsabilidade pela integração das partes separadas passa a ser dos usuários, que precisam realizar procedimentos e rotinas repetitivas para manterem a integração entre eles, com o prejuízo imediato da automação. Os profissionais da gestão por processos ao ouvirem algo deste tipo ficam assustados, porque sabem que se um determinado processo precisa de alguma rotina ou procedimento para ser executado, com certeza esse processo falhará em algum momento, podendo causar enormes prejuízos para a empresa.

Neste contexto caótico, de tarefas realizadas manualmente e de rotinas repetitivas, devido a utilização de alguns sistemas legados, falta de APIs (Application Public Interfaces) ou por qualquer outro motivo, surgiu a RPA(Robotic Process Automation) como uma alternativa de automação dessas pontas soltas.

A RPA não pode ser vista como uma solução definitiva, isto é, não resolve todos os problemas de forma permanente, mas pode ser uma grande aliada, resolvendo boa parte deles com eficiência em um curto prazo de tempo.

Ela tem sido amplamente adotada por muitas empresas, mas devido ao alto custo das licenças proprietárias para aquisição e a imposição de restrições das licenças das versões da comunidade, muitas empresas, públicas ou privadas, são impedidas de se beneficiarem desta tecnologia.

Impulsionado pela necessidade real da empresa em que trabalhei, resolvi procurar por uma solução viável em meio aos muitos softwares opensource. Encontrei algumas soluções interessantes, porém em alguns pontos não eram tão eficientes, resolvi pesquisar a fundo a linguagem python, por ser uma liguagem madura com mais de 20 anos no mercado, e ter uma ampla quantidade de bibliotecas para automação, em resumo, a conclusão que cheguei foi que, se você pensar em automatizar alguma coisa, com certeza alguém já criou uma biblioteca em python para isso, assim foi escolhida a linguagem.

Estudei as bibliotecas e efetuei a implementação da automação que precisávamos na empresa, era um processo repetitivo e que demandava muitas pessoas, horas extras todos os meses e com prazo curto para finalização. Alguns colegas de trabalho já estavam cansados, porque as constantes horas extras tinham deixado de ser algo extraordinário para ser algo recorrente.

Após colocar a automação em produção, a economia de tempo foi de fato surpreendente. Dentre muitos outros benefícios percebidos, houve um que me deixou muito satisfeito, foi o relato de uma colega ao dizer que no final do dia ela sentia fortes dores no corpo, devido a intensa rotina de digitação e cliques de mouse, necessários para a inserção dos dados no sistema e para impressão dos relatórios, os quais deixaram de ocorrer, porque essas ações passaram a ser realizadas pela RPA.

A implementação de automações com Python é muito divertida, particularmente eu gosto, mas há quem diga que trabalhar com código é difícil, porém eu acho isso muito relativo, pois mesmo sabendo programar achei muito mais difícil e entediante construir automações com ferramentas low-code(ferramenta para programação com interface gráfica) do que ao contrário. A questão toda é, o quanto você está disposto(a) a aprender determinada tecnologia, porque de uma forma ou outra você terá que gastar tempo para aprender, e quanto mais souber sobre a tecnologia, mais fácil ficará.

Esses produtos low-code prometem que pessoas menos experientes em tecnologia possam implementar soluções de automação de forma 100% orientada por modelos e fluxo, mas na maioria dos casos essas pessoas precisam voltar aos seus departamentos de TI e solicitar que aloquem programadores profissionais para fazerem o trabalho, então, esses programadores precisam aprender uma maneira proprietária e específica do fornecedor da tecnologia low-code, gastar muito tempo para o desenvolvimento da habilidade e depois devem manter continuamente a frustrante habilidade aprendida. Resumidamente o resultado é a falta de programadores suficientemente qualificados dentro da organização, o que força as empresas a procurarem recursos externos.

Criar automações com código, apesar de achar divertido, confesso que é trabalhoso, mas como todo bom programador, sempre pensando na otimização do tempo, acabei criando uma biblioteca python, que dei o nome de rpapy, para facilitar o trabalho de implementação e manutenção da RPA. Ele está disponível no github e no repositório oficial do python, o PyPi. Ainda tem muita coisa a ser feita nele, mas publiquei mesmo assim, pois como um amigo me disse: "se está sendo útil para você, pode ser útil para mais alguém".

Agora quero criar conteúdos e vídeos com dicas e informações sobre a linguagem python e a criação de automações de processo de negócio, que serão publicados no canal Código100Cera no youtube, a fim de ampliar a quantidade de automatizadores com python e tornar mais democrática a utilização da RPA.

Então se você gostou da ideia, me siga nas redes sociais, acesse o grupo do telegram, entre no canal, inscreva-se e toque o sininho, para ser notificado quando for postado novo conteúdo.

Dev.To | Linkedin | Youtube | Telegram | Medium | Twitch

Top comments (0)