INTRODUÇÃO

A partir do pacote Logix 12.1.2507 ou Fix Framework Logix 12.1.2503.FIX01 é possível executar programas com interface WEB, desenvolvidos com base em PO-UI (biblioteca de componentes basedos em Angular), mas para isso existem pré-requisitos envolvendo:

  • Versões de build SmartClient e AppServer
  • Configurações de ambiente WEB no arquivo de configuração do AppServer

Veja abaixo mais detalhes a respeito de cada um destes dois itens acima, para viablizar a execução de aplicações WEB a partir do Menu Logix.


Versões de build SmartClient e AppServer



A versão Smartclient que é 100% compatível para executar telas com interface WEB desenvolvidas com base em PO-UI é referente ao build HARPIA (7.210324P).


A versão Smartclient do build 7.00.131227A, NÃO É COMPATÍVEL e o sistema irá bloquear qualquer tentativa de execução de uma tela WEB Logix para o componente LWebDialog.


Já a versão Smartclient do build 7.00.170117A (LOBO GUARÁ) compatível com o build AppServer 7.00.131227A (32 bits), permite executar as telas WEB Logix, no entanto com uma restrição:

  • Devido a incompatibilidade da atual da versão Angular com a versão da biblioteca Chromium embutida no build Smartclient LOBO GUARÁ, a interface da tela WEB Logix não é apresentada como conteúdo da aba do menu Logix, mas é disponibilizado ao usuário um LINK na lateral direita da tela que permite a abertura da respectiva tela WEB Logix em uma nova janela utilizando um navegador WEB externo que será de escolha do usuário.


Independente desta exceção de incompatibilidade com a versão do Chromium embutido no SmartClient Desktop, este link de acesso em navegador externo para as telas WEB Logix sempre estará disponível para o usuário utilizar caso surja qualquer tipo de incompatibilidade com a tela WEB que impeça a visualização da sua interface com sucesso no conteúdo da aba do menu Logix.


Configurações de ambiente WEB no arquivo de configuração do AppServer



É necessário definir algumas seções no arquivo de configuração do Appserver que viabilizem:

  • Ativem os serviços HTTP e/ou HTTPS para execuções com interface WEB.
  • Ativem os serviços de requisições HTTP REST para requisiçõe de APIs REST invocadas pelas aplicações WEB para busca de informações exibidas em tela ao usuário.


Ativando o serviço HTTP/HTTPS para execução da interface das aplicações WEB


Para ativar o serviço HTTP e/ou HTTPS e o ambiente para execuções das aplicações WEB Logix, é preciso definir as seções abaixo, ficando como opcional definir apenas a seção HTTPS ou HTTP ou então definir ambas.

No exemplo abaixo apesar de definir a seção HTTP, foi configurada como ENABLE=0 para inativar o acesso HTTP (sem segurança).


[HTTP]
ENABLE=0 ;*** Pode ser habilitada, se optar por ativar sem segurança HTTPS.
PORT=9193  ;*** Número da porta para viabilizar acesso HTTP ao AppServer
ENVIRONMENT=logix12_ora ;*** Ambiente de referência para requisição HTTP
DEFAULTPAGE=wsindex.apw  ;*** Recurso web inicial acessado, nas requisições HTTP quando não informado na URL (Exemplo: http://localhost:9193/)
PATH=c:\totvs\http

[HTTPS]
ENABLE=1
PORT=9194  ;*** Número da porta para viabilizar acesso HTTPS ao AppServer
ENVIRONMENT=logix12_ora  ;*** Ambiente de referência para requisição HTTPS
DEFAULTPAGE=wsindex.apw  ;*** Recurso web inicial acessado, nas requisições HTTP quando não informado na URL (Exemplo: https://localhost:9194/)
PATH=c:\totvs\http

[<SERVER_IP>:9194/apps]
ENVIRONMENT=logix12_ora  ;*** Ambiente de referência para requisição HTTPS no endpoint /apps
RESPONSEJOB=JOBWEB
DEFAULTPAGE=index.html ;*** Recurso web inicial acessado na pasta da aplicação web, quando não for informado na URL (Exemplo: https://localhost:9194/apps/gtrib/gtr10000)
PATH=c:\totvs\web\apps
UPLOADPATH=\upload
CACHE-CONTROL=no-store
PRAGMA=no-cache


Para execução das aplicações WEB Logix é obrigatório definir a seção com o endpoint /apps indicando a pasta raiz onde os artefatos WEB são disponibilizados.

No exemplo acima [<SERVER_IP>:9194/apps] indica que pode ser definida a seção do endpoint /apps usando o número do IP do servidor de aplicação e foi definido apenas para a porta 9194 (acesso via HTTPS).

Caso opte em informar o HOSTNAME do servidor ao invés do número do IP, é possível configurar no arquivo de profile do Logix a chave logix.app.hostname com o nome do servidor.


No profile se estiver definida a chave desta forma:


       logix.app.hostname = "meuservidor"


Lembrando que "meuservidor" é um hostname com um IP válido, no arquivo appserver.ini a seção do endpoint /apps estará definida da seguinte forma:


[meuservidor:9194/apps]
ENVIRONMENT=logix12_ora
RESPONSEJOB=JOBWEB
DEFAULTPAGE=index.html ;*** Recurso web inicial acessado na pasta da aplicação web, quando não for informado na URL (Exemplo: https://localhost:9194/apps/gtrib/gtr10000)
PATH=c:\totvs\web\apps
UPLOADPATH=\upload
CACHE-CONTROL=no-store
PRAGMA=no-cache


Ativando o serviço HTTP/HTTPS para execução da interface das aplicações WEB



justar, quando necessário, os valores na seção HTTPREST, ou conforme o nome definido na chave SOCKETS da seção [HTTPV11] para:

  • O nome do ambiente (Chave ENVIRONMENT)
  • Número da porta (Chave PORT), quantidade de instâncias para execução no AppServer (Chave INSTANCES) e Chave URL para indicar o endereço em que as requisições REST serão atendidas.


[ONSTART]
REFRESHRATE=30
JOBS=HTTPJOB 

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=logix12_ora  ;*** Nome do Ambiente Logix, pode ser modificado

[HTTPV11]
ENABLE=1
SOCKETS=HTTPREST
TIMEOUT=600 

[HTTPREST]
PORT=8580   ;*** Porta utilizada na URI, pode ser modificada
URIS=URIAPPS
SECURITY=0 

[URIAPPS]
URL=/   ;*** Endereço base pra atender as requisições REST. Exemplo: http://localhost:8580/api/vdp/v1/clientes
INSTANCES=2,10   ;*** Número de instâncias utilizadas para atender as requisições REST (quantidade inicial e máxima de instâncias)
ONSTART=LOGIXRESTSTART
ONCONNECT=LOGIXRESTCONNECT
ONEXIT=LOGIXRESTEXIT 
CORSENABLE=1
ALLOWSORIGIN=* ;;***


É importante sempre avaliar o conceito de uso para avaliar o uso ou não das chaves CORSENABLE e ALLOWSORIGIN

(aviso) ATENÇÃO! Fique atento ao utilizar o parâmetro de configuração com a chave Security=0, pois isso fará com que as integrações (APIs) não exijam autenticação e consequentemente dados do seu ambiente poderão ser consultados sem qualquer controle de autorização.


(seleção) Para ativar a autenticação REST acesse LGX - Comunicação REST e veja as orientações descritas no item Ativando autenticação REST.


Com base na configuração acima, as requisições REST serão atendidas a partir da seguinte URL base:  http://localhost:8580/ e caso seja ativada a segurança com autenticação (SECURITY=1), após configurar todas as chaves necessárias, as requisições serão atendidas a partir da URL https://localhost:8580/