Árvore de páginas

Configuração do provedor - ravexProvider

O arquivo tracking-ravex.war deve ser salvo na pasta webapps do Tomcat.

O arquivo application-tracking-ravex.properties deve ser salvo na pasta 'CPLConfig' e deve ser editado.

Configurando application-tracking-ravex.properties

É necessário editar as propriedades dentro do arquivo da seguinte maneira:

  • server.port: mesma porta que está configurada para o tomcat utilizar (Exemplo: 8080) 
  • ravex.username: Usuário cadastrado para acesso ao serviço da Ravex
  • ravex.password: Senha do usuário cadastrado para acesso ao serviço da Ravex
  • ravex.url: Url de acesso ao serviço da ravex (Exemplo: http://api.risco.sistema.ravex.com.br)

Fluxo Sinais e macros

  1. O provedor Ravex chama o webservice de Token ao ser subido, gerando um token de autenticação de 14 dias, porém, para evitar perda de sinais por autenticação, o processo de renovação de token ocorre a cada 10 dias;
  2. Após ser autenticado, o provedor chama os webservices de ObterPacotePosicoesV2ObterMensagemRecebidaDeEquipamentoV1, nos quais obtemos os 200 primeiros sinais de posição (sinal com temperatura e velocidade, sem macro) e sinais de mensagem (sinal com macro, sem temperatura e velocidade) do dia corrente;
  3. Em seguida, é armazenado o último id de cada tipo de sinal recebido para a próxima busca;
  4. Ambos os sinais recebidos são convertidos para o padrão de sinal recebido pelo Tracking Central (RavexSignal);
  5. Caso haja sinais iguais (mesmo provider_id, timestamp e device_id) entre as listas, prevalece o sinal de posição com o acréscimo da macro;
  6. Os sinais são enviados ao Tracking Central.

Simulando sinais

1. Dar checkout no projeto dentro da branch Execution/TrackingProviders/RavexMock;

2. Abrir propmt de comando (cmd) e rodar os seguintes comandos na pasta do projeto: npm install && npm run json-server;

3. Configure a property 'ravex.url' em 'application-tracking-ravex.properties' para apontar para seu mock;

4. Suba o provedor. Por padrão, à cada 30 segundos, o mock criado será chamado e as posições e mensagens serão enviadas para o rastreamento.

Editar arquivo db.json levando em consideração que:
- ObterPacotePosicoesV2: é o mock referente aos sinais de posição no qual deve ser editado o conteúdo de "ListaPosicoes", podendo ter até 200 elementos
- ObterMensagemRecebidaDeEquipamentoV1: é o mock referente aos sinais de mensagem no qual deve ser editado o conteúdo de "ListaMensagens", podendo ter até 200 elementos

Exemplo de db.json

{
  "Token": {},
  "ObterPacotePosicoesV2": {
    "ListaPosicoes": [
      {
        "IdPosicao": 1,
        "IdRastreador": 40902,
        "IdVeiculo": 6724,
        "Placa": "EKL9482",
        "IdEvento": 101,
        "NomeEvento": "Posição com ignição desligada",
        "Evento_Datahora": "2021-07-20T00:55:20Z",
        "GPS_Latitude": -23.322201,
        "GPS_Longitude": -46.720776,
        "GPS_Direcao": 192,
        "GPS_Velocidade": 1,
        "Hodometro": 35090,
        "Temperatura1": 21,
        "Ignicao": false,
        "IdInstalacaoTipo": 1010,
        "RastreadorPrincipalTipo": {
          "Nome": "GPRS-MP-RST-RST-LCv3",
          "TipoRastreadorPrincipal": 40
        }
      }
    ]
  },
  "ObterMensagemRecebidaDeEquipamentoV1": {
    "ListaMensagens": [
      {
        "IdMensagemRecebida": 2,
        "IdEquipamento": 12535,
        "Placa": "LUC9405",
        "TipoMacro": 59,
        "DataCriacaoNoEquipamento": "2021-07-21T19:57:20Z",
        "Texto": "01640787038;",
        "IdVeiculo": 5941,
        "IdPosicoesEmEquipamento": null,
        "GPS_Latitude": -23.4901,
        "GPS_Longitude": -46.7662
      }
    ]
  }
}

Configurações em properties

MBR

  • application-mbr.properties
    •  database.server.schema=${database.server.schema.gtw:DATABASE_NAME} -----> DATABASE_NAME sendo o nome da base utilizada no GTW

Monitoring

  • application-monitoring.properties
    • database.server.schema=${database.server.schema.gtw:DATABASE_NAME} -----> DATABASE_NAME sendo o nome da base utilizada no GTW

Tracking

  • application-tracking.properties
    • database.server.schema=${database.server.schema.gtw:DATABASE_NAME} -----> DATABASE_NAME sendo o nome da base utilizada no GTW
    • tracking.providers.list[1] = ravex

Tracking Client

  • application-tracking-client.properties
    • neolog.tracking.central.url= apontar para URL do Tracking Central, no caso de ambientes de PROD/QA, é utilizada a URL de uma VM nossa.

Tracking Central

Não necessário para ambientes de produção, visto que é usado o Tracking Central da VM
  • application-database.properties
    • spring.datasource.url=jdbc:postgresql://${database.server.host:nlg32v:5432}/${database.server.schema:DATABASE_SERVER_NAME} -----> DATABASE_SERVER_NAME sendo uma base distinta da base do GTW vazia que receba os sinais dos provedores
  • application-tracking-central.properties
    • database.server.schema=DATABASE_SERVER_NAME -----> DATABASE_SERVER_NAME sendo uma base distinta do GTW vazia que receba os sinais dos provedores
  • Sem rótulos