Arquitetura

Visão geral

O MyQ Roger é um SaaS nativo na nuvem pública. Ao contrário dos sistemas tradicionais de gerenciamento de impressão locais, o Roger foi projetado como um sistema distribuído hospedado principalmente no Microsoft Azure, utilizando orquestração de contêineres e microsserviços. 

O sistema é dividido em dois ambientes principais: 

  • Lado do servidor (nuvem): hospedado no Azure Kubernetes Services (AKS), responsável pela lógica, bancos de dados e mensagens. 

  • Lado do cliente (local): aplicativos em execução nas estações de trabalho dos usuários, dispositivos móveis e impressoras multifuncionais (MFPs) que se comunicam com segurança com a nuvem. 

Arquitetura do lado do servidor (nuvem) 

O núcleo do MyQ Roger reside na nuvem do Microsoft Azure. A infraestrutura foi projetada para oferecer alta disponibilidade, segurança e escalabilidade por meio do Kubernetes. 

Componentes principais 

  • Azure Kubernetes Service (AKS): A lógica da aplicação é executada em contêineres Docker gerenciados pelo Kubernetes. 

  • Roger Server (ASP.NET Core): A principal aplicação de back-end responsável pela lógica de negócios, solicitações de API, trabalhos de impressão e gerenciamento de usuários e impressoras. 

  • Servidor de barramento de eventos: lida com mensagens assíncronas e comunicação em tempo real entre o servidor e os clientes. 

  • Balanceador de carga e Ingress: O tráfego entra no cluster por meio de um Balanceador de Carga do Azure, que direciona o tráfego HTTPS para os serviços apropriados ({region}.roger.myq.cloud:443 e {region}.amqp.myq.cloud:5671). 

Persistência de dados 

O MyQ Roger utiliza serviços de dados específicos do Azure para garantir a integridade e a segurança dos dados: 

  • Banco de Dados SQL: Armazena dados estruturados (usuários, impressoras, contabilidade de trabalhos, etc.). 

  • Cosmos DB: Um repositório não-SQL para telemetria de tarefas em formato bruto e profundamente estruturada, preservando os dados antes de resumí-los na página de relatórios e nos relatórios exportados. 

  • KeyVault: gerencia com segurança segredos, chaves e certificados. 

image-20251128-145424.png

Componentes do lado do cliente 

Como o servidor está na nuvem, os componentes do lado do cliente desempenham um papel crucial na conexão entre a rede local (onde as impressoras estão) e a infraestrutura em nuvem. 

  • Cliente Roger Desktop (.NET Core): 

    • Plataforma: Windows, macOS 

    • Função: Atua como um conector local. Não é apenas uma interface de usuário; ele gerencia a contabilidade de trabalhos e o processo de liberação por meio do Roger Server. 

    • Gerenciamento e enfileiramento de trabalhos: 

      • Fila de impressão do cliente (local): mantém os dados do trabalho de impressão no dispositivo do usuário para minimizar o uso de largura de banda, enviando apenas os metadados para a nuvem. O trabalho é liberado diretamente do cliente para a impressora. As impressoras são detectadas por meio da comunicação SNMP, e os trabalhos podem ser liberados usando os protocolos IPPS ou RAW configurados no Roger Server. A impressora e o MyQ Roger Client (MRC) devem estar na mesma rede. 

      • Spooling na nuvem: opcionalmente, envia o trabalho de impressão completo para o armazenamento em nuvem (OneDrive, Google Drive, MyQ Cloud), permitindo que os usuários liberem trabalhos em qualquer rede ou dispositivo. 

    • Resiliência e monitoramento: 

      • Impressão de contingência: garante a continuidade da impressão ao alternar automaticamente os métodos de roteamento caso a conexão com o Roger Server seja temporariamente interrompida. 

      • Monitoramento de impressão local (LPM): Rastreia e registra as atividades de impressão local (todos os trabalhos enviados para impressoras USB conectadas localmente ou filas TCP/IP diretas). 

    • Comunicação: Conecta-se ao Roger Server via API/REST ou websockets e mantém uma conexão persistente com o Event Bus (AMQP via TLS na porta 5671) para sinalização em tempo real. 

  • Aplicativo móvel Roger (Flutter): 

    • Plataforma: iOS, Android, Chromebook. 

    • Função: Atua como um assistente digital pessoal no ambiente de trabalho, fazendo a ponte entre o armazenamento em nuvem e os dispositivos físicos. 

    • Integração com a nuvem: 

      • Conexão e navegação na nuvem: Autentica-se diretamente em serviços de armazenamento em nuvem de terceiros (OneDrive, Google Drive, SharePoint, Dropbox e Box), permitindo que os usuários naveguem pelas pastas e visualizem arquivos. 

    • Fluxos de trabalho digitais: 

      • Gerenciamento de fluxos de trabalho: Permite que os usuários controlem totalmente seus processos de documentos. Além de simplesmente acionar fluxos de trabalho complexos de digitalização, os usuários podem criar novos fluxos de trabalho pessoais do zero ou gerenciar e modificar os existentes diretamente na interface do aplicativo. 

      • Digitalização móvel: Utiliza a câmera do dispositivo para digitalizar documentos, aplicar detecção/correção de bordas e compartilhar ou enviar para o dispositivo, destinos na nuvem conectados ou e-mail. 

    • Interação com a impressora: 

      • Identificação e liberação: “Detecta” impressoras sem digitalização em rede, usando proximidade física (Bluetooth/NFC) ou digitalizando um código QR no painel do dispositivo para autenticar e liberar trabalhos com segurança. 

  • Roger MFP/Terminal: 

    • Função: Atua como um quiosque seguro na nuvem diretamente no painel da impressora, gerenciando a autenticação do usuário e executando fluxos de trabalho de impressão e digitalização sem servidor. 

    • Plataformas e tecnologia: 

      • Kyocera: HyPAS (baseado em Java), é executado como um aplicativo nativo do sistema diretamente no firmware do dispositivo. 

      • HP: Android (HP Workpath), executa-se como um aplicativo Android moderno instalado por meio do HP Command Center. 

      • Ricoh: Android (Smart Operation Panel), funciona como um aplicativo Android nativo no Ricoh SmartSDK. 

    • Comunicação: 

      • Protocolo: Utiliza HTTPS estritamente criptografado (TLS 1.2/1.3) para toda a comunicação. 

      • Acesso direto: O terminal se comunica diretamente com o {region}.roger.myq.cloud. 

  • Cliente Web Roger (Angular): 

    • Função: Atua como ponto de acesso unificado para administração de locatários e autoatendimento do usuário. 

    • Recursos: 

      • Console de administração: Oferece uma interface centralizada para gerenciar todo o ambiente do locatário, incluindo gerenciamento e sincronização de usuários (Azure AD), gerenciamento de impressoras, definições de políticas e gerenciamento de cotas. 

      • Portal do usuário: Oferece aos usuários finais uma visualização em painel pessoal do histórico de tarefas e a opção de gerenciar seu perfil pessoal. 

    • Comunicação: 

      • Ponto de acesso: Os usuários acessam o cliente por meio de uma URL segura. 

      • Protocolo: Comunica-se exclusivamente via HTTPS (TLS 1.2/1.3), realizando chamadas de API REST para o back-end do Roger Server. 

Arquitetura de rede e segurança 

O MyQ Roger emprega uma arquitetura de rede “Secure by Design”, utilizando sub-redes segmentadas e protocolos criptografados. 

Segmentação de rede 

O ambiente do Azure é segmentado em zonas de segurança distintas: 

  • Sub-rede de API: voltada para o público (por meio do balanceador de carga), hospeda os serviços de API e OAuth2. Esse é o ponto de entrada para todos os clientes móveis e de impressoras via HTTPS (porta 443). 

  • Subrede do Event Bus: Lida com o enfileiramento de mensagens. Acessível por clientes de desktop por meio de TLS seguro (Porta 5671). 

  • Sub-rede de bancos de dados: uma sub-rede estritamente privada contendo o Cosmos DB, o Key Vault e o SQL Server. Esses recursos não são expostos à Internet pública e só são acessíveis por meio da sub-rede de API. 

Protocolos de comunicação 

  • HTTPS (Porta 443): Usado para todas as chamadas de API REST provenientes de aplicativos móveis, clientes web e impressoras multifuncionais (MFPs). 

  • AMQP (Porta 5671): Protocolo de mensagens seguro utilizado pelo cliente de desktop para se comunicar com o Event Bus. 

  • SNMP e IPPS: Utilizados localmente pelo cliente de desktop para detectar e se comunicar com impressoras físicas. 

Descoberta global e regional 

Para atender a uma base global de usuários, o MyQ Roger implementa um mecanismo de descoberta regional. 

  • Servidor de Descoberta Regional: Quando um cliente é inicializado, ele entra em contato com o Servidor Global. 

  • Roteamento regional: o servidor global direciona o cliente para o “cluster do lado do servidor” (região) apropriado com base na localização do locatário (por exemplo, UE, UE2, EUA). 

Resumo do executável e da tecnologia 

Componente 

Tecnologia / Framework 

Plataforma / SO 

Protocolos principais (saída) 

Roger Server 

ASP.NET Core  

Serviço Kubernetes do Azure (contêineres Linux) 

HTTPS (443), SQL, cluster interno 

Servidor de barramento de eventos 

Fila de mensagens (AMQP) 

Serviço do Azure Kubernetes 

AMQP (5671) 

Cliente de desktop 

.NET Core 

Windows, macOS 

HTTPS, AMQP, SNMP, porta bruta 9100, LPR 515 

Aplicativo móvel 

Flutter 

iOS, Android, Chromebook 

HTTPS, OAuth (nuvens), Bluetooth/NFC 

Cliente Web 

Angular (SPA) 

Navegador da Web 

HTTPS (TLS 1.2/1.3) 

Terminal MFP 

Kyocera: HyPAS (Java) HP/Ricoh: Android 

Firmware de dispositivo embutido 

HTTPS (TLS 1.2/1.3)