1
resposta

[Dúvida] Ajuda com arquitetura

Estou desenvolvendo um sistema para distribuir propostas automaticamente entre analistas específicos, utilizando as tecnologias disponíveis no ambiente de trabalho. O objetivo principal é manter o sistema simples, eficiente e funcional, garantindo rapidez na entrada, processamento e comunicação dos dados.

Requisitos do sistema: Banco de Dados:

Tabela SQL existente chamada Distribuida, contendo as propostas. Necessidade de registrar informações adicionais, como: Horários de início e fim. Motivo de término (ex.: "Finalizado Sucesso", "Não atuação por razão diversa", "Não atuação já feito"). Automação:

Uso de Selenium para extrair dados de um sistema legado e atualizar a tabela SQL. Distribuição e Relatórios:

Backend em C# com EPPlus para distribuir propostas e gerar planilhas Excel personalizadas: Gestor: Relatório completo com todas as propostas. Analistas: Relatório individual, contendo apenas suas propostas e suporte para registrar motivos de término. As planilhas devem ser protegidas contra alterações indevidas nos horários registrados. Execução Automática:

Scripts VBS para integrar as ações e automatizar o envio das planilhas. Segurança:

Controle básico de acesso para restringir analistas às suas propostas. Identificadores únicos para associar propostas a analistas. Pontos Importantes:

Tecnologias limitadas (não utilizamos AWS ou soluções na nuvem). O sistema precisa funcionar em máquinas locais e ser de fácil manutenção. Foco em simplicidade e confiabilidade, evitando complexidades excessivas. Minha situação atual: Eu já fiz esse sistema funcionar com VBA conectado ao SQL, mas enfrentei problemas de estabilidade (crashes) e aumento na complexidade, tornando difícil a manutenção. Agora, estou buscando alternativas viáveis para substituir ou complementar essa abordagem, mantendo a simplicidade e eficiência.

Minhas dúvidas principais: Geração e manipulação de planilhas Excel: EPPlus é suficiente, ou há alternativas mais adequadas para lidar com segurança e desempenho? Segurança: Como implementar métodos simples para proteger o acesso dos analistas às suas propostas? Integração com RPA: Qual a melhor forma de conectar o Selenium ao banco SQL para garantir performance e confiabilidade? Não procuro soluções prontas, mas dicas, exemplos ou ideias que possam ajudar em qualquer parte do fluxo. Agradeço a todos que puderem contribuir!

1 resposta

Bom dia, Milton! Tudo bem?

Parece que você está lidando com um projeto bastante desafiador, mas também muito interessante. Vamos abordar suas dúvidas uma a uma:

  1. Geração e manipulação de planilhas Excel: O EPPlus é uma excelente biblioteca para manipular arquivos Excel em C#. Ela oferece uma boa performance e uma API rica para personalização de planilhas. No entanto, se você está enfrentando problemas de segurança, como proteger células ou planilhas contra alterações, você pode usar recursos do próprio EPPlus para definir permissões de edição. Outra alternativa seria o ClosedXML, que é uma biblioteca que também facilita a manipulação de arquivos Excel e pode ser mais intuitiva em alguns casos.

  2. Segurança: Para proteger o acesso dos analistas às suas propostas, você pode implementar um sistema de autenticação simples no seu backend em C#. Uma abordagem comum é usar tokens de autenticação ou uma simples verificação de credenciais antes de permitir o acesso aos dados. Além disso, você pode criptografar informações sensíveis ou usar funções de hash para proteger identificadores únicos.

  3. Integração com RPA (Selenium e SQL): Para garantir uma boa performance e confiabilidade ao conectar o Selenium ao banco SQL, você pode considerar o uso de filas de processamento. Por exemplo, ao extrair dados com o Selenium, você pode inseri-los em uma fila (como uma tabela temporária no SQL) e então processá-los em lotes. Isso pode ajudar a evitar sobrecargas e garantir que as operações de leitura/escrita no banco de dados sejam mais eficientes.

Espero que essas dicas possam te ajudar a encontrar um caminho mais estável e eficiente para o seu sistema.

Boa sorte!