Páginas filhas
  • TSS REST SERVER 1.0 - O servidor REST do TSS

Versões comparadas

Chave

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


CONTEÚDO

  1. Visão Geral
  2. Exemplo de Configuração Simplificada
  3. Exemplo de Configuração DetalhadaTeste de Disponibilidade
  4. Testando a Disponibilidade do TSS REST SERVER 
  5. Outras Configurações de Autenticação TSS


01. VISÃO GERAL
Âncora

...

visao

...

Devido a demanda de segurança na camada das APIs disponibilizadas pelo TSS, a partir da versão de release 12.1.2410 do TSS, o serviço REST deverá ser reconfigurado. A nova configuração de REST no produto passa a ser o TSS REST SERVER 1.0 e não mais as configurações de REST do Framework Protheus que deverão deixar de ser utilizada a partir da release 12.1.2410.

A seguir serão detalhadas as configurações do novo TSS REST SERVER.

visao


Visando maior segurança às APIs REST do TSS, foi implementado o servidor TSS REST SERVER, que conta com uma camada a mais de segurança, usando autenticação para todas as APIs REST do TSS.

Este documento tem o objetivo de ilustrar a configuração do TSS REST SERVER a ser realizada no arquivo appserver.ini do TSS

O TSS REST SERVER é o substituto para o REST 2.0 do Framework Protheus como configuração de REST para (e somente) o TSS.

Para isso, será necessário realizar a troca do REST 2.0 presente nos releases de TSS 12.1.2310 ou versões inferiores, para o novo TSS REST SERVER, que será oficialmente disponibilizado e sustentado na release 12.1.2410 ou superiores do TSS.

As configurações de REST presentes em releases do TSS inferiores à 12.1.2410 poderão ser mantidas mas não terão suporte a autenticação de APIs em REST.


A seguir, veremos como configurar o novo TSS REST SERVER de forma detalhada.


Aviso
titleImportante

As configurações detalhadas aqui são de uso exclusivo no produto TSS e em releases iguais ou superiores à 12.1.2410.



...

02.

CONFIGURAÇÃO SIMPLIFICADA
Âncora
simplificada
simplificada


Neste capitulo capítulo iremos abordar as configurações mínimas ou simplificada para o correto funcionamento do novo TSS REST do TSSSERVER.

Para isso, basta informar as seguintes seções e tags chaves no arquivo de appserver.ini do TSS.

São elas:


[TSSREST_CONFIG]
Servers=TSSREST_SERVER

[TSSREST_SERVER]
Port=13221323
URIs=TSSREST_URI


[TSSREST_URI]
URL=/restapi/tss
Instances=1,4,1,1


[JOBTSSREST]
main=TSSREST_START
environment=SPED

[ONSTART]
JOBS=JOBTSSREST
REFRESHRATE=10

...

Aqui serão mostradas todas as configurações possível de serem configuradas para um controle maior do(s) serviço(s) REST do TSS.

Para isso, serão quebradas por seções do appserver.ini para um melhor entendimento. 

Seção TSSREST_CONFIG

[TSSREST_CONFIG]

Seção responsável por iniciar as configurações do TSS REST SERVER (HTTPSERVER).

De todos os nomes de seções que serão tratados, este é o único que é obrigatório manter o mesmo nome TSSREST_CONFIG.

Abaixo serão detalhadas as tags desta seção:

...

0=Desabilitado ou 1=Habilitado

...

1

...

Nome de Seções com configuração de porta e URL (pelo menos uma seção). Por ela é possível definir um ou mais servidores, sendo assim, pode-se informar uma lista.

...

Nome livre

...

Exemplos: ASCII, UTF-8, ANSI e ISO-8859-1

...

UTF-8

...

0=Desabilitado ou 1=Habilitado

...

0

Exemplo de configuração:
Bloco de código
themeEclipse
linenumberstrue
[TSSREST_CONFIG]
Enable=1
Servers=TSSREST_SERVER
Charset=UTF-8
Log=1

Seção Servers

[TSSREST_SERVER]

Define as configurações de cada servidor HTTP e/ou HTTPS informados na sessão [HTTPSERVER] pela chave {SERVERS}.

Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos seguir tratando como [TSSREST_SERVER] apenas para exemplo.

Abaixo serão detalhadas as tags desta seção:

...

Campo livre

...

Exemplo de configuração:
Bloco de código
themeEclipse
linenumberstrue
Port=1322
URIs=TSSREST_URI
Security=1
protocolMin=TLSv1.0
protocolMax=TLSv1.3
SslCertificate=C:\certificados\https_rest\cert_rest.crt
SslCertificateKey=C:\certificados\https_rest\cert_rest.pem
SslPassPhrase=123456

Seção URIs

[TSSREST_URI]

Define as configurações de cada servidor HTTP e/ou HTTPS informados na sessão [HTTPSERVER] pela chave {SERVERS}.

Os nomes aqui preenchidos podem variar conforme desejado, neste caso vamos seguir tratando como [TSSREST_SERVER] apenas para exemplo.

Abaixo serão detalhadas as tags desta seção:

...

Indica o controle de thread pool disponíveis para atender as requisições de APIs no TSS REST SERVER, em formato P1,P2,P3,P4. Onde:

P1 = Indica a quantidade mínima de threads ativas no thread pool. Deve ser maior que zeros.

P2 = Indica a quantidade máxima de threads ativas no thread pool. Deve ser maior ou igual que P1.

P3 = Indica a quantidade mínima de threads prontas para execução no thread pool. Deve ser positivo e menor ou igual a P1.

P4= O fator de crescimento, indica a quantidade de threads a serem alocadas. Deve ser maior que zero.

...

Define lista de domínios permitidos para acessar as APIs do serviço REST. Exemplo: https://www.dominio.com.br/, https://10.172.0.84:1081/, http://localhost:1080/

...


Informações
titleImportante


Atenção à porta a ser utilizada, não poderá conflitar com nenhuma outra porta usada no mesmo appserver.ini.

O JOBTSSREST deverá ser incluído junto dos demais jobs presentes na seção [ONSTART] e, uma vez que esteja presente, o job referente ao REST 2.0 do Framework poderá ser removido.


03. CONFIGURAÇÃO DETALHADA 
Âncora
p3
p3


Para uma configuração mais especifica das seções e chaves do TSS REST SERVER acessar: TSS REST SERVER 1.0 - Documentação Detalhada



04. TESTANDO A DISPONIBILIDADE DO TSS REST SERVER
Âncora
p4
p4


Servidor disponível

Com o appserver.ini do TSS devidamente configurado, ao inicializar o serviço do TSS (appserver.exe)

Exemplo de configuração:
Bloco de código
themeEclipse
linenumberstrue
[TSSREST_URI]
URL=/rest/tss
RootPath=C:\tss\http-root\httprest\httpuri\
DefaultPage=index.html
Instances=1,10,2,1
CORSEnable=1
AllowOrigin=*
AllowMethods=POST,GET,DELETE,UPDATE
ExpirationTime=120
AcceptTimeOut=10

Seção [JOBTSSREST]

[JOBTSSREST]

Esta seção define a configuração do JOB responsável por criar o(s) serviço(s) do TSS REST SERVER.

O nome desta seção pode variar conforme desejado, neste caso vamos seguir tratando como [JOBTSSREST] apenas para exemplo.

Abaixo serão detalhadas as tags desta seção:

...

Exemplo de configuração:
Bloco de código
themeEclipse
linenumberstrue
[JOBTSSREST]
main=TSSREST_START
environment=SPED

...

Com o appserver.ini devidamente configurado ao inicializar o appserver.exe do TSS, após mais ou menos 10 segundos da inicialização, serão impressos alguns logs no arquivo de console.log, informando o status da criação do(s) serviçoservidor(ses) de REST do TSS REST SERVER, conforme prints que seguemimagens a seguir:

Subida do TSS REST SERVER com sucesso:

Image RemovedImage Added

2. Indicativo da(s) URL(s) do(s) TSS REST SERVER criadomapeado(s):

Image RemovedImage Added

3. Cada URL poderá ser informado como endereço de URL em um browser/navegador, para verificação da disponibilidade do serviço de TSS REST SERVER:Image RemovedREST do(s) servidor(es) do TSS REST SERVER:

Image Added

Esta imagem somente será apresentado se o arquivo index.html estiver presente na pasta indicado na seção URIs

Âncora
uris
uris
. Caso contrário será apresentada a seguinte tela:

Image Added

Servidor indisponível


Caso haja algum problema ao subir o servidor TSS REST SERVER, ao tentar informar a URL no navegador/browser será exibida a seguinte mensagem:

Image Added


Isto significa que houve um problema na subida do TSS REST SERVER e as APIs não serão disponibilizadas para uso. A causa pode estar na configuração errônea do appserver.ini ou alguma tipo de conflito porta ou URI informados.


05. OUTRAS CONFIGURAÇÕES DE AUTENTICAÇÃO TSS
Âncora
p5
p5