Á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


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

Expandir
titleProcedimento

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

Expandir
titleProcedimento

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"

Desinstalador de serviço para Windows

Expandir
titleProcedimento

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

Expandir
titleProcedimento


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


Desinstalador de serviço para Linux

Expandir
titleProcedimento
  • 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

Arquivo de configuração application.properties.

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


# SERVERPORT

A porta de acesso da aplicação do serviço pode ser alterado na propriedade:

Bloco de código
languageyml
themeRDark
server.port=8777
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.server.server.port


# LOG

O nome do arquivo de log pode ser alterado na propriedade:

Bloco de código
languageyml
themeRDark
logging.file.name=log/smartlink-service.log
https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties.core.logging.file.name


# APPSERVER

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

05. Iniciar o serviço instalado

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

Starting Application

Bloco de código
themeRDark
INFO 15788 --- [main] com.totvs.link.client.Application        : Starting Application v12.1.34-NFRW-SNAPSHOT on 00000 with PID 15788 (C:\TOTVS\smart-link-client\client\smart-link-client.jar started by 00000$ in C:\TOTVS\smart-link-client\client)
INFO 15788 --- [main] com.totvs.link.client.Application        : No active profile set, falling back to default profiles: default
INFO 15788 --- [main] com.totvs.link.client.LinkService        : *** Connecting to server (link.staging.totvs.app:443)
INFO 15788 --- [main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
INFO 15788 --- [main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8777
INFO 15788 --- [main] com.totvs.link.client.Application        : Started Application in 4.994 seconds