CODE2
CODE2
CODE2
2024/ Junho
Agenda 2
Introdução WebApp
WebAgent WebMonitor
02 WebApp
6
Webapp Arquitetura 8
Shared WebSocket
Memory WebApp
Navegador
TCP/IP SmartClient
AppServer
48.46
Webapp Arquitetura 9
Shared WebSocket
Memory WebApp
Navegador
TCP/IP SmartClient
AppServer
https://tdn.totvs.com/display/tec/Application+Server+-+Porta+Multiprotocolo
Webapp Porta Multiprotocolo 11
Ao atingir esse limite, o browser bloqueia novas conexões até que uma
das abas anteriores seja fechada.
https://tdn.totvs.com/pages/viewpage.action?pageId=336402713
Comportamento dos links abaixo em relação a esse
http://www.totvs.com/home/index.html
WebEngine+InactiveTimeout
https://tdn.totvs.com/pages/viewpage.action?pageId=706140602
Webapp Apêndices importantes 13
EnvServer/LastMainProg
[WEBAPP]
Port=8080
EnvServer=SQLITE,MSSQL,ORACLE,DEVOPS
LastMainProg=SIGAFAT,SIGAFIN,SIGAEST
HideParamsForm
Oculta a tela de parâmetros iniciais, iniciando o ERP com as opções definidas nas chaves EnvServer e LastMainProg.
[WEBAPP]
Port=8080
HideParamsForm=1
EnvServer=SQLITE
LastMainProg=SIGAFAT
Importante
O download inicial do WebAgent é disponibilizado na tela de parâmetros, sendo
necessário o contorno abaixo quando utilizar o HideParamsForm:
https://tdn.totvs.com/pages/viewpage.action?pageId=307835350
Webapp Apêndices importantes 14
OnlyHostNames
Define se o acesso será feito exclusivamente por nomes de domínio, bloqueando o acesso via IP:
[WEBAPP]
Port=8080
OnlyHostNames=1 => 0=Desligado (default) | 1=Ligado
SetKey no Webapp
https://tdn.totvs.com/display/tec/SetKey+no+Webapp
Webapp Compatibilidade com o Mobile (Tablets) 15
Webapp Transição do Desktop para o WebApp 16
Preparamos um FAQ para facilitar sua transição do SmartClient Desktop para o WebApp.
https://tdn.totvs.com/display/tec/4.+Migrando+do+SmartClient+Desktop+para+o+WebApp
Introdução 17
03 WebAgent
WebAgent Informações importantes 19
Importante:
Para uso das rotinas padrão, como cadastros e relatórios, o WebAgent não é necessário.
https://tdn.totvs.com/display/tec/2.+WebApp+-+WebAgent
WebAgent Configuração 20
[WEBAGENT]
VERSION=1.0.0
Windows_x86=C:\totvs\appserver\webagent\web-agent-1.0.0-windows-x86.setup.exe => Caminho completo
Windows_x64=webagent\web-agent-1.0.0-windows-x64.setup.exe => Caminho relativo à pasta do AppServer
Darwin_universal=webagent\web-agent-1.0.0-darwin-universal.dmg
Linux_x64_deb=webagent\web-agent-1.0.0-linux-x64.deb
Linux_x64_rpm=webagent\web-agent-1.0.0-linux-x64.rpm
https://tdn.totvs.com/display/tec/2.+WebApp+-+WebAgent#id-2.WebAppWebAgent-Instalacao
WebAgent Parâmetros de linha de comando 21
O WebAgent pode ser iniciado via linha de comando, esses parâmetros podem ser
utilizados em conjunto, as opções são:
É possível abrir uma janela sem abas do navegador utilizando o parâmetro launch, essa opção passa a sensação ao usuário de estar rodando
uma aplicação convencional e não o navegador.
É possível também utilizar parâmetros de abertura (&A=), artifício usado, por exemplo, no SIGALOJA, e muito útil em algumas customizações.
Importante: Na primeira vez que o comando "launch" for utilizado, o navegador possivelmente será exibido sem estar maximizado, para
obter uma melhor experiência, recomendamos que você maximize a janela antes de entrar no ERP.
Nas próximas sessões o navegador irá respeitar o estado/tamanho em que foi fechado pela última vez.
Sintaxe:
webagent launch "ip+porta+parâmetros" --browser="caminho para o navegador"
Mais exemplos:
Windows
C:\Users\Administrator\AppData\Local\Programs\web-agent\web-agent.exe launch "http://10.173.9.215:5011"
--browser="C:\Program Files\Google\Chrome\Application\chrome.exe"
Linux
/opt/web-agent/web-agent launch "http://10.173.9.215:5011" --browser="/usr/bin/microsoft-edge"
É possível abrir uma janela sem abas do navegador utilizando o parâmetro launch, essa opção passa a sensação ao usuário de estar rodando
uma aplicação convencional e não o navegador.
É possível também utilizar parâmetros de abertura (&A=), artifício usado, por exemplo, no SIGALOJA, e muito útil em algumas customizações.
Importante: Na primeira vez que o comando "launch" for utilizado, o navegador possivelmente será exibido sem estar maximizado, para
obter uma melhor experiência, recomendamos que você maximize a janela antes de entrar no ERP.
Nas próximas sessões o navegador irá respeitar o estado/tamanho em que foi fechado pela última vez.
Sintaxe:
webagent launch "ip+porta+parâmetros" --browser="caminho para o navegador"
Mais exemplos:
Windows
C:\Users\Administrator\AppData\Local\Programs\web-agent\web-agent.exe launch "http://10.173.9.215:5011"
--browser="C:\Program Files\Google\Chrome\Application\chrome.exe"
Linux
/opt/web-agent/web-agent launch "http://10.173.9.215:5011" --browser="/usr/bin/microsoft-edge"
Muitas rotinas de processamento não possuem interface, e o parâmetro --headless pode ser utilizado nestes casos.
Windows
C:\Users\Administrator\AppData\Local\Programs\web-agent\web-agent.exe launch
"http://127.0.0.1:5023/webapp/?p=u_console&e=sqlite" --browser="C:\Program
Files\Google\Chrome\Application\chrome.exe" --headless
Linux
/opt/web-agent launch "http://127.0.0.1:5023/webapp/?p=u_console&e=sqlite"
--browser="/usr/bin/microsoft-edge" --headless
https://tdn.totvs.com/display/tec/2.+WebApp+-+WebAgent#id-2.WebAppWebAgent-Headless
WebAgent Registro do Certificado (SSL) para uso do WebAgent 25
O certificado garante que apenas o WebApp tenha acesso à API do WebAgent, que recebe exclusivamente conexões via localhost.
O registro é automático para Windows 10/11, e será efetivado na primeira execução do WebAgent.
Importante: Caso apresentada uma tela solicitando o registro, confirme esta opção.
Neste exemplo iremos configurar o certificado para o Microsoft Edge no Ubuntu Linux
Importante:
É necessário configurar o certificado para cada navegador que utilize no Linux
WebAgent Habilitando o WebAgent na Tela de Parâmetros 26
01 - Na tela de parâmetros, selecione o botão de configuração. 02 - Habilite o Agent Local, a porta padrão é a 21021,
podendo ser alterada se necessário.
04 WebMonitor
WebMonitor Configuração 32
https://tdn.totvs.com/display/tec/TOTVS+%7C+WebMonitor
WebMonitor Funcionalidades 33
● Para manter o comportamento atual com versões anteriores, todas as operações vem liberadas por padrão.
● Os usuários devem pertencer ao grupo administrador ou ser administrador.
● As informações desta sessão são compartilhadas pelo monitor da extensão TDS-VSCode e pelo Monitor Electron.
[TDS]
AllowMonitor=*
EnableDisconnectUser=admin
EnableSendMessage=admin,user1,user2
EnableBlockNewConnection=0
https://tdn.totvs.com/display/tec/TOTVS+%7C+WebMonitor
WebMonitor WebMonitor com Broker 35
https://tdn.totvs.com/display/tec/Uso+do+Protheus+Monitor+na+porta+do+Broker
Importante:
Por enquanto, a chave PROTHEUS_MONITOR_EMBEDDED só funciona com o Broker TCP (SmartClient Desktop), por
tanto, se utilizar Broker HTTP para WebApp, será necessário criar um Broker TCP apenas para o monitoramento.
O acesso do WebMonitor via Broker deve obrigatoriamente ser feito através do protocolo HTTP (http://), mesmo
que a conexão tenha sido configurada via SSL, essa característica se deve à configuração da porta Multiprotocolo.
https://tdn.totvs.com/display/tec/TOTVS+%7C+WebMonitor
WebMonitor Descontinuidade do Monitor Electron 36
https://tdn.totvs.com/display/tec/Monitor+Electron
37
05 Depuração via
VSCode
Depuração AdvPL/TLPP via Navegador 38
01-Acesse depuração, a engrenagem e Adicionar Configuração 02-Selecione a opção TOTVS Language Debug via Web App
03-Informe o ip:porta para chamada da sessão via WebApp 04-Selecione o launcher que acabamos de criar
A depuração deve ser feita diretamente na porta do WebApp
https://github.com/totvs/tds-vscode/blob/master/docs/debugger.md
Depuração AdvPL/TLPP via Navegador 39
06 Broker HTTP
Broker HTTP Configuração 41
O Broker HTTP é um balanceador de carga, distribuindo as conexões entre dois ou mais servidores, sua configuração é muito simples,
onde o servidor principal terá os IPs e Portas dos servidores secundários, que receberão efetivamente as conexões.
Importante: É obrigatório o uso da porta multiprotocolo, pois ela fará o redirecionamento para os servidores com o WebApp.
No Linux, para configuração do Servidor Primário é obrigatório utilizar o arquivo appsrvlinux.ini.
Para informações sobre conexões seguras entre o Broker HTTP e o AppServer, acesse os links abaixo:
● Seção [SSLConfigure]
○ A seção permite habilitar o TOTVS | Application Server para criptografar e autenticar as informações
que são transmitidas pela internet, assim como outras operações de assinatura e certificação.
○ https://tdninterno.totvs.com/pages/viewpage.action?pageId=6064865
Broker HTTP Consultando o status do broker via browser 44
Acessando a rota abaixo é possível ver o status de conexões por servidores secundários, exemplo utilizando a porta 8000:
http://localhost:8000/totvs_broker_query/STATUS
https://tdn.totvs.com/display/tec/Consulta+do+status+do+broker+via+browser
Broker HTTP Links relevantes 45
totvs.store company/totvs
#SOMOSTOTVERS