Á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 servidor Protheus

Inclusão de trecho
Application Server
Application Server
nopaneltrue
é configurado como proxy entre vários smartclients desktop SmartClient Desktop e vários servidores Protheus rodando
Inclusão de trecho
Application Server
Application Server
nopaneltrue
executando o ERP. É importante notar que o servidor Protheus
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. Este servidor Protheus
Inclusão de trecho
Application Server
Application Server
nopaneltrue
configurado como proxy é chamado de broker.

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


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

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 servidor ProtheusERP 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 servidores Protheus

Inclusão de trecho
Application Server
Application Server
nopaneltrue
.

Importante: Nunca deve se configurar o

Inclusão de trecho
Application Server
Application Server
nopaneltrue
Protheus Master como um dos servidores Protheus de ERP que irão receber conexões pelo broker, pois o mecanismo de balanceamento do Protheus
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 ProtheusERP.

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

Neste cenário os servidores Protheus ERP e o broker estão na mesma máquina. É uma configuração comum, mas não obrigató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 Protheus

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]
; 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, "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 (smartclient.ini) deve-se indicar o hostname ou endereço IP do broker, a porta do broker, e a 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 SmartClient com um ERP específico,
; ou usando o esquema de Protheus Master e Protheus SlaveLoadBalance
server=...
port=...

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

[com_broker]

; para conexão SmartClient com o ERP via broker

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

; porta onde o broker 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

Biblioteca para Linux 32 bits: libtotvsbrokercg-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.

--- //---Obs. A partir da versão 17.3.0.0 do smartclient estes arquivos (.dll ou .so) não são mais necessários.