Histórico da Página
Button | ||||
---|---|---|---|---|
|
Índice | ||
---|---|---|
|
Informações |
---|
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
Informações |
---|
Obs.: Caso o app não possua código de licenciamento será executado no broker default e não é necessário cadastrar um broker para o app. |
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.
Informações |
---|
Obs.: A parir da release 12.1.34 o produto fará a migração do appserver atual para um registro de broker default, ou seja, Aplicativo e Alias serão definidos como "*". |
É 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:
|
---|
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:
Informações | ||||
---|---|---|---|---|
| ||||
|
Informações | ||||
---|---|---|---|---|
| ||||
DICA: No Hedears pode-se escolher variações de cabeçalho enviar. Por exemplo, pode optar por não enviar o Alias e enviar apenas o Aplicativo. Assim no produto, no cabeçalho não enviado será interpretado como * (todos). Ou seja, o cabeçalho que não for enviado será identificado como *. A partir da versão 12.1.2307, ao enviar somente o Alias (sem informar o Aplicativo) e esse Alias não estiver cadastrado, será escalado para o Alias default *. |
Informações | ||||
---|---|---|---|---|
| ||||
|
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:
Informações | ||
---|---|---|
| ||
22-Nov-2021 18:14:38.592 INFO [datasul-exec-80] com.totvs.framework.rest.connector.APIDatasulConnector.processRequest TOTVS-REST API-DATASUL: Conectando appserver 22-Nov-2021 18:14:38.592 INFO [datasul-exec-80] com.totvs.framework.progress.connector.ProgressConnectionManager.getConnection Buscando conexao atual. companyId=10, userName=super, xTotvsApp=5203, |
Card documentos | ||||
---|---|---|---|---|
|
HTML |
---|
<style> .custom-button { position: absolute; top: 50px; right: 35px; } .page-metadata div { float: none !important; margin: 4px 0 0 0 !important; } <!********TIRA O MENU LATERAL*********--> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } <!****************************--> </style> |