Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 27 Próxima »

Configurando o serviço REST via APWebWizard  

O APWebWizard é responsável por fazer as atualizações no seu arquivo "appserver.ini" de acordo com sua necessidade para a criação dos mais diversos serviços. Para iniciarmos, conforme imagem abaixo, realize a chamada via smartclient para o seu ambiente desejado:


1) Inicialmente, caso ainda não possua um serviço HTTP, precisaremos cria-lo, como no exemplo da imagem abaixo:

Informando uma pasta do servidor com o caminho para os serviços Web, a porta do HTTP, o ambiente a ser utilizado e a opção de "Protocolo habilitado" marcada.


Solicitamos a inclusão manual da configuração para compressão GZIP no servidor HTTP, conforme exemplo abaixo, disponível em builds superiores a 7.00.131227A.

Essa funcionalidade permite ao servidor realizar automaticamente a compressão dos arquivos antes se serem enviados ao requisitante, permitindo que os arquivos trafegados tenham o seu tamanho reduzido durante o seu download, otimizando o tempo de carregamento inicial do aplicativo. Os arquivos comprimidos são descompactados pelos browsers antes de sua utilização!  

Valores válidos para a tag "COMPRESSION"

Valor

Descrição

0

Desabilitado (padrão)

1

Habilitado


Como resultado dessa configuração, encontraremos as seguintes tags no arquivo "appserver.ini":

[HTTP]
ENABLE=1
PORT=8081
COMPRESSION=1
PATH=P12125MNTDB\Protheus_data\Web\portalmeurh
ENVIRONMENT=P12117MNT


2) Nessa fase vamos habilitar o serviço REST no server Protheus:

Escolha a opção REST do menu, em seguida o item HTTPV11, e clique no botão "editar configurações".

Na parte superior de Configuração de Sockets:

  • Marque a opção de "Habilitado".
  • Preencha o Nome, Porta e o item "Autenticação" deve estar marcado.

Na parte inferior de Configuração de URIs, preencha:

  • Preencha o Nome → preferencialmente HTTPREST.
  • URL → obrigatório ter a expressão inicial "/rest", posteriormente a essa expressão pode complementar, por exemplo, com o identificador da sua empresa "/rest01".   
  • Empresa/Filial para preparação de ambiente → em geral informamos apenas o código da empresa, consequentemente, todas as filiais pertencentes serão atendidas.
  • Mínimo de Working Threads Ativas, Máximo de Working Threads Ativas, Mínimo de Working Threads Livres, Quantidade de Working Threads de Incremento (dependendo da quantidade de licenças de uso pode ser ajustado)
  • Habilitar Cors → deve estar marcado.
  • Allow Origin → preenchido com * (asterisco)
  • Endpoints Públicos → deverá estar preenchido com as informações: fwjwt/refresh_token,auth 


Endpoints Públicos

Os endpoints públicos são APIs não exigem autenticação para que o server Protheus possa responder qualquer requisição!

Por exemplo, as APIs do MeuRH que pertencem aos processos de autenticação, visto que são nelas que os nossos serviços realizam as identificações e geração do token para que todas as APIs que necessitam de identificação possam ser executadas.

Nas informações acima, foram solicitados que estejam liberadas de autenticação as APIs:

  • fwjwt/refresh_token
  • auth

Complementando a informação, ao informar "auth" estamos liberando todos os endpoints desse serviço, que basicamente seria o mesmo que informar manualmente todos os métodos existentes até o momento, por exemplo:

  • auth/login, auth/logout, auth/isLogged, auth/isFirstLogin, auth/renewPassword, auth/resetPassword, auth/ChangePassWithLastPass

Você pode optar por informar manualmente ou todos de uma única vez!


Na parte inferior da imagem, devemos informar as configurações para a montagem da URL, sendo possível configurar uma URL diferente para cada empresa.


Observação importante: o serviço REST do Protheus permite que seja a informação "ALL" que permite ao um único serviço responder a todas as empresas, todavia, pelo modelo de arquitetura do app é obrigatória a configuração de uma URL Rest para cada empresa do grupo organizacional.

Quando falamos empresa, leia-se dicionários diferentes, por exemplo: SX2010, SX2020, SX2030, etc
Para informações mais detalhadas, acesse essa documentação complementar no tópico 05: Configuração Multi-Empresas


Dica interessante

É recomendado utilizar um servidor Protheus (AppServer) apenas com os serviços REST, sem a necessidade de configurar os outros jobs e webservices do padrão webex/soap referente ao portal tradicional Gestão do Capital Humano.

O aplicativo MeuRH utiliza somente serviços REST em sua utilização, sendo assim, permite a flexibilidade da criação de servidores separados, podendo, caso necessário, reinicializar um server sem prejudicar o outro!


3) Nessa fase vamos criar um processo comum que criará um job para inicializar o serviço do REST criado anteriormente:

Como na imagem abaixo, devemos informar:

    • Nome do Job
    • Ambiente
    • Função Advpl → informar o nome da função que inicializa o serviço, obrigatoriamente: HTTP_START
    • Habilitar job no start do servidor Protheus → marcar opção

Abaixo a imagem do Job criado, após a confirmação no botão finalizar!


Como resultado dessa configuração, encontraremos as seguintes tags no arquivo "appserver.ini":

[HTTPV11]
Enable=1
Sockets=HTTPREST

[HTTPREST]
Port=8103
URIs=HTTPENV
SECURITY=1

[HTTPENV]
URL=/rest
PrepareIn=01
Instances=1,2,1,1
ENVIRONMENT=P12117MNT
CORSEnable=1
AllowOrigin=*
Public=fwjwt/refresh_token,auth

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=P12117MNT

[ONSTART]
jobs=HTTPJOB


4) Após essas configurações do serviço REST, podemos iniciar o server, e identificar na imagem abaixo a inicialização dos serviços:


5) Para validar se o seu serviço REST está sendo carregado adequadamente, verifique se é possível realizar o carregamento dos serviços via browser:

Observe que utilizamos a porta 8103 do REST criada anteriormente, assim o nome da URL definida /rest.



Demais passos da configuração:





  • Sem rótulos