Á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 146 Próxima »

Informações importantes

  • 🚨 O WebAgent é compatível com o WebApp 9.0 ou superior e o Application Server 20.3.0.x (Harpia) ou superior.
  • 🚨 Para utilizar o WebApp 9.0 na release 12.1.33 é necessário atualizar seu ambiente com a Lib Protheus 20221010 ou superior.
  • 🚨 O WebAgent ainda passará por homologação para uso com o Logix. (informação atualizada em Out/2022)

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



WebAgent (topo)


O WebAgent é um serviço que permite ao Smartclient WebApp os mesmos acessos à estação de trabalho do SmartClient Desktop, dentre eles:

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

Consulte a lista dos navegadores homologados para o SmartClient WebApp.


As vantagens do WebAgent em conjunto com o WebApp (topo)


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


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:

  • web-agent -h ou --help
    • Exibe help com essas opções
  • web-agent -c ou --console
    • Abre o Agente em console e não no systray, nesse exemplo abrimos em console e alteramos a porta padrão (21021) para 21023:
      • web-agent -c --port 21023
  • web-agent -v ou --version
    • Exibe a versão do Agente
  • web-agent -t ou --tray
    • Abre o agent via systray
  • web-agent --locallog 1
    • Habilita a geração de log de execução do Agente
  • web-agent --locallog 0
    • Desabilitar o log de execução


Dica importante

É possivel também abrir diretamente uma janela do navegador a partir do WebAgent. No exemplo abaixo, em Window e Linux, será aberto o SIGAFAT.

Apenas para o exemplo, na mesma linha de comando foram preenchidos os parâmetros de abertura (&A=), artificio muito usado, por exemplo, no SIGALOJA, e muito útil em algumas customizações.

Sintaxe:

webagent launch "ip+porta+*parâmetros" --browser="caminho para o navegador"
*Parâmetros são opcionais.

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.


A evolução do WebApp (topo)


O WebAgent irá trabalhar em conjunto com o SmartClient WebApp versão 9.0.0 ou superior.

O Front-end do WebApp 9.0.0 foi reescrito utilizando o conceito de Web Components, trazendo melhorias significativas de performance, e uma experiência mais fluida no uso do nosso ERP a partir dos navegadores.


Segurança (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 muito 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 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.


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


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

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

Cenário 1

Utilizar o Windows 64 bits, porém ferramentas 32 bits (exemplos abaixo), nesse caso será necessária a instalação do WebAgent 32 bits para integração.

  • 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).

Nesta caso, é possível instalar as duas versões do WebAgent, 32 e 64 bits, e executá-las em portas separadas, 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 precisasse 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 da/s DLL/s de alguma ferramenta que utilize, acione o suporte do equipamento ou ferramenta em questão.


Instalação (topo)


Para o Administrador do Sistema

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

WebAgent com uso da chave HideParamsForm do AppServer.ini

Como o instalador do WebAgent é exibido na Tela de Parâmetros, será necessário ajustes caso utilize a chave HideParamsForm, para informações de como proceder clique aqui.

1. Definindo no appserver.ini o arquivo que conterá os instaladores para download

🚨 No nosso 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 então 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

2. Criando o arquivo webagent.json

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

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

🚨 Importante: 
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.

Importante

🚨 A propriedade version: define a versão dos instaladores do WebAgent disponíveis pra download, dois pontos importantes:

  • Sempre que atualizar os instaladores é necessário também atualizar a versão no arquivo json;
  • O versão pode ser alterada tanto para update quanto para downgrade, caso seja necessário.

As Tags abaixo representam o Sistema Operacional e a Arquitetura do WebAgent, as opções sã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 (Debian, Ubuntu, etc)
    • linux_x64_rpm: linux 64 bits pacote RPM (Red Hat, Suse, Fedora, etc)

Exemplo de Configuração do WebAgent (webagent.json) - AppServer Windows
{
    "version": "1.0.0",
   
    "windows_x86": "webagent\\web-agent-1.0.0-windows-x86-release.setup.exe",
    "windows_x64": "webagent\\web-agent-1.0.0-windows-x64-release.setup.exe",

    "darwin_universal": "20-10-10-p12_smartclient_web-agent_1.0.0_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.0.0",
   
    "windows_x86": "webagent/web-agent-1.0.0-windows-x86-release.setup.exe",
    "windows_x64": "webagent/web-agent-1.0.0-windows-x64-release.setup.exe",

    "darwin_universal": "20-10-10-p12_smartclient_web-agent_1.0.0_mac-universal.dmg",

    "linux_x64_deb": "webagent/web-agent.deb",  
    "linux_x64_rpm": "webagent/web-agent.rpm"
}

3. Habilitar automáticamente uma porta para o WebAgent de todos os usuários 

É possivel habilitar automáticamente uma porta para o WebAgent de todos os seus usuários, impedindo que ele altere esta configuração.

Basta insterir o parâmetro AgentPort na configuração do WebApp, no arquivo AppServer.ini, no exemplo abaixo configuramos a porta 21021 como padrão,

Trecho do arquivo AppServer.ini
[WebApp]
Port=5002
ENABLE=1
AgentPort=21021

Após 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.

🚨 Após a configuração deve-se reiniciar o/s AppServer/s.

Para o usuário do ERP


Pré-Requisitos


Resultado de imagem para logo redhat Red hat 8.0 ou superior

É necessário instalar a biblioteca libappindicator, para tanto utilize o comando abaixo:

Instalação da libappindicator
sudo dnf install libappindicator-gtk3

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


Importante

🚨O Popup para instalação do WebAgent deixará de ser exibido assim que a primeira conexão entre ele 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" deve 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, caso utilize o Windows 64 bits, mas possua o Microsoft Office 32 bits, poderá instalar o WebAgent 32 bits para garantir essa integração, mais detalhes aqui.

Após o download do arquivo, 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 SmartClient WebApp irá iniciar o WebAgent sempre que necessário a partir deste momento, mais detalhes consulte a seção Habilitar WebAgent na Tela de Parâmetros.

Apenas para testes, você pode iniciar a aplicação, será exibido o ícone na bandeja, como no exemplo abaixo.


Registro do Certificado (SSL) para uso do WebAgent (topo)


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

 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:
Na primeira execução do WebAgent, caso seja apresentada a tela de confirmação para o registro do certificado, selecione a opção Sim.

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

   Resultado de imagem para logo redhat Red Hat

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

    • Para o Microsoft Edge:

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


    Importante

    Atente-se à utilização dos certificados disponibilizados na pasta de instalação do WebAgent, não utilize os certificados da pasta de instalação do AppServer


Habilitar WebAgent na Tela de Parâmetros (topo)


Para habilitar o uso do WebAgent pelo SmartClient 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.


Sistemas Operacionais homologados (topo)


O WebAgent estará 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 20.04 LTS ou superior
    • Resultado de imagem para logo redhatRed Hat Enterprise Linux Desktop 8.0 ou superior

  • Resultado de imagem para logo apple 2020 png macOS
    • Para a arquitetura x86_64
      • macOS 11.0 Big Sur ou superior.

    • Para a arquitetura Universal (ARM64 e x86_64)
      • macOS 12.2 Monteray ou superior
      • A tentativa de utilizar a versão Universal em masOS anterior resultará no erro abaixo:


Não homologado para uso em Metaframes

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

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

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


Exemplos de uso (topo)


Nesta seção listamos alguns exemplos de integração possíveis através do WebAgent:


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