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.
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.
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