Árvore de páginas

Neste artigo explora-se a arquitetura da solução TOTVS Otimização Logística em seus módulos.

Para uma visão mais alto nível, veja este documento: Produtos - Torre de otimização logística

Mapa da arquitetura da suíte TOTVS Otimização Logística


Os componentes representados pelo retângulo cinza-escuro representam empacotamentos em arquivos .war dos artefatos produzidos na build do TOTVS Otimização Logística. Todos estes componentes são desenvolvidos em Java 8, utilizando tecnologias tais como Spring, Hibernate, Jersey, Jackson entre outras. O componente Front end é exceção, possui arquivos estáticos HTML e JavaScript para execução no browser dos clientes com a camada de apresentação do sistema. O ambiente completo é composto por três bases de dados cuja denominação é igual ao módulo onde estão inseridas. As bases relacionais suportam os SGDBs PostgreSQL 9.4.18, Oracle 12c e Microsoft SQL Server 2014 ou versões posteriores. 

Componente: Gateway

Ponto único de entrada de todas as requisições ao TOTVS Otimização Logística. Responsável por service discovery e delegar as requisições aos componentes correspondentes. É capaz de delegar a múltiplas instâncias de componentes, caso haja redundância na implantação.

Os componentes delegados possuem filtro tal que rejeite requisições que não são provenientes do Gateway.

Neste componente também é realizado o processo de autenticação e validação de autenticação.

Módulo: Planejamento

Componente: TOL

Aplicação responsável pelos processos de:

  • Manutenção de master data utilizadas pelo processo de planejamento tais como: localidades, produtos, categorias de produto, invólucros, embarcadores, pedidos, regras de frete, etc;
  • Manutenção de restrições logísticas como, por exemplo, horários de funcionamento, compatibilidade em carga entre categorias de produto, veículos permitidos por localidade, atuação de transportadoras por zona de transporte, etc;
  • Análise de carteira de pedidos e viagens;
  • Análise e manipulação de rotas;
  • Análise de arranjo tridimensional e paletização;
  • Oferta de viagem;
  • Agendamento de coleta/entrega;
  • Liberação de viagem;
  • Emissão de relatórios;
  • Execução de tarefas agendadas em background;

Componente: Integration

Aplicação responsável pela integração entre ERPs externos e o TOTVS Otimização Logística. Provê API SOAP para intercâmbio de arquivos XML disponibilizando os serviços de entrada:

  • AutomaticOptimizationAcquisitionService: Início de otimização automática dos pedidos em cesta e, opcionalmente, viagens em status editável de todos os usuários;
  • CarrierAcquisitionService: Cadastro de transportadoras;
  • CompositeProductAcquisitionService: Cadastro de produtos compostos (kits);
  • CteAcquisitionService: Cadastro de CTe (Conhecimento de transporte eletrônico) para fins de auditoria de frete;
  • DispatchLoadRequestAcquisitionService: Expedição de viagem;
  • ExecuteScriptTask: Execução de tarefas de automação customizadas;
  • FreightRuleAcquisitionService: Cadastro de grupo de regras de frete; 
  • InvoiceAcquisitionService: Cadastro de NF (Nota fiscal) para fins de auditoria de frete;
  • LocalityAcquisitionService: Cadastro de localidades;
  • OrderAcquisitionService: Cadastro de pedidos;
  • ProductAcquisitionService: Cadastro de produtos;
  • RouteAcquisitionService: Cálculo de rota que minimiza a distância entre locais estabelecidos, partindo de uma localização específica. Útil para determinar a distância para cálculo de frete ANTT em viagens operadas em outros sistemas;
  • TripTenderAcquisitionService: Recepção do resultado de oferta de viagem realizado por sistema externo;
  • UnblockReleasedTripAcquisitionService: Desbloqueio de viagens liberadas, resolução de quebra de pedido;
  • VehicleAcquisitionService: Cadastro de veículos;

Este mesmo componente possui as interfaces de saída de dados:

  • publishCancelService: Solicitação de cancelamento de viagem previamente liberada;
  • publishCancelTenderingService: Informa cancelamento de oferta de viagem;
  • publishExpeditionService: Informa expedição de viagem;
  • publishReleasedTripService: Solicita ou informa a liberação de viagem para o ERP externo com a geração de quebras de pedidos, caso existam;
  • publishReprogrammingService: Solicita a reprogramação de viagem liberada, isto é, a permissão do TOTVS Otimização Logísticas retomar o controle sobre uma viagem já liberada;
  • publishRouteService: Resultado do serviço de cálculo de rotas (RouteAcquisitionService) enviado assincronamente;
  • publishTenderingService: Informa a oferta de viagem para ERP externo;

Componente: Routing

Esta aplicação provê os serviços de:

  • Otimização;
  • Operações manuais;
  • Visualização de arranjo;
  • Cálculo de rotas com mínima distância;

A principal funcionalidade é a otimização do plano de viagens a partir de unidades de transporte e, opcionalmente, viagens pré-existentes. Utiliza algoritmos que vêm sido desenvolvidos pelo próprio time há mais de uma década, utilizando como base conceitos de busca heurística, meta-heurística e funções multiobjetivo hierárquicas. Responsável por garantir que as viagens cumpram com todas as restrições estabelecidas no contexto de otimização, relacionando as características das unidades de transporte e rota com os selecionáveis veículo, transportadora, tipos de serviço, caminho e configuração temporal. Esta técnica recebe o nome de otimização simultânea pois é capaz de resolver os problemas combinatórios de rotas, arranjo 3D, alocação temporal, unitização e segmentação (redespacho, cross-dock) ao mesmo tempo.


Módulo: Execução

Mais informações: Módulo de execução

Componente: Monitoring

Aplicação responsável pelos processos:

  • Cadastro de motoristas;
  • Cadastro de status de ocorrências, categorias e causas;
  • Monitoramento de viagens, notas fiscais, documentos ou outros monitoráveis:
    • Gestão de transições: sequência de eventos planejados 
    • Gestão de ocorrências: eventos não planejados.
  • Acompanhamento da operação através de dashboards;

Normalmente, os processos de gestão de transições e ocorrências são utilizados para registro de comprovantes de entrega ou utilização de serviço para solicitação de reembolso.

Componente: Tracking

Aplicação responsável pelos processos:

  • Cadastro de dispositivos de rastreamento;
  • Cadastro de faixas de temperatura;
  • Rastreamento de viagens a partir de sinais GPS disponibilizados por provedores terceiros ou aplicativo Cockpit Mobile;
  • Inferência sobre sinais GPS:
    • Finalização de transições automáticas por cerca virtual; 
    • Geração de ocorrências automáticas;

Rastreadores: Rastreadores

Componente: Mobile

API interna para prover serviços para o aplicativo Android Cockpit Mobile. Possui serviços de sincronização possibilitando que o aplicativo funcione offline e envie as ações realizadas quando houver rede disponível.

Sobre o aplicativo: Aplicativo de rastreio

Componente: Integration

Aplicação responsável pela integração entre ERPs externos e o TOTVS Otimização Logística. Provê API SOAP para intercâmbio de arquivos XML disponibilizando os serviços de entrada:

  • monitorable_action: Realiza o início de rastreamento ou finalização do monitorável;
  • monitorable: Cadastro de viagens, notas fiscais, documentos ou outros monitoráveis;
  • monitorable_occurrence_acquisition: Criação de ocorrência em um monitorável;
  • monitorable_transition_update: Atualiza status de uma transição de um monitorável;

Este mesmo componente possui as interfaces de saída de dados:

  • publishFinishing: Informa finalização de monitoramento;
  • publishOccurrence: Informa criação de ocorrência sobre um monitorável;
  • publishTransition: Informa realização de transição sobre um monitorável;
  • monitorableLastSignal: Informa a última posição conhecida de um dispositivo de rastreamento.

Módulo: BI

Componente: BI

Esta aplicação é responsável pela agregação de dados históricos dos módulos de planejamento e execução em formato apropriado para geração de análises estratégicas e táticas sem onerar o desempenho dos demais módulos.

Componente: Dashboard Server

Aplicação responsável por interagir com gráficos e dashboards produzidos pelo componente BI.

Módulo: Suporte

Componente: User management

Aplicação responsável pelo gerenciamento dos cadastros de usuários e perfis de acesso.

Componente: File Server

Aplicação responsável pelo armazenamento de arquivos anexos nos módulos de planejamento e execução.

Componente: Front end

Este componente armazena os arquivos estáticos HTML e JavaScript necessários para execução do front end nos browsers dos clientes finais. A interface foi construída utilizando o conceito de single page application e sem depender de sessão, cookies nem outras ferramentas que trafeguem estado entre cliente e servidor.