Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Balanceamento entre

...

SmartClient Desktop e servidor
Inclusão de trecho
Application Server
Application Server
nopaneltrue

Neste cenário um

Inclusão de trecho
Application Server
Application Server
nopaneltrue
Neste caso um servidor Protheus é configurado como proxy entre um Smart Client desktop e um servidor Protheus rodando o ERP. Além do servidor Protheus que funciona como proxy é necessária a utilização de um utilitário adicional chamado "Totvs Broker Client", que funciona como forwarding proxy ao qual o Smart Client se conecta. O Totvs Broker Client é utilizado como uma biblioteca, atendendo ao Smart Client cujo binário está localizado na mesma pasta onde está localizada esta biblioteca. (Obs.: Smart Client "desktop" refere-se ao Smart Client usado como uma aplicação normal do sistema, e não ao Smart Client acessado através de uma página web no navegador de internet.) É importante notar que o servidor Protheus vários SmartClient Desktop e vários servidores
Inclusão de trecho
Application Server
Application Server
nopaneltrue
executando o ERP. É importante notar que o
Inclusão de trecho
Application Server
Application Server
nopaneltrue
configurado como proxy terá apenas esta função, isto é, não será usado para rodar executar o ERP. Informalmente, chamamos o proxy Protheus como "broker server" e o aplicativo Totvs Broker Client como "broker client", e estes serão os termos utilizados neste documento.

Image Removed

Este

Inclusão de trecho
Application Server
Application Server
nopaneltrue
configurado como proxy é chamado de broker.

                    +--------------+                                    +--------------+
| smartclient -|--------+ +--------| ERP |
+--------------+ | | +--------------+
... | | ...
+--------------+ | +--------+ | +--------------+
| smartclient |--------+----| broker |----+--------| ERP |
+--------------+ | +--------+ | +--------------+
... | | ...
+--------------+ | | +--------------+
| smartclient |--------+ +--------| ERP |
+--------------+ +--------------+


Uso do broker torna mais resiliente a comunicação entre smartclients e

Inclusão de trecho
Application Server
Application Server
nopaneltrue
. Quando ocorrem problemas de comunicação entre o smartclient e o broker, o smartclient tenta restabelecer a conexão com o broker por algum tempo (por padrão 180 segundos). Caso a conexão seja restabelecida, o usuário poderá continuar a trabalhar normalmente, sem necessidade de fazer novo login no ERP que está sendo utilizado.

Uso do broker em conexões seguras. O broker pode ser utilizado mesmo em conexões seguras configuradas entre o smartclient e os

Inclusão de trecho
Application Server
Application Server
nopaneltrue
Uma característica interessante deste caso é que a conexão entre o cliente e o servidor se torna mais resiliente, isto é, resistente a pequenas interrupções. Isto é conseguido porque tanto o broker server (Protheus utilizado como proxy) como o broker client (Totvs Broker Client) fazem um cache das últimas mensagens de comunicação trocadas entre si. Quando a conexão é perdida o broker client continua tentando por algum tempo retomar a conexão com o broker server. Após a retomada da conexão, se houve alguma mensagem perdida em qualquer direção ela é reenviada, e a comunicação continua ocorrendo normalmente, sem que o Smart Client ou o ERP Protheus percebam que houve queda na comunicação.
Outro ponto interessante é que esta solução pode ser utilizada mesmo quando o Smart Client esteja se comunicando com o Protheus ERP através de uma conexão segura (SSL), porque tanto o broker client quanto o broker server não examinam o conteúdo das mensagens que passam por eles.

Importante: Nunca deve se configurar o Protheus Master como uma das estações (servidores Protheus ERP)

Inclusão de trecho
Application Server
Application Server
nopaneltrue
Master como um dos servidores de ERP que irão receber conexões pelo Brokerbroker, pois o seu mecanismo de balanceamento é excludente ao do Broker.do
Inclusão de trecho
Application Server
Application Server
nopaneltrue
Master é incompatível com o broker.

Para se utilizar o broker é necessário configurar tanto o arquivo smartclient.ini do smartclient, quanto um novo arquivo appserver.ini específico para o broker. Não é necessário alterar o arquivo de configuração (appserver.ini) dos servidores ERPQuando se utiliza o proxy client são necessários 2 arquivos de configuração, um para o Smart Client e um para o broker server: smartclient.ini (Smart Client) e appserver.ini (broker server Protheus). No arquivo de configuração do Protheus ERP não existe alteração.

Num exemplo hipotético, vamos supor que o Protheus servidor ERP esteja atendendo nos endereços 172.16.50.42:5000172.16.50.42:5001 e 172.16.50.42:5002, e o broker server esteja atendendo no endereço 172.16.50.42:4000.

Note que Neste cenário os servidores Protheus ERP e o broker server Protheus estão na mesma máquina. É uma configuração típicacomum, mas não existe restrição alguma por parte do broker client ou do broker server que eles estejam na mesma máquinaobrigatória. Em princípio o broker pode estar em execução qualquer máquina na rede, desde que haja rotas (na rede) entre os smartclients e o broker, e entre o broker e os servidores

Inclusão de trecho
Application Server
Application Server
nopaneltrue
.

Abaixo, um exemplo de configuração possível para este cenário:

Bloco de código
languagetext
firstline1
titleappserver.ini
linenumberstrue
[GENERAL]
CONSOLELOG=1; configuracao recomendada para gravação de log
ConsoleLog=1
ConsoleLogDate = 0     

[BALANCE_SMART_CLIENT_DESKTOP]

; porta onde este broker server atende pedidos de conexão dos broker clients
LOCAL_SERVER_PORT = 4000

; hostname ou endereço ip, e porta TCP dos servidores Protheus ERP que serão destino
; das conexões vindas dos broker clients
REMOTE_SERVER_01 = 172.16.50.42 5000
REMOTE_SERVER_02 = 172.16.50.42 5001
REMOTE_SERVER_03 = 172.16.50.42 5002
; etc
; esta chave aceita letras e números para identificar servidores,
; por exemplo REMOTE_SERVER_0A, REMOTE_SERVER_XY, etc, e as chaves
; podem estar em qualquer ordem

; nome do serviço, pode ser qualquer nome que não contenha espaços
; só tem importância se o broker server for instalado como um serviço Window
SERVICE_NAME = XXX_TOTVS_BALANCE_SC_001

; (opcional, disponível a partir de 01/dez/2017)
; "display name" do serviço Windows
SERVICE_DISPLAY_NAME = "BROKER SERVICE"  

; IMPORTANTE
; as linhas que contem um nome de chave não devem conter um ";" de comentário
; dependendo do caso, as linhas com chave e ";" podem não reconhecidas como válidas


No arquivo de configuração do SmartClient O broker client é utilizado como uma biblioteca não é necessário um arquivo de configuração específico. Uma seção no arquivo de configuração do Smart Client (smartclient.ini) deve-se indicar o hostname ou endereço IP do broker server, a porta do broker server, e a opção chave "BrokerProxy=1".

Bloco de código
languagetext
firstline1
titlesmartclient.ini
linenumberstrue
; ------------------------

[config]
lastmainprog=...
envserver=...

; outras configurações

; ---------------------

[sem_broker]
; para conexão direta do Smart ClientSmartClient com um ERP específico,
; ou usando o esquema de Protheus Master e Protheus SlaveLoadBalance
server=...
port=...

; ---------------------

[com_broker]

; para conexão SmartSmartClient Client com o ERP via broker client
; rodando na mesma máquina do Smart Client

; máquina onde o *broker server* está rodando
server=172.16.50.42

; porta onde o *broker server* está atendendo
port=4000

; importante!!!
BrokerProxy = 1

; ---------------------

[drivers]
; opção ativa: conexão via proxy
active=com_broker

; ------------------------
; obs.: os nomes "com_broker" e "sem_broker" não possuem qualquer
; significado intrínseco, qualquer nome poderia ser utilizado,
; por exemplo "AAA" e "BBB"
; ------------------------

Obs. No SmartClient é necessário ter a biblioteca totvsbrokercg para a conexão resiliente com o Broker Server.

Biblioteca para Windows 32 bits: totvsbrokercg-2.1.11b1

.: A partir da versão 20.3.0.4 do binário do Application Server é possível utilizar o SmartClient via Broker com a chave BrokerProxy desabilitada (ou inexistente) no arquivo smartclient.ini. Neste caso, o SmartClient comporta-se como se não estivesse usando o Broker, isto é, não vai haver recuperação de conexões caso ocorra interrupção na rede. E também neste caso esta conexão do SmartClient não será contabilizada na tela de status do Broker. Esta alteração no comportamento foi necessária para permitir o uso da interface PO-UI no SmartClient com Broker e conexões encriptadas. Este cenário (uso de interface PO-UI no SmartClient com Broker e conexões encriptadas) está disponível a partir da versão 20.3.0.2 do SmartClient.
Para mais informações sobre a interface PO-UI consultar a página Nova interface do Protheus com PO UI.

--- //---Biblioteca para Linux 32 bits: totvsbrokercg-2.1.11b1