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.

...

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

Exemplo de uso:


                                                             

...

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


Como obter um token no rac

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


Realizando o setup de comandos 

https://link.staging.totvs.app/api/v1/link/setup

Envio de mensagens para o smart link server

https://link.staging.totvs.app/api/v1/link/send

Busca de mensagens da fila do smart link server

https://link.staging.totvs.app/api/v1/link/get

Retirar uma mensagem da fila do smartLink server

https://link.staging.totvs.app/api/v1/link/ack

02. SmartLinkClient (RM)

Foi implementado no 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 ocorre através de chamadas Rest em api's disponbilizadas pelo componente Smart Link Server.

Para ocorrer essa comunicação, o usuário receberá por e-mail duas chaves chamadas "clientId" e "clientSecret". Essas chaves são geradas através de um serviço de provisionamento do cliente (tenant) na plataforma.

Após obter essa chave, o usuário deverá acessar o RM.exe, e executar um assistente chamado "Ativação Totvs Apps", localizado em "Integração/Totvs Apps", conforme imagem abaixo.

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

Image Added


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

Para cada execução desse job, o serviço de pooling do "SmartLinkClient" será chamado. Sendo assim, nesse momento, todas mensagens de Upstream (mensagens a serem enviadas para a plataforma SmartLilnkServer) serão enviadas, e todas as mensagens de Downstream (mensagens a serem executadas pelo RM) serão baixadas e executadas.

As equipes dos segmentos, são as responsáveis em publicar e consumir mensagens. Esse detalhamento está disponível no linkPara que uma classe seja um consumidor de mensagens no SmartLink, deve-se atender aos pré-requisitos listados abaixo:


Pré-requisitos

  1. Criar um projeto (classLibrary .NET) na solution do segmento em questão, com o seguinte padrão de nome: RM.[Segmento].XXX.SmartLink.Service.
    1. Exemplo: RM.Glb.SGDP.SmartLink.Service.dll
  2. Adicionar referência para a dll "RM.Lib.SmartLink.dll";
  3. Criar uma classe herdando da ancestral "RMSSmartLinkConsumerMessageBase".

  4. A classe "RMSSmartLinkConsumerMessageBase" herda da classe RMSObject da Lib. Consequentemente, as classes de "consumers" poderão chamar os métodos

...

A hora de execução dessa próxima tentativa de execução é calculada baseada em algumas informações conforme os atributos abaixo:



FatorTempoExecucaoLocalizado no arquivo de configuração: "totvsAppConfig_v2.json"
QtdeTentativasExecLocalizado no arquivo de configuração: "totvsAppConfig_v2.json"
MinutesIntervalLocalizado no arquivo de configuração: "totvsAppConfig_v2.json"
QtdeTentantivaExecCorrenteValor recuperado da tabela "GTotvsLinkMessage.QtdeTentativaExec". Para cada mensagem, o valor desse campo é incrementado conforme a sua tentantiva de execução
DataHoraCorrenteRepresenta a hora corrente no momento do cálculo da próxima execução


Informações

QtdMinutos = MinutesInterval * FatorTempoExecucao * QtdeTentativasExec * QtdeTentantivaExecCorrente

HoraProximaTentativaExecução = DataHoraCorrente.AddMinutes(QtdMinutos)

...

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

ColunaDescrição
IDIdentificador único do Log
IDMENSAGEMIdentificador único da mensagem relacionada a mensagem gravada em "GTotvsLInkMessage.ID"
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 todos as mensagens geradas e enviadas para execução pelo SmartLink.

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.Quando menor o volume de uma tabela, mais rápido

será a operação do update.

GTOTVSLINKMESSAGEEXEC

Tabela contendo todos os dados de execução de uma determinada mensagem.


GTOTVSLINKLOGTabela contendo todos os logs de execução de uma mensagem.