Árvore de páginas

Conteúdo



01. Pré-requisitos



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.


02. Instalação


smartlink-service

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

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

Exemplo
C:/TOTVS/smart-link-client/client/application.properties
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

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"

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


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.properties
    1. Veja a sessão 03 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

Atençã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


  • 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

03. Configuração


Arquivo de configuração application.properties



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

Alteração Obrigatória. 

Deve ser preenchido com o nome do servidor de aplicação Progress que atenderá as requisições.

Pode ser preenchido com informação de um servidor de aplicação Progress já utilizado no ERP.


server.port=8777

Alteração opcional. 

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

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.


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

Alteração opcional.

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

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.logback.rollingpolicy.max-file-size=100MB

Alteração opcional.

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

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.


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

Log de exemplo
INFO 19980 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8777 (http)
INFO 19980 --- [main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
INFO 19980 --- [main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
INFO 19980 --- [main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2435 ms
INFO 19980 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8777 (http) with context path ''
INFO 19980 --- [scheduling-1] com.totvs.link.client.Waiter     : Running...
INFO 19980 --- [main] c.t.f.d.s.s.SmartLinkServiceApplication  : Started SmartLinkServiceApplication in 6.464 seconds (JVM running for 10.737)
INFO 19980 --- [grpc-default-executor-0] com.totvs.link.client.LinkService: Server is ON
INFO 19980 --- [grpc-default-executor-0] com.totvs.link.client.LinkService: Server completed
INFO 19980 --- [grpc-default-executor-0] com.totvs.link.client.LinkService: Client setup
INFO 19980 --- [grpc-default-executor-2] com.totvs.link.client.LinkService: Client setup result: true
INFO 19980 --- [grpc-default-executor-2] com.totvs.link.client.LinkService: Wait for messages
INFO 19980 --- [grpc-default-executor-1] com.totvs.link.client.LinkService: Client setup completed
INFO 19980 --- [grpc-default-executor-0] com.totvs.link.client.LinkService: Wait for messages