CONTEÚDO


Configurações

  1. AppServer
  2. Java
  3. Tomcat
  4. TOTVS CORS Valve
  5. BIRT



Configurações

Abaixo temos várias configurações que devem ser feitas no ambiente do Datasul que foi recém instalado.


01. Configurações do AppServer

Recomendações para o Appserver

O Datasul for THF não demanda mais conexões JDBC aos bancos de dados, como ocorria na versão anterior do Framework. Todo o acesso aos dados proveniente das telas Web são obtidos utilizando um Appserver Progress. Esta alteração aumenta de forma considerável a quantidade de requisições realizadas ao Appserver. Por este motivo, é necessário o correto dimensionamento e configuração dos Appserver utilizados pelo Datasul for THF - TOTVS HTML Framework para que não ocorram problemas relacionados a performance. Listaremos abaixo as recomendações para a configuração do Appserver para o Datasul for THF:

1. Cada empresa que contém um conjunto de bancos diferentes, precisa de um broker Appserver diferente. Esse broker deve especificar um arquivo .pf com os bancos necessários para conexão à empresa que ele responde. Como o broker é configurado por empresa, os bancos de dados conectados no arquivo .pf permanecerão conectados durante todo o tempo, não utilizando mais o cadastro do programa btb962aa, o qual servirá apenas como referência para as sessões Progress Client. Se o broker Appserver for configurado no mesmo servidor onde estão os bancos de dados recomenda-se o acesso via shared memory. Neste tipo de acesso não são feitas solicitações de rede entre o processo do broker Appserver e o banco de dados, reduzindo de forma considerável o tempo das consultas realizadas ao banco de dados.

2. Além dos bancos de dados, deve-se também configurar o Propath para acesso aos diretórios de programas do produto. É desejável que os programas estejam localizados no mesmo servidor onde encontra-se o broker Appserver, para que as solicitações da abertura dos programas não trafeguem pela rede, sendo que nesta situação o Propath deverá apontar para os diretórios locais. Caso não seja possível que os programas estejam no mesmo servidor, garanta que eles estejam acessíveis da melhor forma possível, através do acesso de uma rede com boa velocidade. Também recomendamos a utilização do parâmetro -q - Quick Request Startup Parameter, o qual permite ao Progress armazenar em cache local a primeira versão executada de um determinado programa durante a sessão. Mais informações sobre este parâmetro estão disponíveis ao final deste artigo.

3. Como a utilização do Appserver é maior no Datasul for THF, será necessário dimensionar corretamente a quantidade de agentes para obter uma boa performance. Provavelmente existirá a necessidade de disponibilizar mais agentes do que a quantidade utilizada atualmente pelo produto. 
Para auxiliar neste dimensionamento utilize as informações do artigo referenciado ao final deste.

4. A configuração de alguns parâmetros de sessão adicionais poderá auxiliar em ganho de performance. Listaremos abaixo alguns parâmetros com valores iniciais, baseados em testes e configuração de ambientes de alguns clientes. Vale lembrar que não existem valores mágicos para estes parâmetros, sendo que deverão ser ajustados de acordo com cada ambiente:

-l 50000

-mmax 50000

-s 20000

-Bt 32000

-tmpbsize 8


Onde:
-l: Define o tamanho do buffer local de registros para cada agente Appserver. Este valor é definido em KB.
-mmax: Tamanho do buffer local para os programas Progress. Cada programa Progress será armazenado em buffer local até atingir o tamanho definido neste parâmetro. Após atingir o tamanho limite do parâmetro, os arquivos passarão a ser gravados em disco, gerando swap. Este valor é definido em KB.
-s: O parâmetro Stack Size Area define a área de memória interna utilizada pelos programas Progress. Este valor é definido em KB.
-Bt: Define a quantidade de blocos em memória que serão utilizados para a alocação de tabelas temporárias. A quantidade total de memória utilizada para tabelas temporárias será o produto da multiplicação do parâmetro -Bt com o parâmetro -tmpbsize.
-tmpbsize: Tamanho do bloco de memória utilizado para a alocação de tabelas temporárias. Este valor é definido em KB.

5. Recomenda-se que a sessão do Appserver contenha os seguintes parâmetros, configurados também no arquivo .pf:

-cpstream ibm850

-d dmy

-numsep 46

-numdec 44


6. O modo de operação do Broker deverá ser State-Reset. Não recomendamos a utilização de modos de operação diferentes deste, sob risco de instabilidade na utilização do produto.

7. O programa de Alias deve ser configurado como um Server Startup Procedure. O programa deve ter um parâmetro de entrada do tipo character e a criação dos Alias necessários para o ambiente. O processo de implantação do Datasul for THF gera um programa de Alias para o Appserver, com base nas configurações atuais do produto.


8. Alguns problemas de performance podem ocorrer quando o protocolo netbios está habilitado para o broker Appserver. Por isso, recomendamos desabilitá-lo, incluindo o parâmetro brkrNetbiosEnable=0  no arquivo ubroker.properties ou através da opção abaixo, nas configurações do broker na tela do Openedge Explorer:

netbios.png


Definição de um usuário de rede para o AdminService

Após instalar o AppServer, será necessário configurar o AdminService for OpenEdge, adicionando uma conta de login, conforme os passos abaixo:

Execute o Serviços do Windows, através do Executar (WIN + R) e executar o programa services.msc, conforme a imagem a seguir:










Localize o AdminService for OpenEdge e entre nas Propriedades desse serviço, clicando com o botão direito do mouse.












Acesse a aba Logon e informe uma conta de acesso à rede no logon, pois isso permitirá que o AppServer acesse programas que estejam em outros servidores em sua rede, depois volte para a aba Geral e clique em Iniciar o serviço.


















Após essa configuração do AppServer, acesse o OpenEdge Explorer através do link de acesso http://localhost:9090/login.jsp para ter acesso e poder ajustar o seu Appserver



















02. Configurações do JAVA

Será necessário criar duas variáveis de ambiente para o Java, para fazer isso acesse as Configurações do Windows, através do botão direito sobre o botão Iniciar, clicar na opção Sistema























Na tela que irá aparecer, clique na opção Informações do Sistema



















Será apresentado a tela abaixo onde você terá que clicar em Configurações avançadas do sistema














Dentro da tela de Propriedades do Sistema, clique em Variáveis de Ambiente


















Adicionar as seguintes variáveis de ambiente no servidor:

VariávelConteúdo de exemplo

JAVA_HOME

c:\Program Files\Java\jdk-11.0.2
CLASSPATH;%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib


Adicionar as seguintes variáveis de ambiente na máquina client:

VariávelConteúdo de exemplo

JAVA_HOME

c:\dlc117\jre
CLASSPATH;%JAVA_HOME%\bin;%JAVA_HOME%\lib



03. Configurações do Tomcat

Como melhorar a performance da carga do Tomcat utilizado pelo Datasul for THF?

1. Navegue até o diretório onde está instalado o Tomcat;
2. Faça um backup do arquivo conf\catalina.properties. Em seguida edite o arquivo e altere-o conforme procedimento a seguir:

De:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\

Para:

tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar\


3. Ainda no arquivo conf\catalina.properties realize a seguinte alteração:

De:

tomcat.util.scan.StandardJarScanFilter.jarsToScan=\

Para:

tomcat.util.scan.StandardJarScanFilter.jarsToScan=spring-webmvc*.jar,totvs-login-java*.jar,jstl*.jar\


4. Faça um backup do arquivo conf\server.xml. Edite o arquivo e localize a tag Host, localizada ao final do arquivo. Nesta tag, inclua a propriedade startStopThreads="3", conforme exemplo abaixo:

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" startStopThreads="3">

Este parâmetro define a quantidade de Threads que serão utilizadas no processo de carga do Tomcat. Defina-o de acordo com a quantidade de processadores disponíveis em seu servidor. Quanto maior a quantidade de Threads, mais rápido deve ser o startup da instância.



5. Certifique-se de que as alterações foram salvas e reinicie o Tomcat.




04. Configurações do TOTVS CORS Valve

Quando o produto não permitir realizar requisições para servidores diferentes, e esses bloqueios ocorram por causa de erros de CORS, será necessário seguir os seguintes passos para solucionar o problema:

<Valve className="com.totvs.valve.TotvsCorsValve"
            allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,tenantId,userId,companyId,authorization,returnformatversion,x-totvs-appcode"
            contextsToValidate="/totvs-login,/totvs-rest,/dts,/api,/webexecbo"
            allowOrigin="*"
            allowMethods="GET, POST, DELETE, PUT, PATCH, HEAD, OPTIONS"
            allowCredential="true" />

Caso seja necessário restringir o acesso de acordo com o servidor de origem, o mesmo deve ser informado no atributo allowOrigin no formato "<protocolo>://<servidor>:<porta>".

Ex: allowOrigin="http://localhost:8080"


IMPORTANTE!

A tag "Valve" deve estar configurada como o último elemento da tag "Host". Caso exista algum "Header" da request diferente dos informados anteriormente (allowHeaders), estes devem ser incluídos nessa tag.



05. Configurações do BIRT









https://tdn.totvs.com/pages/viewpage.action?pageId=519208539
Requisitos: https://tdn.totvs.com/pages/viewpageattachments.action?pageId=519208539&preview=/519208539/519705220/Piloto%20D4THF.pdf
Instalação: https://www.youtube.com/watch?v=kOZB0XnDyTw
Update JBOSS para THF: https://www.youtube.com/watch?v=IK1tFY-TZpM
Valve: https://tdn.totvs.com/display/LDT/Datasul-Valve
https://tdn.totvs.com/display/LDT/TOTVS+CORS+Valve
BIRT: https://tdn.totvs.com/pages/viewpage.action?pageId=507017154