Conteúdo



01. Objetivo

Esta documentação tem a finalidade de servir como uma guia 

Para tanto, abaixo seguem as instruções para que a integração seja realizada corretamente.



02. Informações

O produto Datasul faz o uso do Smart Link, que é um mecanismo de troca de mensagens entre aplicações TOTVSApps e aplicações On Premises (ou remotas).

  • Foi utilizada a biblioteca Smart Link Client Java, que por meio deste foi implementado o processador de mensagens.
  • O processador de mensagens é uma aplicação java 

Obtenha informações (client, secret, name e id) do seu tenant para poder realizar as configurações necessárias nos próximos passos. 




03. Instalação


A instalação do smartlink-service deve ser única por instância do ERP. Caso exista mais de um serviço apontando para um broker appserver que esteja conectado ao mesmo banco EMSFND poderão ocorrer divergências inesperadas.

Copiar arquivo compactado

O arquivo está localizado no diretório do Foundation fnd/interfac/smartlink-service/smartlink-service.zip


Extrair os arquivos do arquivo compactado

Extrair os arquivos em um diretório de sua escolha. 

Exemplo:

  • Como resultado temos a estrutura abaixo:
    • C:/TOTVS/smart-link-client/README.txt
    • C:/TOTVS/smart-link-client/client/application.yml
    • C:/TOTVS/smart-link-client/client/smartlink-service.jar
    • C:/TOTVS/smart-link-client/client/log
    • C:/TOTVS/smart-link-client/service/Windows/install.bat
    • C:/TOTVS/smart-link-client/service/Windows/JavaService.exe
    • C:/TOTVS/smart-link-client/service/Windows/uninstall.bat
    • C:/TOTVS/smart-link-client/service/Linux/install.sh
    • C:/TOTVS/smart-link-client/service/Linux/SmartLinkClient.service
    • C:/TOTVS/smart-link-client/service/Linux/SmartLinkClient.sh
    • C:/TOTVS/smart-link-client/service/Linux/start.sh
    • C:/TOTVS/smart-link-client/service/Linux/stop.sh
    • C:/TOTVS/smart-link-client/service/Linux/uninstall.sh

Instalador de serviço para Windows

Editar o arquivo "/service/Windows/install.bat"

Edite LINK_CLIENT respeitando o diretório onde foi descompactado o smart-link-client

:default
@echo on

chcp 65001

set LINK_CLIENT=C:/TOTVS/smart-link-client/client

JavaService.exe -install "TOTVS-SMART-LINK-CLIENT" "%JAVA_HOME%/bin/server/jvm.dll" -Djava.class.path="%LINK_CLIENT%/smartlink-service.jar" -start org.springframework.boot.loader.JarLauncher -err "%LINK_CLIENT%/log/smart-link-client_err.log" -current "%LINK_CLIENT%" -manual -description "TOTVS DATASUL SMART LINK CLIENT"

@echo off

:eof

@echo .
@echo .
@echo .
PAUSE.
  • Por padrão temos o nome do serviço definido como "TOTVS-SMART-LINK-CLIENT"
  • Sugerimos o uso do nome do seu tenant para complementar e facilitar a organização do serviço.
  • A descrição do serviço pode ser alterada por meio do parâmetro -description.
  • Deve ser utilizado JAVA 11
  • No arquivo estamos utilizando o %JAVA_HOME% como padrão, caso necessário faça a alteração para utilizar a sua variável de ambiente já existente.
  • Os parâmetros -Djava.class.path, -current e -err fazem o uso do valor informando em LINK_CLIENT (ajustar para o diretório definido nas etapas anteriores).

Instalação do serviço:

  • Execute Prompt de Comando como administrador
  • Execute o arquivo "/service/Windows/install.bat"

Desinstalador de serviço para Windows

Editar o arquivo "/service/Windows/uninstall.bat"

  • Informe o nome do serviço definido na etapa anterior (Instalador de serviço para Windows)

Desinstalação do serviço:

  • Execute Prompt de Comando como administrador
  • Execute o arquivo "/service/Windows/uninstall.bat"

Instalador de serviço para Linux


Para a instalação do serviço no Linux certifique-se de que os passos a seguir foram realizados:

  1. Definir a descrição do serviço:
    1. Edite o arquivo "service/Linux/SmartLinkClient.service", localizado no local onde o projeto foi extraído, e informe no atributo "Description", a descrição do serviço:
    2. Por padrão temos o nome do serviço definido como "TOTVS-SMART-LINK-CLIENT"
    3. Sugerimos o uso do nome do seu tenant para complementar e facilitar a organização do serviço.
  2. Configurar o arquivo application.yml
    1. Veja a sessão 04 deste documento.
  3. Editar o arquivo "/service/Linux/install.sh" localizado onde o projeto foi extraído.
    1. Informar na variável PATH_SOURCE_SMART_LINK_CLIENT, localizado na linha 13, o local onde o projeto foi extraído.


#!/bin/bash

ERRO="A instalação do Smart Link Client encontrou problema(s). Verifique o(s) aviso(s) acima."

checkCommandError(){
        if [ $? -ne 0 ]; then
		echo ""
		echo "$ERRO"
		exit 0
        fi
}

PATH_SOURCE_SMART_LINK_CLIENT="local-onde-foi-extraido/smart-link-client"
PATH_SMART_LINK_CLIENT="/usr/local/smart-link-client"

checkCommandError

echo "Instalação do Smart Link Client"

echo 'Copiando SmartLinkClient.service para /etc/systemd/system'
sudo cp -p "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/SmartLinkClient.service" /etc/systemd/system/SmartLinkClient.service
checkCommandError

echo 'Copiando SmartLinkClient.sh para /usr/local/bin' 
sudo cp -p "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/SmartLinkClient.sh" /usr/local/bin/SmartLinkClient.sh
checkCommandError

echo 'Concedendo permissao para execucao'
sudo chmod +x /usr/local/bin/SmartLinkClient.sh
checkCommandError

sudo mkdir "$PATH_SMART_LINK_CLIENT"
checkCommandError

sudo mkdir "$PATH_SMART_LINK_CLIENT/client"
checkCommandError

echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/client para $PATH_SMART_LINK_CLIENT" 
sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/client/" "$PATH_SMART_LINK_CLIENT"
checkCommandError

sudo mkdir "$PATH_SMART_LINK_CLIENT/service"
checkCommandError

echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/start.sh para $PATH_SMART_LINK_CLIENT/service" 
sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/start.sh" "$PATH_SMART_LINK_CLIENT/service"
checkCommandError

echo "Copiando $PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/stop.sh para $PATH_SMART_LINK_CLIENT/service"
sudo cp -r "$PATH_SOURCE_SMART_LINK_CLIENT/service/Linux/stop.sh" "$PATH_SMART_LINK_CLIENT/service"
checkCommandError

echo 'Habilitando SmartLinkClient ...'
sudo systemctl enable SmartLinkClient
sudo systemctl daemon-reload

echo 'Iniciando SmartLinkClient ...'
sudo systemctl start SmartLinkClient
echo 'Fim da instalacao.'


Instalando o serviço:

  • Abra um terminal e execute o arquivo "/service/Linux/install.sh", que está localizado onde o projeto foi extraído.

  • O comando ficaria como: sudo bash /"local-onde-projeto-foi-extraido"/smart-link-client/service/Linux/install.sh
  • O script de instalação fará a inicialização do serviço automaticamente.
  • Start e Stop manuais:
    • Caso necessite interromper ou inicial o serviço manualmente. 
    • para iniciar o serviço, execute:
      • sudo bash /usr/local/smart-link-client/service/start.sh
    • para parar o serviço, execute:
      • sudo bash /usr/local/smart-link-client/service/stop.sh

  • O diretório ao qual o projeto foi extraído não é o mesmo local onde o projeto será instalado:
  • A instalação do smart-link-client será em /usr/local/
  • Após a instalação, o projeto extraído torna-se necessário somente para a execução do script de instalação e desinstalação, uma vez que os demais arquivos foram copiados para o destino /usr/local/smart-link-client
  • A saída de logs do smart-link-client ocorrerá no diretório em que foi instalado, no caso, /usr/local/smart-link-client/client/log


Desinstalador de serviço para Linux

  • Abra um terminal e execute o arquivo "/service/Linux/uninstall.sh", que está localizado onde o projeto foi extraído.
  • O comando ficaria como: sudo bash /"local-onde-projeto-foi-extraido"/smart-link-client/service/Linux/uninstall.sh
  • Ao desinstalar o serviço, a pasta /usr/local/smart-link-client será removida

04. Configuração


Arquivo de configuração application.properties

Utilizando a pasta de exemplo dos passos anteriores, podemos encontrar o arquivo em: "/client/application.properties"


Alteração Obrigatória. 

Deve ser preenchido com o nome do servidor de aplicação que atenderá as requisições. Pode ser preenchido com informação de um servidor de aplicação já utilizado no ERP. 

totvs.appserver=http://SERVIDOR:PORTA/apsv

Alteração opcional.

A propriedade já possui um valor padrão.


Porta que será utilizada para subir o serviço. Esta propriedade é opcional, e caso não seja preenchida será assumida a porta padrão 8080.

server.port=8777

Alteração opcional.

A propriedade já possui um valor padrão.

Sub-diretório de geração dos logs, com base no diretório raiz onde foi instalado o smartlink-service. Exemplo: C:\totvs\smartlink-service.

logging.file.name=log/smartlink-service.log

Alteração opcional.

A propriedade já possui um valor padrão.

Limite de tamanho de cada arquivo de log, após alcançar o limite é criado um novo arquivo. Arquivos de logs anteriores são mantidos no diretório.

logging.file.max-size=100MB

05. Iniciar o serviço instalado

Após concluir as etapas anteriores, basta iniciar o serviço instalado e verificar no arquivo de log se a aplicação foi iniciada com sucesso.

Starting Application

INFO