Árvore de páginas

Versões comparadas

Chave

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

Conteúdo

Índice
minLevel2


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


Aviso

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.

smartlink-service

Expandir
titleProcedimento

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

Extrair os arquivos do arquivo compactado 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.ymlproperties
    • 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

Windows

Expandir
titleInstalador 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

Bloco de código
languagebash
themeRDark
: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.
Expandir
titleNome do serviço
  • 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.
Expandir
titleDescrição do serviço
  • A descrição do serviço pode ser alterada por meio do parâmetro -description.
Expandir
titleJAVA
  • 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.
Expandir
title Parâmetros
  • 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"
Expandir
titleDesinstalador 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"

Linux

Expandir
titleInstalador 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.


Bloco de código
languagebash
themeRDark
firstline1
linenumberstrue
#!/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

Informações
titleAtenção
  • 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


Expandir
titleDesinstalador 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. 

Bloco de código
languageyml
themeRDark
totvs.appserver=http://SERVIDOR:PORTA/apsv




Alteração opcional. 

A propriedade já possui um valor padrão informado no arquivo.

Bloco de código
languageyml
themeRDark
server.port=8777

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



Alteração opcional.

A propriedade já possui um valor padrão informado no arquivo.

Bloco de código
languageyml
themeRDark
logging.file.name=log/smartlink-service.log

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.



Alteração opcional.

A propriedade já possui um valor padrão informado no arquivo.

Bloco de código
languageyml
themeRDark
logging.file.max-size=100MB

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.


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.

Bloco de código
themeRDark
INFO