Automação Python

Perguntas frequentes sobre desenvolvimento de RPA em Python

O desenvolvimento de RPA em Python, assim como outras automações, está ganhando cada vez mais adesão. Realizando demonstrações para times de RPA de diversas empresas, a equipe da BotCity teve a oportunidade de discutir diversos aspectos de adoção e escala de operações de RPA complexas. Independente do estágio da empresa, a possibilidade de desenvolver RPA em Python tem gerado bastante discussão.

Neste artigo abordamos as principais questões discutidas sobre desenvolvimento de RPA em Python:

Como orquestrar RPA feito em Python?

Existe o mito de que RPA feito em Python não pode ser orquestrado. Normalmente, esse argumento surge de pessoas que conhecem exclusivamente soluções low-code. Existem plataformas exclusivamente para orquestração de automações criadas em Python. O BotCity Maestro, por exemplo, permite gerenciar deployment, agendar tarefas, gerenciar filas de execução, monitorar automações por log, notificar time por alertas dentre outras diversas funcionalidades de orquestração.

Tela do Orquestrador BotCity Maestro

Preciso desenvolver meus próprios conectores em Python?

Não. Conectores em ambientes low-code foram criados para abstrair conceitos técnicos para usuários não técnicos. Até mesmo uma tarefa simples como mover um arquivo, demanda um conector: Copy or Move Files – UiPath

Já conectores para tarefas mais complexas, na maioria dos casos foram criados para encapsular funcionalidades providas por SDKs de terceiro. O UiPath fornece um conector para Amazon Web Services. Porém, o desenvolvedor Python pode utilizar diretamente o SDK provida pela própria Amazon, na sua última versão com as funcionalidades mais modernas.

Há ainda diversos casos de sistemas nacionais não suportados pelas plataformas de low-code. Não há conectores para os serviços da Serpro, por exemplo. Entretanto, no Serpro Github encontramos diversos exemplos para consumir as APIs de forma bem simples.

No caso de funcionalidades comuns a diversos projetos de RPA, como quebra de captcha, leitura de arquivos excel ou PDF, gerenciamento de senhas, armazenamento na nuvem, dentre outras, a BotCity oferece uma Biblioteca Completa de Plug-ins Python.

Como executar vários RPAs ao mesmo tempo?

Uma vantagem do desenvolvimento de RPA em Python é a possibilidade de rodar múltiplos RPAs no mesmo ambiente de execução. No caso de automações web, projetadas para executar em modo headless (background, sem tela), é possível executá-las numa mesma máquina virtual, cada uma com seu próprio processo independente do navegador em modo headless.

Esta estratégia dá uma escalabilidade muito maior para operações de RPA em Python.

Python é menos produtivo do que low-code para desenvolver os RPAs?

Muitos profissionais acreditam que o desenvolvimento de RPA em Python será menos produtivo pois precisará escrever código para todas as etapas do RPA. Mas na verdade, existem diversas ferramentas e abordagens para gerar códigos automaticamente ou reutilizar soluções. O BotCity Studio, por exemplo, é capaz de gerar código Python automaticamente para navegar em sistemas Desktop e Web. No ambiente Web, o desenvolvedor RPA tem a opção de utilizar gravadores de processos (ex: Selenium IDE, Katalon Recorder), que são capazes de gerar códigos automaticamente para navegar em sistemas web. Fluxos gerados automaticamente podem ser orquestrados como qualquer outro RPA em Python.

Tela do BotCity Studio

Outro fator importante é a reutilização de soluções. Em nível de código, é muito simples reutilizar soluções criadas por outros desenvolvedores ou empresas em formato de bibliotecas, SDKs ou trechos de código. Além disso, é natural que empresas desenvolvendo RPAs em Python crie suas próprias bibliotecas para problemas comuns em múltiplos processos. Conforme a base de solução cresce, o time vai se tornando cada vez mais produtivo, demandando menos linhas de código para colocar uma nova solução em produção.

Quais licenças comerciais estão envolvidas num RPA feito em Python?

Uma grande diferença no desenvolvimento de RPA em Python quando comparado com plataformas de low-code é a forma que as tecnologias são licenciadas. O produto final de automações Python é puramente código Python e bibliotecas open source. Portanto, os robôs são propriedade intelectual de seus criadores, sem qualquer licença comercial envolvida. 

Plataformas de RPA em Python, como a BotCity, licenciam soluções para acelerar o desenvolvimento dos robôs e plataforma orquestradora para gerenciar e escalar a operação em ambiente de produção.

Quais bibliotecas Python posso utilizar para desenvolver meu RPA?

Existem diversas bibliotecas open source que podem ser utilizadas para desenvolvimento de automações em Python. Algumas delas:

Quais serviços na nuvem posso utilizar para executar meu RPA?

Uma vez que RPAs em Python são como qualquer outro programa de computador, você pode executá-los em qualquer solução de nuvem, seja AWS, Azure, GCP ou outro. Basicamente, você precisa configurar o ambiente para ter todas as dependências para execução do seu RPA Python.

O BotCity Runner é um processo que pode ser instalado em qualquer máquina virtual (AWS, Azure, GCP ou outras) ou container. As vantagens de utilizar o BotCity Runner no seu ambiente de execução:

  • Execução orientada a Fila de Tarefas
  • Download automático da versão de release do RPA.
  • Setup automatico do virtual environment de execução com todas as dependências.
  • Envio de logs e telas para o orquestrador automaticamente.

Como agendar execução de RPA em Python?

No caso do orquestrador BotCity Maestro, isso é muito simples de fazer. Basta acessar a tela “Minhas Automações”, escolher a automação em questão, e especificar uma regra CRON para esta automação. Dada a regra CRON, novas tarefas esta automação serão adicionadas a Fila de Execução automaticamente. 

Como detectar falhas de execução de um  RPA em Python?

Reagir rapidamente a cenários de adversidade ou falha é fundamental para uma operação robusta de RPA Python. Neste ponto, quando um robô falha, desejamos:

  • Saber que o robô travou imediatamente por notificação.
  • Saber em que passo do processo automatizado aconteceu a falha.
  • Obter o máximo de informações sobre o ponto de falha.

No caso do orquestrador BotCity Maestro, múltiplas funcionalidades são fornecidas para atacar essa questão. Quando um robô trava, imediatamente todo o time pode ser notificado por notificação de sistema e e-mail. No alerta, é possível informar o passo que o robô travou e fornecer detalhes adicionais.

Para facilitar ainda mais, na próxima versão do BotCity Maestro, estará disponível uma tela exclusiva para tratamento de erros. Nela será possível visualizar dados da tarefa em questão, passo em que o robô falhou, informações do stack de erro e inclusive a tela de sistema no momento da falha. 

Tela de Erro de RPA

Como implantar Business Intelligence em operação de RPA em Python?

No caso do orquestrador BotCity Maestro, é possível utilizar conectores Google Data Studio e Power BI para levar dados da operação de RPA em Python para uma plataforma de data analytics. Dentro da plataforma, o usuário pode customizar visualizações conforme suas necessidades de acompanhar e entender seu operação de RPA baseada em dados.

Report Google Data Studio Injetado dentro do Maestro

Tem uma sugestão de pergunta para ser respondida neste artigo?

Deixe sua pergunta nos comentários ou no nosso Canal no Slack.

Deseja utilizar BotCity Studio e Maestro gratuitamente?

Crie sua conta de Comunidade agora!

Gabriel is co-founder and CTO at BotCity.

Deixe uma resposta

%d blogueiros gostam disto: