Arquitetura Geral

Esta documentação descreve a arquitetura do Looqbox, uma solução abrangente que incorpora: interpretação de linguagem natural (NLP), construção e visualização de relatórios; notificações inteligentes que vão da informação ao insight; aplicativo móvel para consulta fácil e rápida, incluindo funcionalidades como scan de QRCode e código de barras; e input de dados. O Looqbox visa fornecer informações acionáveis à linha de frente, melhorando a operação e o desempenho em tempo real.

Visão Geral da Arquitetura

O Looqbox apresenta uma arquitetura robusta e integrada que permite funcionalidades variadas, abrangendo desde a interpretação de linguagem natural até a construção e visualização de relatórios, e notificações inteligentes, garantindo que os usuários recebam insights acionáveis de maneira ágil. Abaixo, é apresentado um diagrama de contêiner com os principais elementos envolvidos:

  • Usuário (Pessoa): Consome relatórios e recebe notificações através de aplicações.

  • App Mobile (JavaScript/React Native): É um contêiner que encapsula uma aplicação web (SPA) e adiciona funcionalidades como escaneamento de código de barras, suporte a deep link e push notifications. Permite aos usuários acessar relatórios e notificações sobre a operação do dia a dia.

  • Single-Page Application (SPA) (JavaScript/React): Disponível via navegadores, permite que os usuários visualizem relatórios e notificações sobre as atividades operacionais diárias.

  • API Application (Java/Kotlin): Centraliza as chamadas e a lógica de negócio para os dados de relatórios e notificações, atendendo tanto a SPA quanto ao aplicativo móvel.

  • Banco de Dados do Cliente: Fonte principal dos dados operacionais, que são acessados pela API via JDBC/SQL.

  • Expo/Twilio (terceiros): Ferramentas de integração utilizadas para o envio de notificações via Push Notification e WhatsApp.

  • API Application & More (Looqlake): Atua como integrador de dados e faz a coleta de indicadores para construção de relatórios e notificações customizadas. Além disso, realiza integração com a fonte de dados do cliente.

  • API Application & More (Nuvem Looqbox): Responsável por funcionalidades de backend, como operações de NLP (Processamento de Linguagem Natural), login, e outras funcionalidades adicionais que dão suporte à solução.

Imagem: Arquitetura geral Looqbox.

Infraestrutura

A infraestrutura do Looqbox é baseada em uma combinação de serviços em nuvem e componentes no ambiente do cliente, garantindo escalabilidade, segurança e disponibilidade. Abaixo estão os principais aspectos da infraestrutura:

  • Cloud Provider: O Looqbox utiliza provedores de nuvem como Google Cloud Platform (GCP) e AWS para hospedar suas funcionalidades na nuvem, garantindo alta disponibilidade e escalabilidade.

  • Ambientes Separados: A infraestrutura é dividida em diferentes ambientes, como desenvolvimento, homologação e produção, garantindo que as mudanças possam ser testadas antes de serem aplicadas ao ambiente de produção.

  • Segurança: Todos os dados trafegam de forma segura através de protocolos HTTPS/TLS. Os dados em repouso são criptografados e o acesso aos ambientes é restrito e monitorado.

  • Escalabilidade: O uso de balanceadores de carga e a capacidade de escalabilidade horizontal garantem que o sistema possa lidar com aumentos na demanda sem perda de desempenho.

Segurança

A segurança é um dos pilares da arquitetura do Looqbox, visando proteger os dados dos clientes e garantir conformidade com regulamentações de proteção de dados:

  • Autenticação e Autorização: O Looqbox utiliza autenticação baseada em OAuth2 e integração com provedores de identidade, como Azure AD, para garantir que somente usuários autorizados tenham acesso às informações.

  • Proteção de Dados: Os dados são protegidos tanto em trânsito (usando TLS) quanto em repouso (criptografia). Além disso, são realizadas auditorias regulares e políticas de backup para garantir a integridade e disponibilidade das informações.

  • Controle de Acesso: O acesso aos ambientes e recursos do Looqbox é controlado por políticas de permissão baseadas em funções, garantindo que cada usuário tenha apenas o nível de acesso necessário.

Monitoramento e Logs

Para garantir o funcionamento contínuo e a identificação rápida de problemas, o Looqbox adota uma abordagem proativa de monitoramento e registro de logs:

  • Monitoramento em Tempo Real: Ferramentas como Prometheus e Grafana são utilizadas para monitorar o desempenho dos serviços, disponibilizando métricas em tempo real e alertas em caso de anomalias.

  • Registro de Logs: Todos os eventos relevantes são registrados em logs centralizados, facilitando a auditoria e o diagnóstico de problemas. Logs de acesso e operações são mantidos para garantir rastreabilidade.

Integrações e Fluxos de Dados

A arquitetura do Looqbox permite integrações eficientes com sistemas externos e fontes de dados do cliente:

  • Integração com Bancos de Dados do Cliente: A API do Looqbox se conecta ao banco de dados do cliente via JDBC/SQL para buscar dados operacionais e gerar relatórios.

  • Expo/Twilio: Utilizado para envio de notificações por Push Notification e WhatsApp, garantindo que os usuários recebam informações importantes de maneira rápida.

  • Fluxo de Dados: Os dados fluem do banco de dados do cliente para a API do Looqbox, onde são processados e disponibilizados para as aplicações móveis e SPA. Notificações são enviadas conforme regras de negócio definidas em conjunto com o cliente.

Considerações Finais

Esta documentação apresentou uma visão geral da arquitetura do Looqbox, destacando seus principais componentes, infraestrutura, segurança, monitoramento, integrações e escalabilidade. O objetivo é fornecer um entendimento claro de como a solução é estruturada para atender às necessidades dos clientes de forma segura, eficiente e escalável.

Para mais detalhes sobre as tecnologias utilizadas e os fluxos de dados da solução, consulte as documentações complementares:


Para mais informações detalhadas sobre cada componente ou sobre como integrar o Looqbox ao ambiente do cliente, entre em contato com nossa equipe técnica.

Last updated

Was this helpful?