Deployment

Arquitetura do MyQ

Servidores e Aplicativos MyQ

O MyQ é um sistema distribuído composto por servidores e aplicativos clientes. A imagem abaixo apresenta uma visão geral de alto nível de todos os componentes e principais canais de comunicação. Cada componente geralmente é executado em seu próprio computador, seja um servidor, um PC, um celular ou uma impressora.

MyQ Servers and apps overview

O Servidor Central é responsável pela configuração, geração de relatórios e licenciamento dos Servidores Locais. Os Servidores Locais ainda precisam de configuração individual adicional.

Um servidor local é responsável pelo spooling de trabalhos de impressão, envio de digitalizações, interação do usuário com as impressoras, monitoramento das impressoras e muito mais.

O MyQ Desktop Client é um aplicativo adicional que roda nos PCs dos usuários. Ele oferece autenticação e identificação do usuário, seleção de projetos e centros de custo, monitoramento de impressoras locais (principalmente USB), enfileiramento de tarefas do cliente e muitos outros recursos.

O Servidor OCR é utilizado para o reconhecimento óptico de caracteres (OCR) em trabalhos de digitalização. Como um servidor OCR consome muitos recursos, ele geralmente é executado em uma máquina própria.

O MyQ X Mobile Client é usado para impressão nativa em dispositivos iOS, macOS e Android.

O Mobile Print Agent permite que os usuários acessem as impressoras via AirPrint (para iOS) e Mopria Print Service (para smartphones ou tablets Android). Ele geralmente é executado em uma máquina própria com acesso a uma rede Wi-Fi, onde os dispositivos móveis podem detectá-lo. 

Servidor de impressão sob a perspectiva dos processos do sistema operacional

Na imagem abaixo, você pode ver quais processos do sistema operacional estão em execução em um servidor de impressão e quais são os principais canais de comunicação.

OS processes on a Site server

O coração do sistema é o servidor de impressão. Ele é baseado na Plataforma WSF – a plataforma da MyQ para desenvolvimento de serviços de rede. A lógica específica da MyQ é implementada como serviços da plataforma, que são empacotados em arquivos plugin*.dll. Esses plug-ins são escritos em C++ e alguns deles também em C#. A Plataforma WSF também oferece suporte a serviços implementados em PHP. Como o PHP não suporta DLLs, os serviços da plataforma implementados em PHP são invocados por meio de um conjunto de workers php.exe.

O Servidor de Impressão também gerencia um conjunto de processos do Processador de Trabalhos, que são utilizados para a análise de trabalhos. O Processador de Trabalhos é executado como um processo independente e não como parte do Servidor de Impressão, para evitar que este falhe em caso de falha do Processador de Trabalhos.

Como servidor de rede, o Serviço do Servidor de Impressão é responsável por receber trabalhos de impressão via LPR, IPP e outros protocolos. Ele também lida com o Messages, que é nosso mecanismo de notificações push. O Messages é usado para notificar os clientes sobre eventos no sistema.

O Apache é um servidor HTTP para nossa interface de usuário web e para a API REST do MyQ. Ambos os aplicativos são implementados em PHP. O Apache mantém um conjunto de workers php-cgi.exe para lidar com a execução.

O Roteador HTTP é nosso proxy reverso, pelo qual todo o tráfego HTTP recebido passa. Sua principal funcionalidade é a terminação TLS.

Os Pacotes de Terminal implementam o terminal integrado para um fornecedor específico. Eles expõem sua própria API, utilizada pelas impressoras.

O PM Server é um componente criado pela Kyocera. Ele fornece uma API para configurar dispositivos Kyocera e instalar o aplicativo de terminal integrado. O PM Server utiliza a tecnologia Thrift para implementar sua API. O MyQ também disponibiliza parte de sua API via Thrift, para que o PM Server possa acessá-la.

Muitos dos componentes utilizam o Servidor de Banco de Dados para armazenar dados. Além disso, muitos dos componentes, incluindo o Firebird, armazenam seus dados na Pasta de Dados do MyQ, localizada por padrão em C:\ProgramData\MyQ. Em produção, essa pasta geralmente fica em uma unidade de rede.

Nomes dos executáveis

Nome amigável

Nome do executável

Nomes alternativos

Roteador HTTP

traefik.exe

Traefik

Servidor HTTP

httpd.exe

Apache

Servidor de banco de dados

firebird.exe

Firebird

Servidor de impressão

myq.exe

 

Provedor Kyocera

knum.server.exe

Servidor PM

*Terminais

MyQ*Terminal.exe

Pacote de Terminal

Processador de tarefas

MyQJobProcessor.exe

 

*usado para o nome do fornecedor