Páginas filhas
  • Integração RM x Smart Link Behavior Sharing - Visão suporte

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. Apresentação

Este documento tem por objetivo auxiliar as equipes dos segmentos no entendimento do mecanismo de integração do RM com a plataforma de mensagens do Smart Link.

O Smart Link é o mediador das mensagens entre a plataforma TotvsApp (cloud ) e ERP's (on premise), e por sua vez é formado por dois componentes: Smart Link Client (on premise), e Smart Link Server (cloud).

Informações

Image AddedAté o momento, essa arquitetura somente poderá ser usada na comunicação entre aplicativos hospedados na plataforma Totvs Apps (ex: TPD, Antecipa, Consignado) com os ERP's. Ou seja, não será possível utilizar essa comunicação entre os ERP's do grupo. Nesse caso, deve ser utilizado o EAI para essa comunicação entre ERP's.

Como exemplo, a integração entre o ERP RM com TPD (Totvs Privacidade de Dados) ocorre através da plataforma Smart Link.

...

A intenção é que os clientes possuam em sua infraestrutura apenas o Smart Link Client, uma vez que o Smart Link Server será mantido pela TOTVS na nuvem.

02. Comunicação com a plataforma Smart Link Server

A troca de dados com a plataforma Smart Link Server ocorrerá através de comunicação com api's Rest, conforme endpoints abaixo. Toda a comunicação entre o ERP RM com as apis da plataforma "Smart Link Server" já foi implementada através de um artefato, criado na framework RM chamada "Smart Link Client".

...

Deck of Cards
idEndpoints SmartLinkServer
Card
labelBuscando token no Rac


Informações

Para acessar qualquer api com autenticação na plataforma TotvsApp, deve ser recuperado um token de acesso no Rac.

Esse accessToken deve ser gerado repassando as credenciais de "clientId" e "clientSecret" do cliente em questão conforme print acima.

Endereços da api do Rac: 

       Ambiente desenvolvimento: https://admin.rac.dev.totvs.app/totvs.rac/connect/token

      Ambiente Staging: https://admin.rac.staging.totvs.app/totvs.rac/connect/token

      Ambiente Produção: https://admin.rac.totvs.app/totvs.rac/connect/token

Card
labelConfigurando as filas

Informações

Essa api permite que determinados comandos sejam "escutados" pelos artefatos de consumidores criados pelos segmentos.

Ex:

{
"subscriptions": [ "SGDPDataCommand""SGDPMaskCommand", "SGDPLogsCommand" ]
}

Card
labelRecuperando mensagens da fila

Informações

Mensagens criadas na plaforma poderão ser recuperadas através dessa api

Card
labelRemovendo mensagens da fila


Informações

Mensagens podem ser removidas da plaforma através dessa api

02.

...

TOTVS APPS (RM)

Foi implementada na framework RM uma arquitetura que permite a leitura e consumo automático das mensagens disponibilizadas no componente Smart Link Server. Através dessa arquitetura, mensagens poderão ser publicadas ou consumidas pelos segmentos. Essa comunicação ocorrerá através de chamadas Rest em api's disponibilizadas pelo componente Smart Link Server.

...

o usuário deverá entrar com o "clientId" e "clientSecret" disponibilizado.Image Removed


  1. É informada as credenciais do RAC.

  2. Seleciona a ação do App

    1. Ativar - Instala ou Reativa um App.

    2. Desativar - Desativa um App instalado.

    3. Reparar - Remove e reinstala o App.

  3. Executa a ação do app selecionado.

  • Se houver Apps no Rac que ainda não tenham suporte no RM, eles serão exibidos na lista como "indisponíveis". Além disso, os aplicativos que foram desativados por meio do gerenciador de Apps também aparecerão como "indisponíveis" na lista.

Image Added


Após execução do processo de ativação, será criado um job chamado "ConTotvsAppExecutorTLCProcess". Esse job será agendado para ser executado de 1 em 1 minuto.

...

As equipes dos segmentos, são as responsáveis em publicar e consumir mensagens nessa arquitetura. Para isso, foi criado um documento detalhando como publicar e criar artefatos para consumir mensagens (disponível no link abaixo):

Integração RM x SmartLink - Visão desenvolvedor


03. Tentativas de execução da mensagem em caso de erro

Caso ocorra erro na execução de alguma mensagem, a mesma será executada novamente em outro momento. A quantidade de tentativas de execução é parametrizada no json de configurações genérico da integração TotvsApp. Esse json, chamado "totvsAppConfig_v2.json",  está localizado na plataforma GCP (Google Cloud Platform).

...

O valor calculado em "HoraProximaTentativaExecucao" é gravado na coluna "GTotvsLinkMessage.DataTentativaExec" da mensagem em questão. Portanto, a próxima execução dessa mensagem acontecerá somente após essa data/hora calculada. 

Todos os logs de execução das mensagens Smart Link Client são gravados na tabela GTotvsLinkLog. Essa tabela contém os seguinte atributos:

ColunaDescrição
IDChave primária da tabela. Identificador único do Log.
IDMENSAGEM

Identificador único da mensagem relacionada a mensagem gravada em "GTotvsLInkMessage.ID". É através desse campo

que o usuário poderá filtrar todos os logs de uma determinada mensagem.

LOGTYPE

0 - Mensagem de informação

1 - Mensagem de aviso

2 - Mensagem de erro

LOGMENSAGEMTexto contendo o log
LOGDATEData de geração do Log
DATADEBUGInformações extras do log

05. Modelo de dados do RM SmartLink client



Tabela
GTOTVSLINKMESSAGE

Tabela utilizada para armazenar todas as mensagens geradas e enviadas para execução pelo Smart Link Client.

Sempre que uma mensagem é executa com sucesso, a linha referente a mensagem é excluída

dessa tabela , deixando essa tabela sempre leve. Esse procedimento melhora a performance do processo,

visto que vários "updates" são realizados nessa tabela. Quanto menor o volume de uma tabela, mais rápido

serão as operações do update e detele.

GTOTVSLINKMESSAGEEXEC

Tabela contendo todos os dados de execução de uma determinada mensagem. O conteúdo dessa tabela nunca será excluído,

ficando portanto como um histórico de execução. Porém, essa tabela poderá ter um volume muito grande.

Sendo assim, seria importante de tanto em tanto tempo mensagens muito antigas serem excluídas dessa tabela.

GTOTVSLINKLOGTabela contendo todos os logs de execução de uma mensagem. O conteúdo dessa tabela nunca será excluído,

ficando portanto como um histórico de log de execução. Porém, essa tabela poderá ter um volume muito grande.

Sendo assim, seria importante de tanto em tanto tempo logs muito antigos serem excluídos dessa tabela.