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

A partir da versão 20.3.0.0 a comunicação entre o Smartclients e o Broker pode utilizar o protocolo WebSocket.

Isto possibilita utilizar o Broker mesmo em cenários onde o único ponto de entrada para a rede corporativa do cliente é um web server utilizado como proxy reverso, já que os web servers líderes de mercado (Apache, Nginx, etc) também possibilitam a utilização do protocolo WebSocket na comunicação com os clients.

Existem 2 configurações a serem feitas para a utilização de broker com WebSocket: no Broker e no Smartclient.


CENÁRIO BÁSICO DE USO

Neste cenário os smartclients se comunicam com o broker diretamente, sem nenhum intermediário (com exceção de eventuais firewalls de segurança), através de uma porta TCP não padronizada.

                                            

Configuração no Broker
(arquivo appserver.ini ou equivalente)

     [BALANCE_SMART_CLIENT_DESKTOP]

; porta onde o broker aceita conexoes
LOCAL_SERVER_PORT = 10000

; hosts e portas dos appservers que vao ser balanceados
; neste exemplo o broker e os appservers estao na mesma maquina (física ou VM)
; esta e' uma configuracao comum, mas nao e' obrigatoria:
; tanto o broker quanto os appservers podem estar em máquinas diferentes e em reded diferentes
REMOTE_SERVER_01 = 127.0.0.1 10001
REMOTE_SERVER_02 = 127.0.0.1 10002
REMOTE_SERVER_03 = 127.0.0.1 10003
; etc

; chave que habilita websocket no broker
CLIENT_IS_WEBSOCKET=1

; chave que permite utilização de clients que não utilizam Websocket
; por exemplo, Smartclient HTML, Smartclient Electron, e mesmo Smartclient desktop
; que nao esteja configurado para uso com broker
; IMPORTANTE: neste caso, as portas dos appservers especificadas acima (10001, 10002, 10003)
; devem ser uma "porta multiprotocolo"
; ver link: https://tdn.engpro.totvs.com.br/display/tec/Application+Server+-+Porta+Multiprotocolo
;
; esta chave nao e' obrigatoria, mas se nao estiver habilitada entao apenas Smartclients
; que estejam configurados para utilizar Broker com Websocket irao conseguir se comunicar com este broker
ALLOW_ANY_CLIENT = 1


Configuração do Smartclient
(arquivo smartclient.ini)

     .
.
.
[broker-ws]
Server = http://broker.minha_empresa.com.br:10000
BrokerProxy = 1
.
.
.

Notar que a especificação do servidor (no caso é o broker) utiliza o esquema padrão "http://".


CENÁRIO REALISTA DE USO

Num cenário realista de uso o ponto de entrada da rede corporativa normalmente utiliza um proxy reverso para redirecionamento de serviços, balanceamento, etc. Exemplos de proxy reversos comuns são Apache e Nginx.

Muitas vezes este próximo reverso também é um terminador SSL: isto é, as conexões externas chegam encriptadas, mas o proxy reverso retira a encriptação quando manda para o backend interno.

Neste cenário os smartclients se comunicam com o broker através do proxy reverso, utilizando uma porta TCP padronizada:  80 para conexões não encriptadas, 443 para conexões encriptadas. Isto não é obrigatório, mas é o caso mais comum.




Configuração no Broker
(arquivo appserver.ini ou equivalente)
     [BALANCE_SMART_CLIENT_DESKTOP]

; porta onde o broker aceita conexoes
LOCAL_SERVER_PORT = 10000

; hosts e portas dos appservers que vao ser balanceados
; neste exemplo o broker e os appservers estao na mesma maquina (física ou VM)
; esta e' uma configuracao comum, mas nao e' obrigatoria:
; tanto o broker quanto os appservers podem estar em máquinas diferentes e em reded diferentes
REMOTE_SERVER_01 = 127.0.0.1 10001
REMOTE_SERVER_02 = 127.0.0.1 10002
REMOTE_SERVER_03 = 127.0.0.1 10003
; etc

; chave que habilita websocket no broker
CLIENT_IS_WEBSOCKET=1

; chave que permite utilização de clients que não utilizam Websocket
; por exemplo, Smartclient HTML, Smartclient Electron, e mesmo Smartclient desktop
; que nao esteja configurado para uso com broker
; IMPORTANTE: neste caso, as portas dos appservers especificadas acima (10001, 10002, 10003)
; devem ser uma "porta multiprotocolo"
; ver link: https://tdn.engpro.totvs.com.br/display/tec/Application+Server+-+Porta+Multiprotocolo
;
; esta chave nao e' obrigatoria, mas se nao estiver habilitada entao apenas Smartclients
; que estejam configurados para utilizar Broker com Websocket irao conseguir se comunicar com este broker
ALLOW_ANY_CLIENT = 1


Notar que a configuração do broker é essencialmente a mesma do "cenário básico".


Configuracao do Smartclient
(arquivo smartclient.ini)

     .
.
.
[broker-ws]
Server = https://broker_nginx.minha_empresa.com.br
BrokerProxy = 1
.
.

Notar que a especificação do servidor agora aponta para o proxy reverso que está na entrada da rede corporativa, e utiliza o esquema padrão "https://" que indica que a conexão é encriptada.


Na configuração do proxy reverso vão estar as regras que redirecionam as conexões para o host virtual "broker_nginx" para o ip e porta internos do broker, e vai servir como terminador SSL para as conexões que entram encriptadas.



  • Sem rótulos