Para conhecer mais de nossos apps mobile disponíveis, acesse: TOTVS Mobile
Para saber mais sobre funcionamento e Licenciamento Progress acesse: Licenciamento Progress
01. OBJETIVO
O objetivo dessa implementação é permitir a escalabilidade dos appservers dentro do Datasul.
02. CADASTRO DE BROKERS
Ao selecionar a função Parâmetros Foundation, e a Pasta Servidores é possível realizar o cadastro do aplicativo, alias e servidor de aplicação.
Conforme documentação: Parâmetros Foundation
03. REQUISITOS NECESSÁRIOS
Para implementar a nova funcionalidade devemos cadastrar os seguintes requisitos:
- Para acesso via apps com código de licenciamento (JWT com acesso ao sistema) devemos utilizar o atributo abaixo:
x-totvs-appcode: HEADER HTTP com o código JWT que trará a identificação do totvs-appcode utilizado para encontrar o registro do broker relacionado a esse código. Para saber mais sobre o código de aplicativos acesse TOTVS Mobile ou entre em contato com seu ESN
2. Para os demais acessos é possível definir um alias para direcionar requisições à determinados fluxos de negócio, para isso deve-se utilizar:
x-totvs-server-alias: HEADER HTTP Alias definido na tela de parâmetros do Foundation (cadastro de brokers). Esse parâmetro é utilizado por áreas de negócio e possíveis implementações de clientes que desejem direcionar as requests para um broker (appserver) específico evitando concorrência com o broker do ERP.
É possível identificar também como estão sendo carregadas as requisições através do log do TomCat, pesquisando pelo termo "Buscando conexao atual." dentro do arquivo de log, conforme imagem:
04. BALANCEAMENTO DOS BROKERS
Para arquitetura do broker escalável utilizamos o balanceamento simples, uma vez cadastrado mais do que um servidor, as requisições serão direcionadas alternadamente entre os servidores cadastrados.
05. EXEMPLO DE COMO FAZER USO DO APLICATIVO E ALIAS PARA CHAMADAS REST
01. Criando lista de Servidores
No programa BTB962AA (Parâmetros Foundation) criar a lista de servidores na aba Servidores.
Na imagem abaixo foram criados alguns servidores, variando em servidores que utilizam Aplicativos ou não, e utilizam Alias ou não:
OBS: Devido a restrições técnicas, quando se faz manutenção da lista de servidores de aplicação no BTB962AA essa lista não é imediatamente atualizada no Tomcat (Java). Esta atualização é realizada a cada 3 minutos por instância. |
---|
02. Executando requisições REST
Para simular as chamadas de requisições REST, pode-se fazer uso da ferramenta POSTMAN. Abaixo segue um exemplo de como fazer:
03. Resultado do envio de requisições REST
No log do Tomcat é possível ver as informações de um dos servidores cadastrados, por exemplo:
- companyId=10,
- userName=super,
- xTotvsApp=5203 (resgatado a partir da decodificação do Token JWT),
- xTotvsAlias=mariscal
- AppServer:/marical.jv01.local:5162/gales8180
- Requisição: /dts/datasul-rest/resources/prg/utp/v1/timer/1
A seguir é apresentado o trecho do log onde é possível visualizar essas informações:
Toda vez que um servidor passar por alteração no programa "Parâmetros do Foundation - BTB962AA", leva-se 3 minutos para essa configuração ser aplicada no sistema.REFORÇANDO!