Páginas filhas
  • Consumo de Licença por demanda no REST do Protheus

Versões comparadas

Chave

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

...

REST_START01DEFINIÇÃO

O consumo de licença por demanda é uma solução no Protheus para permitir o serviço REST consumir licenças somente quando uma API está em execução, ao invés de manter permanente o consumo de uma licença para cada Working Thread em funcionamento no REST.

...

Mais informações sobre isso no tópico 8 dessa documentação.


05. FUNCIONAMENTO DAS SESSÕES

  • REST_START 

               Função REST_START no Protheus inicializa a comunicação entre sistemas usando a arquitetura REST. é um padrão amplamente utilizado na criação de APIs para permitir a troca de dados via HTTP (como GET, POST, PUT, DELETE).

  • REST_CONNECT

                Função estabelece uma conexão inicial com um serviço RESTful utilizando o protocolo HTTP. Responsável por iniciar a comunicação entre cliente e API.

  • REST_EXIT 

                 Função é responsável pelo encerramento a comunicação RESTful de forma adequada, Ela garante que a conexão HTTP seja finalizada corretamente


06. ERROS

O Erro 503 é devolvido na requisição da API caso não exista Licença disponível. Existem diversos motivos para uma licença não estar disponível, tais como:

  • Todas as licenças estão em uso
  • O License Server não possui nenhuma licença para o módulo/aplicativo solicitado
  • O License Server não está configurado

...


07.

...

CHAVES DE LOG

Caso o licenciamento apresente problemas, ative as chaves de log para análise do problema e envie o console para a equipe de suporte.

...

A ativação das chaves acima implica em perda de performance, pois haverá o tempo de I/O para escrita no console, por esse motivo devem ser ativadas somente caso haja necessidade de análise de problemas.

...


08.

...

PERFORMANCE

A utilização do modelo de licenciamento por demanda no REST adiciona de 50 a 80 milisegundos no tempo de cada requisição de API, referente ao tempo de comunicação com o License Server.

Nos testes executados em laboratório foi percebido uma perda de 20% de performance em relação a quantidade de requisições atendidas por segundo.

...


09.

...

CONSUMO DE LICENÇAS DE APLICATIVO

O consumo de licença por demanda permite o uso de uma licença diferente da TOTVS I quando a requisição da API tem como origem o API Manager da TOTVS (WSO2 ou Mingle).

...

Veja aqui a documentação do Mingle.


Caso o aplicativo esteja no ambiente de homologacao ou desenvolvimento do Mingle, é necessario adicionar na seção do ambiente do Protheus uma chave para configurar o  Mingle.

...

MINGLE=DEV (Para desenvolvimento)

MINGLE=HOM (Para homologação)

10. EXEMPLO DE CONFIGURAÇÃO DO REST


Bloco de código
[ENVIRONMENT]
DBALIAS=DOCKER
DBDATABASE=POSTGRES
DBPORT=7801
DBSERVER=dbaccess
ROOTPATH=/app-data/
RPODB=top
RPOLANGUAGE=portuguese
RPOVERSION=120
SOURCEPATH=/app-data/apo
STARTPATH=/system/
FWFRAME_TIMELS=1
FWFRAME_TRACELS=1

[HTTPJOB]
ENVIRONMENT=ENVIRONMENT
MAIN=HTTP_START

[HTTPREST]
Port=8082
SECURITY=1
URIs=HTTPURI,APP

[HTTPV11]
Enable=1
Sockets=HTTPREST
TimeOut=120

[HTTPURI]
AllowOrigin=*
CORSEnable=1
Instances=1,1,1,1
OnConnect=REST_CONNECT
OnExit=REST_EXIT
OnStart=REST_START
PrepareIn=T1
Stateless=0
URL=/v1/

[APP]
AllowOrigin=*
CORSEnable=1
Instances=1,1,1,1
OnConnect=REST_CONNECT
OnExit=REST_EXIT
OnStart=REST_START
PrepareIn=T1
Stateless=1
URL=/app/

...