O que é o modelo Frontline Connector?

O Frontline Connector é usado principalmente para integrar dados de clientes em fluxos de trabalho e permite uma comunicação fácil com dispositivos móveis que executam o Frontline Workplace. Ele serve como um conector entre a suíte Frontline e a TI do cliente. Para facilitar as integrações de back-end com o Frontline, um modelo de projeto do Frontline Connector é oferecido como base para o desenvolvimento.

O modelo Frontline Connector é um projeto Java + Spring Boot, usando Angular para a parte frontend. O modelo vem com uma implementação completa da API do Frontline Command Center e contém classes para comunicação de dispositivo. 

Para o xPick, que é a solução de logística de armazém da Frontline, ele também vem com uma implementação completa da Vision Pick Interface (uma especificação de interface que o cliente pode desenvolver). Finalmente, ele também contém uma interface de upload de arquivos para separação de pedidos (arquivos CSV ou Excel) e imagens de artigos, fornecendo a vantagem distinta de não exigir desenvolvimento do lado do cliente para uma prova de conceito rápida e fácil.

Pré-requisitos

  • Com relação à Versão Java e DBMS, consulte os pré-requisitos do Frontline Command Center.
  • Node.js 16

Configuração inicial

As etapas a seguir permitem que o usuário execute o modelo Frontline Connector de um ambiente de desenvolvimento integrado (IDE):

  1. Na seção Downloads , baixe o modelo de conector mais recente.
  2. Importe-o para o IDE (testado com o IntelliJ Idea). Ao importar bibliotecas, exclua a swagger-codegen-cli biblioteca.
  3. Uma vez que o IDE detecta o Maven:
    1. Execute a fase do install ciclo de vida.
    2. Execute a fase do compile ciclo de vida.
  4. Crie uma configuração de execução usando a classe e configure a seguinte variável de ambiente: = <Path to a HD Folder where the Application will store logs, configuration files etc.>   UBIMAX_HOME. IntegrationService
  5. Execute-o no modo de depuração. Ao executar o modelo pela primeira vez, a inicialização falhará, mas o arquivo xservice.properties será criado na pasta "<UBIMAX_HOME>\config\configuration\", que será usada para tornar o Frontline Connector configurável sem ter que recompilar. As seguintes propriedades precisam ser fornecidas:
    1. xserver.api.key: Acesse o Frontline Command Center com o usuário "sysadmin".
    2. server.ssl.enabled e as outras propriedades SSL podem ser configuradas como para o Frontline Command Center.
    3. service.port: A porta na qual o Frontline Connector é executado.
    4. xserver.remote.address: A URL completa (nome do host + porta, a menos que você esteja usando a porta padrão 443) do Frontline Command Center ao qual você deseja se conectar, por exemplo,https://192.168.133.45:444.
    5. integration-service.url: A URL completa do Frontline Connector, por exemplo,https://192.168.133.45:445.
    6. integration-service.url.external: A URL completa do Frontline Connector, por exemplo,https://192.168.133.45:445 Esta propriedade é necessária sempre que o Frontline Command Center é executado na porta 443.
    7. fc.db.url: Por exemplojdbc:mysql://<DB Hostname/IP>/<Database name>
    8. db.username, db.password
    9. No terminal mude para \webapp e execute npm install e npm run build
  6. Depois de definir essas propriedades, a configuração inicial deve ser concluída. 

Executando o modelo após a configuração inicial

  1. Selecione a configuração de execução e execute-a no modo de depuração.
  2. (Opcional) Ao trabalhar no frontend, para aplicar alterações: no terminal mude para "\webapp" e execute "npm run build" novamente

Primeiros passos no projeto

O pacote mais relevante para desenvolvimento é o pacote com.teamviewer.connector.service . Para se comunicar com dispositivos que executam o Frontline Workplace, as classes RequestHandler serão usadas, por exemplo, para xInspect ou xMake a classe: service.inspection.implemention.DefaultInspectionRequestHandler

Para o caso de uso de Picking, há dois RequestHandlers totalmente implementados. A classe service.picking.implementation.FileBasedPickOrderRequestHandler contém a implementação pronta para uso da lógica de picking ao usar o carregamento de pedidos CSV ou Excel, enquanto a service.picking.implementation.RestBasedPickOrderRequestHandler contém a implementação da Vision Pick Interface.

Qual RequestHandler recebe qual mensagem dos dispositivos é manipulada pelas classes ServiceController , por exemplo: service.picking.PickOrderServiceController

Para enviar solicitações HTTP para o back-end do cliente, o TemplateHttpConnector pode ser usado.

Para ter um bom ponto de partida, você pode dar uma olhada em nosso exemplo Hello Machine, que consiste em um pequeno fluxo de trabalho, um DefaultInspectionHandler modificado e um ponto de extremidade Node-Red simples. Neste exemplo, o Frontline Worker inspeciona uma máquina no campo. Eles escaneiam um código de barras da máquina usando um vidro inteligente. O código de barras é passado para o Frontline Connector que, por sua vez, envia uma solicitação REST para o ponto de extremidade Node-Red que contém dados de diagnóstico da máquina. Esses dados finalmente são exibidos no vidro inteligente.

Nota: No exemplo, independentemente de qual código QR é digitalizado, os dados resultantes recebidos são os mesmos.