Olá,
Estou iniciando o processo de desenvolver um projeto que já está em funcionando, mas não por completo. Como não consigo contatar o desenvolvedor que iniciou o projeto, e ele está confuso, sem documentação e já foi mexido por outras pessoas, pensei em pegar o que funciona e fazer algo do zero.
Gostaria de compartilhar a proposta de arquitetura que estou desenvolvendo para automatizar o processo de bloqueio e desbloqueio de usuários nos principais sistemas (como Email, Active Directory e sistema interno), em resposta a diferentes eventos de RH, como afastamentos, férias e admissões, e pedir a opinião sobre o modelo.
A solução foi desenhada para ser modular, escalável e auditável. O fluxo é dividido em múltiplas camadas de centralização:
Arquivos por sistema de ação:
Para cada sistema de destino (por exemplo, Email, AD, sistema), criamos arquivos dedicados. Cada arquivo lista as ações que precisam ser realizadas naquele sistema específico, como bloqueios ou desbloqueios, contendo os dados pertinentes do colaborador e da ação.Arquivos centralizadores por evento (RPA de evento):
Para cada evento de negócio (por exemplo, afastamento, férias, admissão), geramos um arquivo RPA correspondente. Este arquivo funciona como um centralizador — nele referenciamos e organizamos todas as ações necessárias para todos os sistemas relacionadas àquele tipo de evento.Rotina principal (main):
Uma rotina principal (“main”) orquestra toda a automação: ela lê os arquivos RPA dos eventos, consolida e distribui as ações para os respectivos scripts ou robôs que realizam o bloqueio ou desbloqueio em cada sistema.
Com essa estrutura, o processo fica bem organizado e fácil de manter. As regras de negócio e a execução técnica nas integrações permanecem desacopladas. Isso facilita tanto auditoria quanto expansão para novos cenários ou sistemas — basta adicionar mais um arquivo de ações ou atualizar o RPA do evento.
Minha dúvida é se considera essa abordagem adequada do ponto de vista de organização de dados e modularidade, ou se acredita que poderia haver um modelo ainda mais eficiente, especialmente pensando em cenários futuros de crescimento da automação ou aumento nos tipos de eventos e sistemas integrados.
Outra coisa, tem alguma indicação de curso específico aqui na plataforma que possa me ajudar com esse projeto de automação em Python?
Ficarei muito grata pelo feedback e sugestões!