Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

...

Objetivo 

O objetivo desta página deste documento é demonstrar como sobrescrever as propriedades do produto DATASUL utilizadas em um ambiente com Tomcat.

Na versão do produto com JBoss, temos vários arquivos de propriedades (datasul_framework.properties, config.xml, di.properties, etc.), que acabam dificultando o gerenciamento.  Na nova arquitetura, o tratamento de propriedades do sistema foi alterado, onde as mesmas foram colocadas dentro do banco de dados para facilitar o gerenciamento e manutenção, com isso houve uma centralização das propriedades. Agora temos telas HTML de Propriedades do Sistema, facilitando o acesso e manutenção do ambiente.

A única configuração obrigatória em arquivo que teremos que ter é a URL de conexão no AppServer que ficar dentro do arquivo TOMCAT/conf/context.xml.
Para informarmos para a instância do produto no Tomcat qual deverá ser o Appserver a ser utilizado através da tag Environment conforme o exemplo abaixo:

<Environment name="totvs.appserver" value="AppServer://servidor:5162/totvs-brk1" type="java.lang.String" />



...

Arquitetura

Podemos montar vários formatos de ambientes quando estamos trabalhando com servidores Tomcat, conforme abaixo:

Neste exemplo temos um ambiente de produção distribuído entre vários Tomcats e Appservers, onde todos se conectam ao mesmo servidor de bancos de dados de produção. O que informará ao Tomcat qual o Appserver que o mesmo deverá se conectar é a propriedade "totvs.appserver" que fica dentro do arquivo TOMCAT/conf/context.xml.

<Environment name="totvs.appserver" value="AppServer://servidor:5162/totvs-brk1" type="java.lang.String" />


Image Added


Neste outro exemplo, temos os seguintes ambientes: produção, desenvolvimento e testes.

O nosso ambiente de produção está apontando para um único servidor Appserver e servidor de banco de dados.

Já o ambiente de desenvolvimento e testes podem apontar para um servidor Appserver diferente, onde cada um terá o seu próprio PROPATH, e cada servidor Appserver poderá apontar para o mesmo servidor de banco de dados.

Image Added

Neste formato, onde podemos ter vários servidores appserver, através do arquivo TOMCAT/conf/context.xml, podemos especificar propriedades diferentes em cada servidor, por exemplo:

- No Tomcat de desenvolvimento, teremos o timeout "0", onde o mesmo é desligado. Já no Tomcat de testes, teremos um timeout de "10" minutos.

Então concluímos que através do arquivo TOMCAT/conf/context.xml, podemos ter propriedades diferenciadas para os ambientes, onde os valores especificados ficarão "fixos" dentro desses ambientes.



...

Context.xml


Por meio do arquivo context.xml é possível sobrescrever as propriedades do produto DATASUL, o arquivo fica localizado na pasta conf onde foi instalado o Tomcat. Para realizar o procedimento basta adicionar um nova Environment no arquivo context.xml.

...

<Environment name="totvs.menu.html.color" value="#09ddea" type="java.lang.String"/>


Quando adicionamos uma propriedade no context.xml, estamos "sobrescrevendo" o valor desta propriedade, onde o valor já existente no banco de dados será ignorado e será desconsiderado qualquer valor especificado na tela HTML de Propriedades do Sistema. Este recurso é muito interessante quando temos ambientes de teste, homologação, desenvolvimento e produção, pois cada um poderá ter o seu proprio AppServer e as suas propriedades customizadas.


Informações

Todos as propriedades são do tipo java.lang.String

...



...

Agrupadores de Propriedades


A partir da versão 12.1.28 do produto DATASUL, estamos criando agrupadores de propriedades

...

, que tem como objetivo facilitar a montagem, gerenciamento e redução dos recursos necessários para os ambientes.

Um exemplo interessante de utilização dos agrupadores, seria em um ambiente de homologação e de desenvolvimento, onde utilizando os agrupadores poderemos ter propriedades com valores diferenciados entre eles, com isso podemos utilizar o mesmo servidor Appserver e o mesmo servidor de banco de dados.

Image Added

Neste exemplo, a configuração do arquivo TOMCAT/conf/context.xml seria o seguinte:

  • Ambiente de Desenvolvimento


Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <Environment name="totvs.appserver" value="AppServer://servidorApp:5162/totvs-brk1" type="java.lang.String" />
    <Environment name="totvs.envprop.group" value="desenv" type="java.lang.String" />
    <Environment name="totvs.license.ambient.type" value="normal" type="java.lang.String" />
</Context>


  • Ambiente de Homologação


Bloco de código
<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <Environment name="totvs.appserver" value="AppServer://servidorApp:5162/totvs-brk1" type="java.lang.String" />
    <Environment name="totvs.envprop.group" value="homolog" type="java.lang.String" />
    <Environment name="totvs.license.ambient.type" value="test" type="java.lang.String" />
</Context>




...

Lista de propriedades que podem ser sobrescritas

PropriedadeObrigatório?Descrição
totvs.appserverSimContém o caminho, tipo url, para o appserver progress no formato <appserver://host:port/service> ou no formato <http://host:port/apsv>.
CategoriaPropriedade
TOTVS.CONFIGtotvs.config.shortcuts[0].ts.app
totvs.config.shortcuts[0].ts.balancertotvs.config.shortcuts[0].ts.gatewaytotvs.config.shortcuts[0].ts.pathINItotvs.config.shortcuts[0].ts.pathPtotvs.config.shortcuts[0].ts.pathPFtotvs.config.shortcuts[0].ts.servertotvs.config.shortcuts[0].typetotvs.config.shortcuts[0].descriptiontotvs.config.shortcuts[0].webspeed.urltotvs.config.server.webporttotvs.config.server.webport.exttotvs.config.shortcuts[0].local.pathINItotvs.config.shortcuts[0].local.pathPtotvs.config.shortcuts[0].local.pathPFtotvs.config.shortcuts[0].citrix.apptotvs.config.shortcuts[0].citrix.servertotvs.config.shortcuts[0].goglobal.apptotvs.config.shortcuts[0].goglobal.pathINItotvs.config.shortcuts[0].goglobal.pathPtotvs.config.default.shortcuttotvs.config.progress.preloadtotvs.config.server.hosttotvs.config.server.porttotvs.config.shortcuts[0].goglobal.pathPFtotvs.config.server.host.exttotvs.config.shortcuts[0].goglobal.servertotvs.config.shortcuts[0].goglobal.serverASPtotvs.config.shortcuts[0].goglobal.urltotvs.config.shortcuts[0].goglobal.versiontotvs.config.shortcuts[0].ts.port
TOTVS.EMAILtotvs.email.security.key
TOTVS.LICENSE
totvs.license.ambient.typetotvs.license.portNãoDefine o tipo de licenciamento do ambiente. Poderá conter os seguintes valores: normal, test, demonstration.totvs.license.server
totvs.license.timeouttotvs.license.emergency.keyportNãoDefine a porta do License Server a ser utilizada.TOTVS.MENU
totvs.menu.central.base.pathtotvs.menu.html.colortotvs.menu.html.custom.logototvs.menu.locatedtotvs.menu.max.recentstotvs.menu.user.auto.updatetotvs.menu.web.tabs
TOTVS.SECURITYtotvs.ldap.[0].user.base
totvs.ldap.[0].domaintotvs.ldap.[0].manager.dntotvs.ldap.[0].manager.passwordtotvs.ldap.[0].urltotvs.ldap.[0].user.search.basetotvs.ldap.[0].user.search.filtertotvs.progress.securitytotvs.windows.urltotvs.session.control.qty.sessionstotvs.session.control.verif.timetotvs.session.controltotvs.session.control.exceptiontotvs.timeouttotvs.timeout.exceptiontotvs.timeout.messagetotvs.user.suggest_last_logged_user
license.serverNãoDefine o nome do servidor aonde o License Server esta sendo executado.
totvs.envprop.groupNãoDefine o nome do agrupador de propriedades, caso não seja informado, será considerado o registro padrão que está especificado dentro do banco de dados.
ADVANCED SECURITYtotvs.enable.recover.password
totvs.advancedSecurity.passwordLengthtotvs.advancedSecurity.denyPasswordEqualToUserCodetotvs.advancedSecurity.passwordHistorytotvs.advancedSecurity.alphanumericCharSettotvs.advancedSecurity.failedLoginTriestotvs.advancedSecurity.temporaryLoginBlockingtotvs.advancedSecurity.expiredPasswordOption
TOTVS.SETTINGStotvs.api.manager.cert.path
totvs.report.engineDirtotvs.report.rptDesignDirtotvs.rfi.user
TOTVS.SNOWDENtotvs.snowden.enable
totvs.snowden.report.admin


...