Páginas filhas
  • TSS REST SERVER 1.0 - Documentação Detalhada


CONTEÚDO

  1. Visão Geral
  2. Configuração detalhada
  3. Outras documentações


01. VISÃO GERAL

Aqui serão detalhadas para todas as seções de configuração do TSS REST SERVER as respectivas chaves possíveis de serem configuradas no appserver.ini do TSS, possibilitando assim, maior controle do(s) servidor(es) e serviço(s) REST do TSS REST SERVER.

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


02. CONFIGURAÇÃO DETALHADA


Seção [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 tratadas neste documento, esta é a única seção que se deve manter o nome TSSREST_CONFIG.

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


ChaveDescriçãoValores PossíveisObrigatórioValor padrão
EnableResponsável por habilitar ou desabilitar a subida/criação do TSS REST SERVER (HTTPSERVER).

0=Desabilitado ou 1=Habilitado

Não

1

Servers

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

Sim


CharsetChave para definir com qual Codepage que será configurado no REST.

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

Não

UTF-8

LogDefine se habilita ou não a gravação dos logs de eventos do HttpServer. Para mais detalhes 

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

0=Desabilitado ou 1=Habilitado

Não

0


Exemplo de configuração:


[TSSREST_CONFIG]
Enable=1
Servers=TSSREST_SERVER
Charset=UTF-8
Log=1




Seção Servers


Define as configurações de cada servidor HTTP e/ou HTTPS informados na chave {SERVERS} na seção TSSREST_CONFIG.

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

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


ChaveDescriçãoValores PossíveisObrigatórioValor padrão
PortDefine a porta em que o servidor atenderá às requisições após ativado.

Campo livre

Sim


URIsDefine o nome das sessões (URIs) deste servidor. O(s) nome(s) definido(s) nesta chave serão utilizado(s) na chave de URI (neste exemplo usaremos: TSSREST_URI)Campo livreSim
SslCertificate

Informar o path com o nome do arquivo do certificado digital, para utilização do REST com o protocolo HTTPS/SSL (caminho absoluto).

Para mais detalhes, verificar documentação: Porta Multiprotocolo - Geração de Certificado

Campo livreNão
SslCertificateKeyInformar o path com o nome do arquivo com a chave do certificado digital, para utilização do REST com o protocolo HTTPS/SSL (caminho absoluto).Campo livreNão
SslPassPhraseSenha utilizada para autenticar o arquivo de certificado digitalCampo livreNão
SslprotocolMinConfiguração de protocolo de segurança mínimo a ser aplicado na configuração do REST.SSL/TLS, TLSv1.3, TLSv1.2, TLSv1.1, TLSv1NãoSSL/TLS
SslprotocolMax

Configuração de protocolo de segurança máximo a ser aplicado na configuração do REST.

* Ainda em fase de desenvolvimento por parte de binários de Tecnologia TOTVS

SSL/TLS, TLSv1.3, TLSv1.2, TLSv1.1, TLSv1NãoSSL/TLS


Exemplo de configuração:


[TSSREST_SERVER]
Port=1323
URIs=TSSREST_URI
SslprotocolMin=TLSv1.0
SslprotocolMax=TLSv1.3
SslCertificate=C:\certificados\https_rest\cert_rest.crt
SslCertificateKey=C:\certificados\https_rest\cert_rest.pem
SslPassPhrase=123456




Seção URIs


Através da URIs conseguimos definir os Paths e definições de Thread Pool para o(s) servidor(es) REST. Aqui estão as definições da chave {URIs} da seção Servers.

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

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


ChaveDescriçãoValores PossíveisObrigatórioValor padrão
URLURN do siteTexto livreNão/
RootPathDiretório onde estão armazenados os arquivos do site, pode ser informado como um path absoluto ou relativo ao diretório onde o servidor de aplicações executaTexto livreNãoROOTPATH do TSS + '\http-root\tssrest\'
DefaultPagePáginas iniciais que serão inicializadas no acesso a URL. Podem ser informadas várias páginas separados por espaço. Podem ser definidas mais de uma página default separados pode vírgula (,)Texto livreNãoindex.html
Instances

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 zero.

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.

Mínimo, Máximo, Mínimo Livre, Fator CrescimentoNão1,4,1,1
CORSEnableHabilita utilização de controle de CORS0=Desabilitado ou 1=HabilitadoNão1
AllowOrigins

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

*=Para liberar todos os domínios ou texto livre com os domínios separados por virgula.Não*
AllowMethodsDefine lista de métodos HTTP permitidos para acessar as APIs do servidor RESTGET,POST,PUT,DELETE,PATCH,OPTIONS,HEADNãoGET,POST,PUT,DELETE,PATCH,OPTIONS,HEAD
ExpirationTimeÉ o tempo em segundos que a thread aguarda uma nova requisição. Se expirado a thread retorna a aguardar uma requisição ou finalizara conforme análise dos controles da quantidade de threads. O valor deve se maior que zero se não for informado o sistema assume o valor padrão.
Não60
AcceptTimeOutÉ o tempo em segundos que uma nova requisição aguarda para ser processada. Se expirado a requisição é descartada e o cliente sairá por timeout. O valor deve se maior que zero se não for informado o sistema assume o valor padrão.
Não10


Exemplo de configuração:


[TSSREST_URI]
URL=/api/tss
RootPath=C:\tss\http-root\tssrest\
DefaultPage=index.html
Instances=1,10,2,1
CORSEnable=1
AllowOrigins=*
AllowMethods=POST,GET,DELETE,PUT
ExpirationTime=120
AcceptTimeOut=10




Seção [JOBTSSREST]


Esta seção define a configuração do JOB responsável por criar o(s) servidor(es) do TSS REST SERVER a ser incluído na seção ONSTART.

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

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


ChaveDescriçãoValores PossíveisObrigatórioValor padrão
mainNome da função a ser executada. Neste caso deve ser preenchido sempre com: TSSREST_STARTTSSREST_STARTSim
environmentNome do ambiente onde será executado o TSS REST SERVER. Normalmente o mesmo nome do ambiente configurado para o TSS. Exemplo: SPEDTexto livreSim


Exemplo de configuração:


[JOBTSSREST]
main=TSSREST_START
environment=SPED




Seção [ONSTART]


Nesta seção deverão ser incluídos os jobs padrão do TSS que irão ser executados, e adicionalmente o job JOBTSSREST de criação e subida do(s) servidor(es) REST do TSS REST SERVER.

Ficando assim a configuração:


[ONSTART]
JOBS=JOBTSSREST
REFRESHRATE=10



Para incluir mais de um job no ONSTART basta informar as seções separadas por virgula. Exemplo:

[ONSTART]
JOBS=TSSTASKPROC, JOBTSSREST
REFRESHRATE=10


03. OUTRAS DOCUMENTAÇÕES