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

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

Isto possibilita utilizar o TOTVS | 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 TOTVS | Broker com WebSocket. A seguir detalharemos isto.


Cenário A

Neste cenário os  se comunicam com o TOTVS | 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 TOTVS | Broker

Configuração do 

(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 xxx)
     ;
     ; 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
(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 B


Num cenário o ponto de entrada da rede corporativa normalmente utiliza um proxy reverso (Apache ou Nginx, por exemplo) para redirecionamento de serviços, balanceamento, etc.

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  se comunicam com o TOTVS | Broker através do proxy reverso, utilizando uma porta TCP padronizada:  80 para conexões não encriptadas, 443 para conexões encriptadas.
Observação: Isto não é obrigatório, mas é o caso mais comum.

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.

Configuração no TOTVS | Broker

Configuração do 

(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 xxx)
     ;
     ; 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".



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




  • Sem rótulos