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
visao


Para que o sistema TSS possibilite uma maior configuração e segurança de acesso às suas APIs RESTVisando 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 que 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á o REST oficial e sustentada para release do TSS igual ou superiores a 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, serão detalhadas as configurações do veremos como configurar o novo TSS REST SERVER de forma detalhada.


Aviso
titleImportante

As configurações detalhadas aqui são de uso exclusivo do 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 SERVER.

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

...

[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

...

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

Aqui serão detalhadas todas as seções e tags possível de serem configuradas para um maior controle do(s) serviço(s) de TSS REST SERVER.

Para para um melhor entendimento, serão quebradas por seções a serem incluídas no appserver.ini  do TSS.

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 neste documento, esta é a única seção obrigada em manter o nome TSSREST_CONFIG.

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

...

0=Desabilitado ou 1=Habilitado

...

1

...

Nome das seções de servers com configuração de porta e URL. Por ela é possível definir um ou mais servidores, sendo assim, pode-se informar uma lista. Como exemplo será adotado o nome TSSREST_SERVER.

...

Nome livre

...

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

...

UTF-8

...

https://tdn.totvs.com/display/tec/Logs

...

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

...


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



...

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/

...

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
Informações
titleImportante

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.

...

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), 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 imagens a seguir:

Subida do TSS REST SERVER com sucesso:

Image RemovedImage Added

Indicativo da(s) URL(s) do(s) TSS REST SERVER mapeado(s):

Image RemovedImage Added

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