Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 293 Próxima »

Informações importantes

📢 Assista esse episódio do Explica aí pra Gente! para conhecer mais sobre a configuração e utilização do WebAgent.


O que é o WebAgent (topo)


O WebAgent é um serviço opcional necessário "apenas" nas estações de trabalho que precisem utilizar:

  • Leitura e gravação de arquivos locais;
  • Integração com o pacote Microsoft Office;
  • Consumo de DLLs (Windows), SOs (Linux) e Dylibs (MacOS), mais informações consulte ExecInDllOpen.

Para uso das rotinas padrão, como cadastros e relatórios, não existe impedimento no uso do ERP sem a utilização do WebAgent.


Pensado pra ser seguro (topo)


Os navegadores atuais possuem um ambiente de execução segura, chamado Sandbox, que impede o acesso ao dispositivo.

O WebAgent permite esses acessos de forma segura, utilizando os seguintes mecanismos:

  • Conexão entre o navegador e o WebAgent exclusivamente via Websocket Secure (wss);
  • Conexão entre o navegador e o WebAgent exclusivamente através do endereço localhost, bloqueando ataques a partir de IPs externos;
  • Uso do mesmo protocolo de comunicação utilizado entre SmartClient Desktop e o Appserver, um motor utilizado a mais de 20 anos, e conhecidamente seguro.


Vantagens no uso do WebAgent em conjunto com o WebApp (topo)


  • Simplificação na montagem de ambientes;
  • Instalação e atualização mais rápida, devido ao menor numero de arquivos do WebAgent;
  • Ambiente HTML (navegador) sempre atualizado, preparado para os mais novos Frameworks de mercado.


Instalação (topo)


Para o administrador do sistema (topo)

Para disponibilizar a opção de download do WebAgent para seus usuários na Tela de Parâmetros do WebApp é necessário configurar a origem dos instaladores.

📢  Em builds do WebApp iguais ou superiores à 9.0.3 é recomendável configurar o download do WebAgent à partir do arquivo AppServer.INI.
       Caso ele não seja definido, será utilizada a configuração à partir do arquivo WebAgent.json.

🚨 Após alterar as configurações abaixo é necessário reiniciar o/s AppServer/s.

1. Configurando o download do WebAgent a partir do arquivo AppServer.INI (recomendável) (topo)

Para consultar todas as opções de configuração acesse esse link.

ParâmetroDescriçãoObservações
VERSION
Define a versão dos instaladores do WebAgent disponíveis pra download
  • Sempre que atualizar os instaladores na pasta de download é necessário atualizar também sua versão no arquivo AppServer.INI;
  • O versão pode ser alterada tanto para update quanto para downgrade do WebAgent.
PORT(opcional)

Habilita uma porta específica para o WebAgent de todos os usuários

Essa configuração impede que os usuários alterem a porta do WebAgent.
Exemplo de Configuração do WebAgent via AppServer.INI
[WEBAGENT]
VERSION=1.x.x "<ajuste esta opção com a versão correta do WebAgent que será disponibilizado>"
Windows_x86=C:\totvs\files\web-agent-1.x.x-windows-x86.setup.exe
Windows_x64=C:\totvs\files\web-agent-1.x.x-windows-x64.setup.exe
Darwin_universal=C:\totvs\files\web-agent-1.x.x-darwin-universal.dmg
Linux_x64_deb=C:\totvs\files\web-agent-1.x.x-linux-x64.deb
Linux_x64_rpm=C:\totvs\files\web-agent-1.x.x-linux-x64.rpm

2. Configurando o download do WebAgent a partir do arquivo WebAgent.json (deprecado) (topo)

Neste exemplo utilizaremos o arquivo de configuração com o nome webagent.json, na mesma pasta do AppServer, mas tanto o nome do arquivo quanto o diretório são de sua escolha, ajuste a configuração de acordo com sua necessidade, por exemplo:

agentJsonUpdate=/home/admin/file_config/installers.json

Para definir o caminho dos instaladores inclua o parâmetro agentJsonUpdate na seção [WebApp] em seu arquivo AppServer.INI.

Trecho do arquivo AppServer.ini
[WEBAPP]
Port=5002
ENABLE=1
agentJsonUpdate=webagent.json

Criando o arquivo WebAgent.json

Seguindo nosso exemplo, crie agora o arquivo webagent.json na mesma pasta do AppServer.

Os arquivos para download serão disponibilizados em uma subpasta do AppServer, exemplo: /home/admin/totvs/appserver/webagent/

ParâmetroDescriçãoObservações
VERSION
Define a versão dos instaladores do WebAgent disponíveis pra download
  • Sempre que atualizar os instaladores na pasta de download é necessário atualizar também sua versão no arquivo AppServer.INI;
  • O versão pode ser alterada tanto para update quanto para downgrade do WebAgent.
  • 🚨 Caso esteja utilizando um AppServer Windows é necessário utilizar barras duplas "\\" para configuração do arquivo, pois a primeira barra é considerada um caracter de escape pelo formato .json, e não permitirá o download do instalador.

As Tags abaixo representam o Sistema Operacional e a Arquitetura(32/64 bits) do WebAgent:

ParâmetroDescrição
windows_x86
Windows 10/11 32 bits
windows_x64
Windows 10/11 64 bits
darwin_x64
macOS 64 bits Intel
darwin_universal
masOS 64 bits Universal Apps (mais informações aqui)
linux_x64_deb
Linux 64 bits pacote DEB (Ubuntu)
linux_x64_rpm
Linux 64 bits pacote RPM (Red Hat)

Exemplo de Configuração do WebAgent (webagent.json) - AppServer Windows
{
    "version": "1.x.x",   
    "windows_x86": "webagent\\web-agent-1.x.x-windows-x86-release.setup.exe",
    "windows_x64": "webagent\\web-agent-1.x.x-windows-x64-release.setup.exe",
    "darwin_universal": "20-10-10-p12_smartclient_web-agent_1.x.x_mac-universal.dmg",
    "linux_x64_deb": "webagent\\web-agent.deb",  
    "linux_x64_rpm": "webagent\\web-agent.rpm"
}

Exemplo de Configuração do WebAgent (webagent.json) - AppServer Linux
{
    "version": "1.x.x",   
    "windows_x86": "webagent/web-agent-1.x.x-windows-x86-release.setup.exe",
    "windows_x64": "webagent/web-agent-1.x.x-windows-x64-release.setup.exe",
    "darwin_universal": "20-10-10-p12_smartclient_web-agent_1.x.x_mac-universal.dmg",
    "linux_x64_deb": "webagent/web-agent.deb",  
    "linux_x64_rpm": "webagent/web-agent.rpm"
}

3. Configurando uma porta específica para o WebAgent de todos os usuários (topo)

ParâmetroDescriçãoObservações
PORT(opcional)

Habilita uma porta específica para o WebAgent de todos os usuários

Essa configuração impede que os usuários alterem a porta do WebAgent.
Trecho do arquivo AppServer.ini
[WEBAGENT]
Port=21021
...

Ao habilitar essa chave, a opção "Habilita/Desabilita o Agente Local" não será mais exibida na tela de configuração para o usuário.

Para o usuário do ERP (topo)

Acessando a Tela de Parâmetros do WebApp, agora será exibida a tela para download dos instaladores:

Importante

O popup para instalação deixará de ser exibido assim que a primeira conexão entre o WebAgent e o Navegador for bem sucedida, para que não induza o usuário a instalar mais de uma vez a ferramenta.

O checkbox "Não mostrar novamente" pode ser usado caso o usuário não precise instalar o WebAgent, e também não queira que esta opção continue sendo exibida.

O instalador vai sugerir o Sistema Operacional e a Arquitetura(32/64 bits).
Caso utilize o Windows 64 bits, mas precise integrar o ERP com o Microsoft Office 32 bits, poderá baixar o WebAgent 32 bits, mais detalhes aqui.

Instalando no Windows (topo)

Após o download do instalador, basta iniciar sua instalação, que irá seguir sem intervenção do usuário.

O programa ficará disponível no menu, como neste exemplo utilizando o Windows 11.

O WebApp irá iniciar o WebAgent sempre que necessário, mais detalhes consulte a seção Habilitar WebAgent na Tela de Parâmetros.

Apenas para testes, você pode iniciar o WebAgent manualmente, ele será exibido na bandeja de ícones:

Instalando no Linux (topo)

Após baixar o arquivo para o seu respectivo Linux, sendo o arquivo .deb para Ubuntu e .rpm para o Red Hat.

Ubuntu

No diretório onde o arquivo .deb foi copiado
sudo apt install ./web-agent<versao>.deb
Caso tenha problema durante a instalação, o comando abaixo define o arquivo como um instalador, execute e na sequencia repita o comando acima
sudo chmod +x ./web-agent<versao>.deb

Red hat 8.x

Pré requisito: Necessário instalar a biblioteca libappindicator
sudo dnf install libappindicator-gtk3
No diretório onde o arquivo .rpm foi copiado
sudo dnf install ./web-agent<versao>.rpm
Caso tenha problema durante a instalação, o comando abaixo define o arquivo como um instalador, execute e na sequencia repita o comando acima
sudo chmod +x ./web-agent<versao>.rpm


Registrando o certificado SSL para uso do WebAgent (topo)


Para utilizar o Websocket Secure (wss) é necessário registrar o TOTVS Certificate em seu sistema operacional.

🚨 Importante

Utilize os certificados disponibilizados na pasta de instalação do WebAgent, não utilize os certificados da pasta de instalação do AppServer.

 Para usuários Windows

O registro é automático para Windows 10/11, 32 ou 64 bits, e será efetivado na primeira execução do WebAgent.

🚨 Importante

Durante a primeira execução do WebAgent, caso seja apresentada a tela de confirmação para o registro do certificado, selecione a opção "SIM", "OK" ou "CONFIRMAR", essa opção que pode variar dependendo da versão do Windows em uso.

Dicas para configuração do Firefox

Na configuração do Firefox pode estar desabilitada a utilização de certificados do sistema, causando falha na conexão com o WebAgent, é necessário habilitar os certificados da seguinte maneira:

  • Na barra de navegação digite: about:config


  • Clicar em "Aceitar o risco e continuar"


  • Na barra de pesquisa digite: security.enterprise_roots.enabled e mude a opção para true (verdadeiro) clicando no botão a direita.

Para usuários Linux

    Ubuntu    

  • Após a instalação do WebAgent
  • Localize o arquivo totvs_certificate_CA.crt na pasta /opt/web-agent
  • Acesse seu navegador e efetue o registro:

    Para o Google Chrome

    • Na barra de navegação digite: chrome://settings/certificates
    • Acesse: Authorities (autoridades)
    • Na sequência: Import (importar)
    • Selecione o totvs_certificate_CA.crt na pasta /opt/web-agent
    • Selecione todos os Trusts, e por fim, o botão OK

    Para o Microsoft Edge

    • Na barra de navegação digite: edge://settings/privacy/manageCertificates

    • Acesse: Authorities (autoridades)

    • Na sequência: Import (importar)

    • Selecione o totvs_certificate_CA.crt na pasta /opt/web-agent
    • Selecione todos os Trusts e Okay

    Para o Firefox

    • Na barra de navegação digite: about:preferences#privacy

    • Acesse: View Certificates… (verificar certificados)

    • Acesse: Authorities (autoridades)

    • Na sequência: Import (importar)

    • Selecione o totvs_certificate_CA.crt na pasta /opt/web-agent
    • Selecione todos os Trusts e OK

    Red Hat 8.x

  • Para Google Chrome e Firefox o registro do certificado segue os mesmos passos do Ubuntu.

    Para o Microsoft Edge

    • O Edge utiliza o certificado do Sistema Operacional, proceda da seguinte forma para o registro:

      • Copie o certificado da pasta do web-agent para a pasta de certificados

        • sudo cp /opt/web-agent/totvs_certificate_CA.crt /etc/pki/ca-trust/source/anchors/

      • Registre o certificado

        • sudo update-ca-trust

      • Verifique se o certificado foi instalado
        • trust list | grep TO    
          label: TOTVS certificate CA
  • Acesse os links abaixo para mais informações:

Resultado de imagem para logo apple 2020 png Para usuários macOS

Para mais detalhes acesse a documentação oficial da Apple aqui:

  • Após a instalação do WebAgent
  • Localize o arquivo totvs_certificate_CA.crt na pasta /Applications/web-agent.app/Contents/MacOS
  • No app Acesso às Chaves (keychain access) , selecione as chaves de início de sessão ou de Sistema.
  • Arraste o arquivo do certificado para o app Acesso às Chaves.
  • Configure a confiança do certificado clicando com o botão direito sobre o mesmo e escolhendo a opção Get Info.
    • Expanda a opção Trust e coloque Always Trust para todas as opções disponíveis, conforme as imagens abaixo.
    • Se for solicitado que você forneça um usuário, utilize um usuário com acesso de administrador.

 

🚨 Repita o mesmo processo de registro do certificado acima para o arquivo totvs_certificate.crt, também na pasta /Applications/web-agent.app/Contents/MacOS


Habilitando o WebAgent na Tela de Parâmetros (topo)


Para habilitar o uso do WebAgent pelo WebApp, na Tela de Parâmetros, selecione o botão de configuração.

Escolha a porta de inicialização do WebAgent (por padrão é a 21021).

Na sequencia feche essa janela clicando no X na parte superior da janela de configuração.

Assim que confirmar os dados na Tela de Parâmetros, será exibida a mensagem abaixo, solicitando autorização para abertura do WebAgent, basta clicar no botão Abrir.

Após dez tentativas de conexão mal sucedidas, ou caso a solicitação de autorização seja ignorada, será exibida a seguinte mensagem:


Executando o WebAgent em linha de comando (topo)


O WebAgent pode ser iniciado via linha de comando, os parâmetros podem ser usados em conjunto, as opções são:

ParâmetroDescrição
web-agent -h ou --help

Exibe help com essas opções

web-agent -c ou --console

Inicia o WebAgent em console(linha de comando) omitindo o systray(icone na bandeja), nesse exemplo iniciamos o WebAgent em console na porta 21023:

web-agent -c --port 21023
web-agent -v ou --version

Exibe a versão do WebAgent

web-agent -t ou --tray

Abre o WebAgent via systray (default)

web-agent --locallog <n>

0 (default):  Desabilita o log de execução;
1:
Habilita a geração de log de execução (necessário apenas quando solicitado por nosso Suporte).

Comando launch: Abrindo o navegador diretamente pelo WebAgent (topo)

Permite abrir uma janela destacada do navegador a partir do WebAgent.

Dica importante

Durante a primeira execução com comando launch, a janela pode não ser exibida de forma maximizada, impedindo uma melhor experiência, maximize a janela, e nas próximas execuções o navegador irá respeitar o estado em que foi encerrado.

Importante: O comando launch deve obrigatóriamente ser o primeiro da linha de comando, exemplo:

web-agent launch...

Quando utilizado o comando launch, o WebAgent iniciará em uma porta aleatória, permitindo multiplas execuções, cada uma em sua porta específica.

*Para execução de aplicações que não utilizam interface, como processamentos e execução de jobs, utilize a opção --headless, mais informações acesse aqui.

Sintaxe
webagent launch "ip+porta+[parâmetros<opcional>]" --browser="caminho para o navegador"

Exemplos:

Nos exemplos abaixo será aberto o SIGAFAT e preenchidos os parâmetros de abertura (&A=), artificio utilizado em produtos como SIGALOJA, e útil em algumas customizações.

Exemplo de abertura do WebAgent em linha de comando em Windows
C:\Users\Administrator\AppData\Local\Programs\web-agent\web-agent.exe launch "http://10.173.9.215:5011?E=padrao&P=SIGAFAT&A=param1&A=param2&A=param3" --browser="C:\Program Files\Google\Chrome\Application\chrome.exe"
Exemplo de abertura do WebAgent em linha de comando em Linux
/opt/web-agent/web-agent launch "http://10.173.9.215:5011?E=padrao&P=SIGAFAT&A=param1&A=param2&A=param3" --browser="/usr/bin/microsoft-edge"

Lista de parâmetros disponíveis:

Parâmetro de linha para a URLDescriçãoObservações
&E=
Indica o nome do ambiente que será utilizado para definições gerais.

&P=Identifica o programa inicial que será executado.
&A=Identifica um parâmetro que será passado para o programa inicial.

(seleção) Esse parâmetro de linha pode ser especificado mais de uma vez.

(informação) O valor recebido pelo programa, através do parâmetro de linha, é do tipo caractere.


Comando --headless: Executando aplicações sem interface através do WebAgent (topo)

A partir da versão 1.0.9 do WebAgent será possível executar programas sem interface gráfica, com o objetivo de dinamizar automações, testes e etc.

Nesse modo é recomendado o uso dos navegadores Google Chrome, Microsoft Edge ou Mozilla Firefox

Sintaxe
webagent launch "ip+porta+[parâmetros<opcional>]" --browser="caminho para o navegador" --headless

Exemplos:

O exemplo abaixo executa a função de usuário u_headless em um navegador sem interface gráfica.

Exemplo de execução headless do WebAgent em Windows
C:\Users\Administrator\AppData\Local\Programs\web-agent\web-agent.exe launch "http://10.173.9.215:5011?E=padrao&P=u_headless" --browser="C:\Program Files\Google\Chrome\Application\chrome.exe" --headless
Exemplo de execução headless do WebAgent em Linux
/opt/web-agent/web-agent launch "http://10.173.9.215:5011?E=padrao&P=u_headless" --browser="/usr/bin/microsoft-edge" --headless
Exemplo de execução headless do WebAgent em MacOS
/Applications/web-agent.app/Contents/MacOS/web-agent launch "http://10.173.9.215:5011?E=padrao&P=u_headless" --browser="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless

🚨 Importante

O navegador Safari, no MacOS, não suporta o modo headless.

Dica importante

O Mozilla Firefox, em Linux e modo headless, pode recusar os certificados de autoridade CA já registrados, impossibilitando o uso.

É possível utilizar policies.json do navegador para contornar esse problema:

  • Na pasta de instalação do Firefox (que depende do Linux utilizado, por exemplo /opt/firefox/ ou /usr/lib/firefox/)
  • Localize a pasta distribution
  • Crie nessa pasta um arquivo com o nome de policies.json com o conteúdo abaixo, apontando para o arquivo totvs_certificate_CA.crt da pasta de instalação do WebAgent:
Conteúdo do arquivo distribution\policies.json
{
"policies": {
"Certificates": {
    "ImportEnterpriseRoots": true,
    "Install" [
               "/opt/web-agent/totvs_certificate_CA.crt"
               ]
         }
    }
}

Entendendo as arquiteturas 32 e 64 bits para uso do WebAgent (topo)


O WebAgent para Linux e macOS será distribuido somente na versão 64 bits.

Para Windows ele será distribuido também na versão 32 bits, devido a dois cenários:

Cenário 1

Utilizar o Windows 64 bits, porém ferramentas 32 bits, nesse caso será necessária a instalação do WebAgent 32 bits para integração com:

  • Pacote Microsoft Office 32bits;
  • DLLs 32 bits, para por exemplo, integração de equipamentos, como impressoras, balanças, caixas registradoras, etc.

Cenário 2

Utilizar o Windows 64 bits, o Office 32 bits e uma integração com DLLs 64 bits (o inverso pode ocorrer).

Neste caso é possível instalar as duas versões do WebAgent, 32 e 64 bits, e executá-las em portas diferentes, a partir da configuração da Tela de Parâmetros, usando, por exemplo, o WebAgent 32 bits na porta 21021 e o 64 bits na porta 21022:

🚨 Para que este segundo cenário funcione será necessário abrir duas sessões distintas do WebApp no navegador.
      Mesmo procedimento adotado caso fosse necessário utilizar simultaneamente as versões do SmartClient Desktop 32 e 64 bits.

Mais alguns detalhes sobre arquitetura clique aqui.

Importante

Para verificar a arquitetura de seu pacote Microsoft Office clique aqui ou acione o suporte da Microsoft.

Para verificar a arquitetura das DLLs de alguma ferramenta que utilize, acione o suporte do equipamento ou ferramenta em questão.


Sistemas Operacionais homologados (topo)


O WebAgent não é homologado para navegadores utilizados a partir de Metaframes, RDPs ou Web enablers, como:

  • Citrix;
  • Windows Remote Desktop;
  • Go Global.

Devido à simplificação na montagem do ambiente com o  WebApp, nossa arquitetura não depende das ferramentas acima para operação dos ERPs Protheus/Logix.

O WebAgent não é homologado para sistemas operacionais :

  • ChromeOS
  • iOS
  • iPadOs
  • Android

O WebAgent está disponível para os Sistemas Operacionais:

Window 32 e 64 bits

  • Windows 10 Pro/Enterprise ou superior
  • Windows 11 Pro/Enterprise ou superior

Linux 64 bits

  • Ubuntu 22.04 LTS ou superior
  • Red Hat Enterprise Linux Desktop 8.x

Resultado de imagem para logo apple 2020 png macOS x86_64 e Universal (ARM64 e x86_64) 

  • macOS 12.0 Monterey ou superior

🚨 A tentativa de utilizar a versão Universal em macOS anterior resultará no erro abaixo:


Exemplos de integração utilizando o WebAgent (topo)


Integração com o Microsoft Excel, mais informações aqui. (clique nas imagens para visualização full)


Consumindo uma DLL através da função ExeDllRun3:


Executando uma aplicação nativa através da função ShellExecute:


Retornando as pastas e arquivos de um diretório através da função Directory:


Recuperando a configuração da estação de trabalho através do Shift+F6.



  • Sem rótulos