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

Pré-requisitos


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.


02. Instalação


smartlink-service

Expandir
titleProcedimento
  • Copiar arquivo compactado que está localizado no diretório do
Foundation
  • 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:(No exemplo utilizamos o C:/TOTVS/smart-link-client/README.txt).
Bloco de código
languagetext
themeRDark
titleExemplo
C:
/
\TOTVS
/smart-link-client/client/application.ymlC:/TOTVS/smart-link-client/client/
\smartlink-service\client\application.properties
C:\TOTVS\smartlink-service\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
    \smartlink-service\client\log
     
    C:\TOTVS\smartlink-service\service\Linux\install.sh
    C:\TOTVS\smartlink-service\service\Linux\start.sh
    C:\TOTVS\smartlink-service\service\Linux\stop.sh
    C:\TOTVS\smartlink-service\service\Linux\uninstall.sh
     
    C:\TOTVS\smartlink-service\service\Windows\install.bat
    C:\TOTVS\smartlink-service\service\Windows\JavaService.exe
    C:\TOTVS\smartlink-service\service\Windows\start.bat
    C:\TOTVS\smartlink-service\service\Windows\stop.bat
    C:\TOTVS\smartlink-service\service\Windows\uninstall.bat



    Windows

    Expandir
    titleInstalador de serviço para Windows
    • Abrir Prompt de Comando como administrador na pasta \"local-onde-projeto-foi-extraido"\smartlink-service\service\Windows\
    • Executar o script install.bat passando como parâmetro o caminho completo até a pasta client, nome do serviço e porta, respectivamente.

    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
      language
    bash
    • text
      themeRDark
    :default @echo on chcp 65001 set LINK_CLIENT=C:/TOTVS/smart-link-client/client JavaService.exe -install "
    • .\install.bat C:\TOTVS\smartlink-service\ 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.
    •  8777


    Descrição
    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
    title
    • do serviço
    • A descrição do serviço pode ser alterada por meio do parâmetro -description.
    Expandir
    titleJAVA
    • Deve ser utilizado JAVA 11No 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., definindo o caminho na variável de ambiente JAVA_HOME

    Instalação do serviço:

    • Execute Prompt de Comando como administrador
    • Execute o arquivo "/service/Windows/install.bat"
    Expandir
    titleStart e Stop manuais
    • Abrir Prompt de Comando como administrador na pasta \"local-onde-projeto-foi-extraido"\smartlink-service\service\Windows\
      • para iniciar o serviço, execute o script de start passando o nome do serviço:

        Bloco de código
        languagetext
        themeRDark
        titleExemplo
        .\start.bat TOTVS-SMART-LINK-CLIENT
      • para encerrar o serviço, execute o script de stop passando o nome do serviço:

        Bloco de código
        languagetext
        themeRDark
        titleExemplo
        .\stop.bat TOTVS-SMART-LINK-CLIENT
    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).
    Expandir
    titleDesinstalador de serviço para Windows
    • Abrir Prompt de Comando como administrador na pasta \"local-onde-projeto-foi-extraido"\smartlink-service\service\Windows\
    • Executar o script uninstall.bat passando como parâmetro o nome do serviço.

      Bloco de código
      languagetext
      themeRDark
      .\uninstall.bat TOTVS-SMART-LINK-CLIENT

    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

    #!/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="
    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:

  • 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.
  • Configurar o arquivo application.yml
    1. Veja a sessão 04 deste documento.
  • configurar o arquivo application.properties antes, veja a sessão 03 deste documento

    • Abrir terminal no diretório  \"local-onde-o-projeto-foi-extraido"\smartlink-service\service\Linux
    • Dar permissão de iniciar serviços para o arquivo install.bat  e executa-lo passando como parâmetro o caminho completo até a pasta client, nome do serviço e porta, respectivamente

    Editar o arquivo "/service/Linux/install.sh" localizado onde o projeto foi extraído.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
      language
    bash
    • text
      themeRDark
    firstline
    • title
    1
    linenumberstrue
    Exemplo
    chmod +x install.sh
    sudo bash install.sh /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.'
    • / 'TOTVS-SMART-LINK-CLIENT' 8777
    • O script de instalação fará a inicialização do serviço automaticamente.


    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
    titleJAVA
    • Deve ser utilizado JAVA 11, definindo o caminho na variável de ambiente JAVA_HOME
      • para iniciar o serviço, execute o script de start passando o nome do serviço:

    Expandir
    titleStart e Stop manuais
    • Abrir terminal no diretório

    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
    Bloco de código
    languagetext
    themeRDark
    titleExemplo
    sudo bash start.sh 'TOTVS-SMART-LINK-CLIENT'
  • para encerrar o serviço, execute o script de stop passando o nome do serviço:

    Bloco de código
    languagetext
    themeRDark
    titleExemplo
    sudo bash stop.sh 'TOTVS-SMART-LINK-CLIENT'
  • 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 /"

      Abrir terminal no diretório /"local-onde-projeto-foi-extraido"/smart-link-client/service/Linux/

    • execute o script de uninstall

      .sh
    • Ao desinstalar o serviço, a pasta /usr/local/smart-link-client será removida
    • passando o nome do serviço

      Bloco de código
      languagetext
      themeRDark
      titleExemplo
      sudo bash uninstall.sh 'TOTVS-SMART-LINK-CLIENT'

    03

    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"


    Bloco de código
    languageyml
    themeRDark
    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. 

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

    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.logback.
    file
    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.


    05

    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.

    Bloco de código
    themeRDark
    titleLog 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