Skip to main content
Skip table of contents

Arquitectura

Descripción

MyQ Roger es un SaaS nativo de nube pública. A diferencia de los sistemas tradicionales de gestión de impresión locales, Roger está diseñado como un sistema distribuido alojado principalmente en Microsoft Azure, que utiliza la orquestación de contenedores y los microservicios. 

El sistema se divide en dos entornos principales: 

  • Lado del servidor (nube): alojado en Azure Kubernetes Services (AKS), se encarga de la lógica, las bases de datos y la mensajería. 

  • Lado del cliente (local): aplicaciones que se ejecutan en estaciones de trabajo de usuarios, dispositivos móviles e impresoras multifunción (MFP) que se comunican de forma segura con la nube. 

Arquitectura del lado del servidor (nube) 

El núcleo de MyQ Roger reside en la nube de Microsoft Azure. La infraestructura está diseñada para ofrecer alta disponibilidad, seguridad y escalabilidad utilizando Kubernetes. 

Componentes principales 

  • Azure Kubernetes Service (AKS): la lógica de la aplicación se ejecuta dentro de contenedores Docker gestionados por Kubernetes. 

  • Roger Server (ASP.NET Core): la aplicación backend principal que gestiona la lógica empresarial, las solicitudes de API, los trabajos de impresión y la gestión de usuarios e impresoras. 

  • Servidor de bus de eventos: gestiona la mensajería asíncrona y la comunicación en tiempo real entre el servidor y los clientes. 

  • Equilibrador de carga e Ingress: el tráfico entra en el clúster a través de un equilibrador de carga de Azure, que enruta el tráfico HTTPS a los servicios adecuados ({región}.roger.myq.cloud:443 y {región}.amqp.myq.cloud:5671). 

Persistencia de datos 

MyQ Roger utiliza servicios de datos específicos de Azure para garantizar la integridad y la seguridad de los datos: 

  • Base de datos SQL: almacena datos estructurados (usuarios, impresoras, contabilidad de trabajos, etc.). 

  • Cosmos DB: un repositorio no SQL para telemetría de trabajos sin procesar y profundamente estructurada, que conserva los datos antes de resumirlos en la página de informes y en los informes exportados. 

  • KeyVault: gestiona de forma segura secretos, claves y certificados. 

roger-architecture.png

Componentes del lado del cliente 

Dado que el servidor se encuentra en la nube, los componentes del lado del cliente desempeñan un papel crucial a la hora de conectar la red local (donde se encuentran las impresoras) con la infraestructura en la nube. 

  • Cliente de escritorio Roger (.NET Core): 

    • Plataforma: Windows, macOS 

    • Función: actúa como conector local. No es solo una interfaz de usuario, sino que gestiona la contabilidad de trabajos y el proceso de liberación a través de Roger Server. 

    • Gestión de trabajos y spooling: 

      • Cola de impresión del cliente (local): mantiene los datos del trabajo de impresión en el dispositivo del usuario para minimizar el uso del ancho de banda, enviando solo los metadatos a la nube. El trabajo se libera directamente desde el cliente a la impresora. Las impresoras se detectan mediante comunicación SNMP y los trabajos se pueden liberar utilizando los protocolos IPPS o RAW configurados en Roger Server. La impresora y MyQ Roger Client (MRC) deben estar en la misma red. 

      • Spooling en la nube: Opcionalmente, carga el trabajo de impresión completo en el almacenamiento en la nube (OneDrive, Google Drive, MyQ Cloud), lo que permite a los usuarios liberar trabajos en cualquier red o dispositivo. 

    • Resiliencia y supervisión: 

      • Impresión de respaldo: garantiza la continuidad de la impresión cambiando automáticamente los métodos de enrutamiento si la conexión con el servidor Roger se interrumpe temporalmente. 

      • Supervisión de impresión local (LPM): realiza un seguimiento y da cuenta de las actividades de impresión locales (todos los trabajos enviados a impresoras USB conectadas localmente o colas TCP/IP directas). 

    • Comunicación: se conecta al servidor Roger a través de API/REST o websockets, y mantiene una conexión persistente con Event Bus (AMQP a través del puerto TLS 5671) para la señalización en tiempo real. 

  • Aplicación móvil Roger (Flutter): 

    • Plataforma: iOS, Android, Chromebook. 

    • Función: Actúa como asistente digital personal en el lugar de trabajo, conectando el almacenamiento en la nube con los dispositivos físicos. 

    • Integración en la nube: 

      • Conexión y exploración de nubes: se autentica directamente con el almacenamiento en la nube de terceros (OneDrive, Google Drive, SharePoint, Dropbox y Box), lo que permite a los usuarios explorar carpetas y obtener una vista previa de los archivos. 

    • Flujos de trabajo digitales: 

      • Gestión de flujos de trabajo: permite a los usuarios controlar totalmente sus procesos de documentos. Más allá de simplemente activar flujos de trabajo de escaneo complejos, los usuarios pueden crear nuevos flujos de trabajo personales desde cero o gestionar y modificar los existentes directamente en la interfaz de la aplicación. 

      • Escaneo móvil: utiliza la cámara del dispositivo para escanear documentos, aplicar detección/corrección de bordes y compartir o cargar en el dispositivo, destinos en la nube conectados o correo electrónico. 

    • Interacción con la impresora: 

      • Identificación y liberación: «descubre» impresoras sin escaneo de red, utilizando la proximidad física (Bluetooth/NFC) o escaneando un código QR en el panel del dispositivo para autenticar y liberar trabajos de forma segura. 

  • Roger MFP/Terminal: 

    • Función: actúa como un quiosco seguro en la nube directamente en el panel de la impresora, gestionando la autenticación de los usuarios y ejecutando flujos de trabajo de impresión y escaneo sin servidor. 

    • Plataformas y tecnología: 

      • Kyocera: HyPAS (basado en Java), se ejecuta como una aplicación nativa del sistema directamente en el firmware del dispositivo. 

      • HP: Android (HP Workpath), se ejecuta como una moderna aplicación Android instalada a través del HP Command Center. 

      • Ricoh: Android (Smart Operation Panel), se ejecuta como una aplicación nativa de Android en Ricoh SmartSDK. 

    • Comunicación: 

      • Protocolo: utiliza HTTPS (TLS 1.2/1.3) estrictamente cifrado para todas las comunicaciones. 

      • Acceso directo: El terminal se comunica directamente con {región}.roger.myq.cloud. 

  • Cliente web Roger (Angular): 

    • Función: sirve como punto de acceso unificado para la administración de inquilinos y el autoservicio de usuarios. 

    • Capacidades: 

      • Consola de administración: proporciona una interfaz centralizada para gestionar todo el entorno de inquilinos, incluida la gestión y sincronización de usuarios (Azure AD), la gestión de impresoras, las definiciones de políticas y la gestión de cuotas. 

      • Portal del usuario: ofrece a los usuarios finales una vista personalizada de su historial de trabajos y la opción de gestionar su perfil personal. 

    • Comunicación: 

      • Punto de acceso: los usuarios acceden al cliente a través de una URL segura. 

      • Protocolo: se comunica exclusivamente a través de HTTPS (TLS 1.2/1.3), realizando llamadas a la API REST al backend del servidor Roger. 

Arquitectura de red y seguridad 

MyQ Roger emplea una arquitectura de red «Segura por diseño», que utiliza subredes segmentadas y protocolos cifrados. 

Segmentación de la red 

El entorno Azure está segmentado en distintas zonas de seguridad: 

  • Subred API: de cara al público (a través del equilibrador de carga), aloja los servicios API y OAuth2. Es el punto de entrada para todos los clientes móviles e impresoras a través de HTTPS (puerto 443). 

  • Subred de bus de eventos: gestiona la cola de mensajes. Accesible para los Desktop Client a través de TLS seguro (puerto 5671). 

  • Subred de bases de datos: una subred estrictamente privada que contiene Cosmos DB, Key Vault y SQL Server. No están expuestas a la Internet pública y solo se puede acceder a ellas a través de la subred API. 

Protocolos de comunicación 

  • HTTPS (puerto 443): se utiliza para todas las llamadas a la API REST desde aplicaciones móviles, clientes web y MFP. 

  • AMQP (puerto 5671): protocolo de mensajería seguro utilizado por el Desktop Client para comunicarse con el bus de eventos. 

  • SNMP e IPPS: utilizados localmente por el Desktop Client para detectar e interactuar con impresoras físicas. 

Detección global y regional 

Para dar soporte a una base de usuarios global, MyQ Roger implementa un mecanismo de detección regional. 

  • Servidor de detección regional: cuando un cliente se inicializa, se pone en contacto con el servidor global. 

  • Enrutamiento regional: el servidor global enruta al cliente al «clúster del lado del servidor» (región) adecuado en función de la ubicación del inquilino (por ejemplo, UE, UE2, EE. UU.). 

Resumen de ejecutables y tecnología 

Componente 

Tecnología/Marco 

Plataforma/SO 

Protocolos principales (saliente) 

Servidor Roger 

ASP.NET Core  

Servicio Azure Kubernetes (contenedores Linux) 

HTTPS (443), SQL, clúster interno 

Servidor de bus de eventos 

Cola de mensajes (AMQP) 

Servicio Azure Kubernetes 

AMQP (5671) 

Desktop Client 

.NET Core 

Windows, macOS 

HTTPS, AMQP, SNMP, puerto sin procesar 9100, LPR 515 

Aplicación móvil 

Flutter 

iOS, Android, Chromebook 

HTTPS, OAuth (nubes), Bluetooth/NFC 

Cliente web 

Angular (SPA) 

Navegador web 

HTTPS (TLS 1.2/1.3) 

Terminal MFP 

Kyocera: HyPAS (Java) HP/Ricoh: Android 

Firmware de dispositivo integrado 

HTTPS (TLS 1.2/1.3) 

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.