Páginas filhas
  • Intellector 9 - Instalação

Versões comparadas

Chave

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

O TOTVS Intellector é uma solução para a gestão de processos decisórios, fornecendo uma interação fácil através de uma linguagem simples e prática. Este manual descreve passo-a-passo o processo de instalação do editor e servidor TOTVS Intellector para o WildFly Server versão 11.0.0.

Para quem se destina o manual

O público alvo para este manual são administradores de sistemas e application servers, e que tenha bom conhecimento de WildFly e JVM.

O que é necessário para entender esse manual

Este manual assume que os administradores tem familiaridade com os conceitos de administração e deployment do WildFly, Linux ou Windows e Sun JDK.


Pré-requisitos

Como um primeiro passo, verifique e tenha certeza de qual versão do TOTVS Intellector você deseja instalar ou atualizar. Baseado na versão, você pode determinar a compatibilidade apropriada das versões de WildFlys, Linux (veja as versões abaixo) ou Windows, e Java Oracle JDK.

  • Red Hat Enterprise versões 5.x (Tikanga) e 6.x (Santiago) 64 bits;
  • Cent OS versões 7.0 x 64 bits;
  • Ubuntu Server versão 14.04 LTS 64 bits.
Informações adicionais:
  • Configurar o encode do servidor para o formato  pt_BR.iso88591 caso esteja utilizando linux.
  • Permitir as conexões as portas do WildFly dentro do firewall
  • Caso esteja utilizando RedHat ou Centos desabilitar o selinux. 
JDK 8.0

Instale a Sun JDK 1.8 64 bits apropriada para sua plataforma. As bibliotecas JDK estão disponíveis no seguinte site: http://java.sun.com/javase/downloads/index.jsp. Recomendamos usar versão Update 202. O TOTVS Intellector NÃO FUNCIONA com JDK inferior ao Update 07 devido à API do JAXB.

Não é suficiente ter somente o Java Runtime Environment (JRE), é imprescindível ter a versão full-blown JDK.

Não se esqueça de configurar JAVA_HOME no seu ambiente, mas, forneceremos um bootstrap para o TOTVS Intellector onde essa variável é configurada.  É necessário realizar essa configuração, caso necessite poderá ser colocada em outro lugar. Embora a localização da instalação da JDK seja livre, sugerimos criar uma pasta "<drive>:\opt" no Windows ou usar o "/opt" no Unix, isso ajuda para propósitos de suporte. Instalando em sistemas Unix, tenha bastante cuidado com as permissões de escrita para owner/group para o diretório do WildFly, pois o TOTVS Intellector irá precisar "escrever" nesse diretório.


WildFly

O TOTVS Intellector 9 foi homologado na versão WildFly 11.0.0. Você pode fazer o download do WildFly, para qualquer plataforma do seguinte site: https://wildfly.org/downloads/ .

Este é um bom lugar para tirar dúvidas e procurar dicas sobre o WildFly: https://wildfly.org/gethelp/ .


Instalando...

Após instalar o Java JDK e o WildFly nos locais apropriados, é necessário realizar um teste de verificação da instalação, subindo o WildFly ($JBOSS_HOME/bin/standalone.sh ou standalone.bat no Windows). Para verificar a instalação, deverá clicar na url  http://localhost:9990/console   de administração do application server. Se a console pedir autenticação, siga esse artigo para criar usuários que podem ter acesso ao container.

Evite instalar JDK e WildFly em diretórios que contenham espaços no nome, como "C:\Arquivo de Programas" do Windows  Conheça mais sobre WildFly.


Bootstrap para WildFly e TOTVS Intellector

Os scripts de bootstrap para o TOTVS Intellector são simples, precisando apenas de pequenas modificações no que concerne a utilização de memória e variáveis de ambientes. Usar o nome run-intellector.sh no Linux/Unix e run-intellector.bat no Windows e, deve ficar em $JBOSS_HOME/bin com permissão explícita de execução (básico para os linuxers).

...

Bloco de código
languagejava
linenumberstrue
#!/bin/bash
export JAVA_HOME=<CAMINHO>/jdk1.8.0
export JBOSS_HOME=<CAMINHO>/wildfly11

# exporta variaveis de ambiente necessarias
export JAVA_OPTS="-XX:+TieredCompilation -Dprogram.name=standalone.sh -Xms512M -Xmx512M -XX:MaxPermSize=256M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Duser.server.node=mynode -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.server.default.config=standalone-full.xml.xml -Dfile.encoding=UTF-8 -Djboss.bind.address=127.0.0.1  -Dpersistence.configuration=$JBOSS_HOME/bin/persistence.properties"

# remove indicativo de hibernate.cfg.xml -Dpolicy.saveTrace=true -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 

# remove indicativo de erros no deployment
rm -fv /opt/wilfly11/standalone/deployments/*.failed
# atualize com seu IP
./standalone.sh -Djboss.bind.address.management=YOUR_IP -b YOUR_IP

...

Bloco de código
languagejava
linenumberstrue
set JAVA_HOME=<CAMINHO>\jdk1.8.0
set JBOSS_HOME=<CAMINHO>\wildfly-11.0.0.Final

rem alguns snipets para o bootstrap do Intellector
set JAVA_OPTS=-XX:+TieredCompilation -Dprogram.name=standalone.bat -Xms64M -Xmx512M -XX:MaxPermSize=256M -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Duser.server.node=mynode -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.server.default.config=standalone.xml

rem inicia o WildFly numa instancia e IP especificos
./call standalone . -Dfile.encoding=UTF-8 -Djboss.bind.address=127.0.0.1 -Dpersistence.configuration=JBOSS_HOME\bin\hibernate.cfg.xml -Dpolicy.saveTrace=true -Dsun.jnu.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 

rem inicia o WildFly numa instancia e IP especificos
./call standalone ./standalone.sh -Djboss.bind.address.management=YOUR_IP -b YOUR_IP

...

Configurações do Application Server para o TOTVS Intellector

O TOTVS Intellector tem uma característica de persistir alguns dados no File System da plataforma, seja persistência em XML (JAXB), seja dos plugins de acessos, políticas e layouts de políticas. Esse local de persistência, é um diretório ou uma árvore de diretórios. Você pode verificar, que no arquivo de bootstrap, existe uma variável intellector.datadir que deve apontar para um diretório válido, onde ocorrerá a persistência e o site criará o restante dos diretórios. Veja uma árvore de diretórios criada pelo site abaixo:

NUNCA MODIFIQUE NADA nos diretórios abaixo de Intellector.datadir.

  • Considerando intellector.datadir=/home/intellector como diretório raiz:
    1. /home/intellector/acessos -  diretório de instalação dos plugins de acesso; o TOTVS Intellector cria uma pasta para cada acesso;
    2. /home/intellector/key -  diretório para as licenças do TOTVS Intellector;
    3. /home/intellector/dados -  diretório raiz para persistência de cadastros (usuários, perfis, plugins, auditorias, etc.)
    4. /home/intellector/dados/person -  persistência de usuários cadastrados
    5. /home/intellector/dados/audit -  persistência de auditoria de execução de políticas (intellector.auditpolicy=true/false)
    6. /home/intellector/dados/plugin - persistências dos dados dos plugins instalados
    7. /home/intellector/dados/layouts - persistências de todos os layouts das políticas
    8. /home/intellector/dados/policy - persistências de todos as políticas enviadas do servidor
    9. /home/intellector/politicas - onde serão mantidas as classes das políticas compiladas
    10. /home/intellector/politicas/classes
    11. /home/intellector/politicas/classes/br
    12. /home/intellector/politicas/classes/br/com
    13. /home/intellector/politicas/classes/br/com/tools
    14. /home/intellector/politicas/classes/br/com/tools/politicas
    15. /home/intellector/tarifacao - pasta para os arquivos de Tarifação
 
Configurações do Application Server para o TOTVS Intellector

As seguintes configurações devem ser efetuadas no Appllication Server para que o TOTVS Intellector funcione corretamente.

  • Colocar a propriedade intellector.datadir no arquivo $JBOSS_HOME/standalone/standalone-full.xml logo após o fechamento da tag <extensions>.
Nota

ATENÇÃO: Lembrar de colocar o caminho onde deseja criar o datadir na propriedade "value".

Bloco de código
languagehtml/xml
linenumberstrue
<system-properties> 
    <property name="intellector.datadir" value="COLOQUE_AQUI_O_CAMINHO_DO_DATADIR"/> 
    <property name="persistence.configuration" value="MEU_CAMINHO/persistence.properties" /> 
</system-properties>
Dica

OPCIONAL: Na tag de logging (<subsystem xmlns="urn:jboss:domain:logging:3.0">) adicionar o item abaixo para que warnings sobre utilização de classes privadas da API (as commons-*, por exemplo) sejam suprimidos.

Bloco de código
languagehtml/xml
linenumberstrue
<logger category="org.jboss.as.config"> 
    <level name="ERROR"/> 
</logger>

  

  • Criar a fila do Intellector no HornetQ, para isso basta substituir a tag <jms-destinations> pela que está abaixo, no arquivo $JBOSS_HOME/standalone/standalone-full.xml. 
Bloco de código
languagehtml/xml
linenumberstrue
<jms-destinations> 
    <jms-queue name="intellectorQueue"> 
    <entry name="queue/intellector"/> 
    <entry name="java:jboss/exported/jms/queue/intellector"/> 
    </jms-queue> 
    <jms-topic name="intellectorTopic"> 
    <entry name="topic/intellector"/> 
    <entry name="java:jboss/exported/jms/topic/intellector"/> 
    </jms-topic> 
</jms-destinations> 
Módulos a serem alterados e criados

Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para Postgres.

    • Definições: 
      • Assumimos que o driver usado é a versão 9.3: postgresql-9.3-1103.jdbc4.jar.
      • Será usado o método de deploy do driver diretamente no diretório de módulos do WildFly. 

...

Bloco de código
languagexml
titleExemplo de criação de módulo para registrar o driver Postgres JDBC.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
     <resources>
         <resource-root path="postgresql-9.3-1103.jdbc4.jar"/>
     </resources>
     <dependencies>
         <module name="javax.api"/>
         <module name="javax.transaction.api"/>
         <module name="javax.servlet.api" optional="true"/>
     </dependencies>
 </module>
    • Coloque o arquivo postgresql-9.3-1103.jdbc4.jar no mesmo diretório que o arquivo module.xml. Após esse procedimento o driver já pode ser utilizado para configurar uma conexão JNDI no arquivo standalone-full.xml ou no arquivo de configuração usado pela instância.

Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para Oracle.

...

Bloco de código
languagexml
titleExemplo de criação de módulo para registrar o driver Oracle JDBC.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc6">
     <resources>
         <resource-root path="ojdbc6-11.2.0.3.0.jar"/>
     </resources>
     <dependencies>
         <module name="javax.api"/>
         <module name="javax.transaction.api"/>
      </dependencies>
  </module>

Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para MSSQLSever.

...

Bloco de código
languagexml
titleExemplo de criação de módulo para registrar o driver Oracle JDBC.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="net.sourceforge.jtds">
     <resources>
         <resource-root path="jtds-1.2.7.jar"/>
     </resources>
     <dependencies>
         <module name="javax.api"/>
         <module name="javax.transaction.api"/>
      </dependencies>
  </module>

...

As seguintes configurações devem ser efetuadas no Appllication Server para que o TOTVS Intellector funcione corretamente.

Dica

OPCIONAL: Na tag de logging (<subsystem xmlns="urn:jboss:domain:logging:3.0">) adicionar o item abaixo para que warnings sobre utilização de classes privadas da API (as commons-*, por exemplo) sejam suprimidos.



Bloco de código
languagehtml/xml
linenumberstrue
<logger category="org.jboss.as.config"> 
    <level name="ERROR"/> 
</logger>

  

Módulos a serem alterados e criados

Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para Postgres.

    • Definições: 
      • Assumimos que o driver usado é a versão 9.3: postgresql-9.3-1103.jdbc4.jar.
      • Será usado o método de deploy do driver diretamente no diretório de módulos do WildFly. 
    • Passos:
      • Crie o caminho  $JBOSS_HOME\modules\org\postgresql\main. Parte do caminho já deve existir, portanto basta criar o restante.
      • Crie um arquivo com o nome $JBOSS_HOME\modules\org\postgresql\main\module.xml com o conteúdo abaixo. Repare que o conteúdo do atributo "path" refere-se ao nome do jar do driver que será usado.  

Bloco de código
languagexml
titleExemplo de criação de módulo para registrar o driver Postgres JDBC.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
     <resources>
    

...

Bloco de código
languagehtml/xml
linenumberstrue
<resources> 
    <resource-root path="spring-asm.jar"/> 
    <resource-root path="spring-aop.jar"/> 
    <resource-root path="spring-context.jar"/> 
    <resource-root path="spring-core.jar"/> 
    <resource-root path="spring-beans.jar"/> 
    <resource-root path="spring-tx.jar"/> 
    <resource-root path="spring-jms.jar"/> 
    <resource-root path="spring-expression.jar"/> 
    <resource-root path="spring-web.jar"/> 
</resources>

CXF 2.6.4

  • Remover o conteúdo do diretório $JBOSS_HOME\modules\org\apache\cxf\impl\main.
  • Baixar os jars da lista a seguir e colocar no diretório criado no item anterior
  • cxf-rt-bindings-coloc-2.6.4.jar

  • cxf-rt-bindings-object-2.6.4.jar

  • cxf-rt-bindings-soap-2.6.4.jar

  • cxf-rt-bindings-xml-2.6.4.jar

  • cxf-rt-core-2.6.4.jar

  • cxf-rt-databinding-aegis-2.6.4.jar

  • cxf-rt-databinding-jaxb-2.6.4.jar

  • cxf-rt-frontend-jaxws-2.6.4.jar

  • cxf-rt-frontend-simple-2.6.4.jar

  • cxf-rt-management-2.6.4.jar

  • cxf-rt-transports-http-2.6.4.jar

  • cxf-rt-transports-jms-2.6.4.jar

  • cxf-rt-transports-local-2.6.4.jar

  • cxf-rt-ws-addr-2.6.4.jar

  • cxf-rt-ws-mex-2.6.4.jar

  • cxf-rt-ws-policy-2.6.4.jar

  • cxf-rt-ws-rm-2.6.4.jar

  • cxf-rt-ws-security-2.6.4.jar

  • cxf-services-sts-core-2.6.4.jar

  • cxf-tools-common-2.6.4.jar

  • cxf-tools-java2ws-2.6.4.jar

  • cxf-tools-validator-2.6.4.jar

  • cxf-tools-wsdlto-core-2.6.4.jar

  • cxf-tools-wsdlto-databinding-jaxb-2.6.4.jar

  • cxf-tools-wsdlto-frontend-jaxws-2.6.4.jar

  • cxf-xjc-boolean-2.6.1.jar

  • cxf-xjc-dv-2.6.1.jar

  • cxf-xjc-ts-2.6.1.jar

    Criar o arquivo module.xml no diretório main e inserir o conteúdo abaixo:

    Bloco de código
    languagexml
    title$JBOSS_HOME\\modules\\org\\apache\\cxf\\impl\\main\\module.xml
     <?xml version="1.0" encoding="UTF-8"?> <!-- ~ JBoss, Home of Professional Open Source. ~ Copyright 2012, Red Hat, Inc., and individual contributors ~ as indicated by the @author tags. See the copyright.txt file in the ~ distribution for a full listing of individual contributors. ~ ~ This is free software; you can redistribute it and/or modify it ~ under the terms of the GNU Lesser General Public License as ~ published by the Free Software Foundation; either version 2.1 of ~ the License, or (at your option) any later version. ~ ~ This software is distributed in the hope that it will be useful, ~ but WITHOUT ANY WARRANTY; without even the implied warranty of ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ~ Lesser General Public License for more details. ~ ~ You should have received a copy of the GNU Lesser General Public ~ License along with this software; if not, write to the Free ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. --> <module xmlns="urn:jboss:module:1.1" name="org.apache.cxf.impl"> <properties> <property name="jboss.api" value="private"/> </properties> <resources> <resource-root path="cxf-rt-bindings-coloc-2.6.4.jar"/> <resource-root path="cxf-rt-bindings-object-2.6.4.jar"/> <resource-root path="cxf-rt-bindings-soap-2.6.4.jar"/> <resource-root path="cxf-rt-bindings-xml-2.6.4.jar"/> <resource-root path="cxf-rt-core-2.6.4.jar"/> <resource-root path="cxf-rt-databinding-aegis-2.6.4.jar"/> <resource-root path="cxf-rt-databinding-jaxb-2.6.4.jar"/> <resource-root path="cxf-rt-frontend-jaxws-2.6.4.jar"/> <resource-root path="cxf-rt-frontend-simple-2.6.4.jar"/> <resource-root path="cxf-rt-management-2.6.4.jar"/> <resource-root path="cxf-rt-transports-http-2.6.4.jar"/> <resource-root path="cxf-rt-transports-jms-2.6.4.jar"/> <resource-root path="cxf-rt-transports-local-2.6.4.jar"/> <resource-root path="cxf-rt-ws-addr-2.6.4.jar"/> <resource-root path="cxf-rt-ws-mex-2.6.4.jar"/> <resource-root path="cxf-rt-ws-policy-2.6.4.jar"/> <resource-root path="cxf-rt-ws-rm-2.6.4.jar"/> <resource-root path="cxf-rt-ws-security-2.6.4.jar"/> <resource-root path="cxf-services-sts-core-2.6.4.jar"/> <resource-root path="cxf-tools-common-2.6.4.jar"/> <resource-root path="cxf-tools-java2ws-2.6.4.jar"/> <resource-root path="cxf-tools-validator-2.6.4.jar"/> <resource-root path="cxf-tools-wsdlto-core-2.6.4.jar"/> <resource-root path="cxf-tools-wsdlto-databinding-jaxb-2.6.4.jar"/> <resource-root path="cxf-tools-wsdlto-frontend-jaxws-2.6.4.jar"/> <resource-root path="cxf-xjc-boolean-2.6.1.jar"/> <resource-root path="cxf-xjc-dv-2.6.1.jar"/>
         <resource-root path="
    cxf
    postgresql-
    xjc-ts-2.6.1
    9.3-1103.jdbc4.jar"/>
         </resources>
         <dependencies>
            
    <module
     
    name="asm.asm" />
    <module name="javax.api"
    />
             <module name="javax.
    annotation
    transaction.api"
    />
             <module name="javax.
    jms
    servlet.api" 
    /> <module name="javax.jws.api"
    optional="true"/>
         
    <module name="javax.mail.api" /> <module name="javax.resource.api" /> <module name="javax.servlet.api" /> <module name="javax.wsdl4j.api" /> <module name="javax.xml.bind.api" services="import"/> <module name="com.sun.xml.bind" services="import"/> <module name="javax.xml.soap.api" /> <module name="javax.xml.stream.api" /> <module name="javax.xml.ws.api" />
    </dependencies>
     </module>
      • Coloque o arquivo postgresql-9.3-1103.jdbc4.jar no mesmo diretório que o arquivo module.xml. Após esse procedimento o driver já pode ser utilizado para configurar uma conexão JNDI no arquivo standalone-full.xml ou no arquivo de configuração usado pela instância.

    Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para Oracle.

    • Criar módulo $JBOSS_HOME\modules\com\oracle\ojdbc6\main
    • Baixar o jar ojdbc6-11.2.0.3.0.jar e colocar no diretório criado no item anterior.
    • Criar o arquivo module.xml no diretório main e inserir o conteúdo abaixo: $JBOSS_HOME\\modules\com\oracle\ojdbc6\main\module.xml

    Bloco de código
    languagexml
    titleExemplo de criação de módulo para registrar o driver Oracle JDBC.
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="com.oracle.ojdbc6">
         <resources>
             

    ...

    <resource-root path="ojdbc6-11.2.0.3.0.jar"/>
         </resources>
       

    ...

     

    ...

     <dependencies>
             <module name="

    ...

    javax.

    ...

    api"

    ...

    />
             <module name="

    ...

    javax.

    ...

    transaction.

    ...

    api"

    ...

    />
          

    ...

    Instalando uma Licença para o TOTVS Intellector
    </dependencies>
      </module>

    Criar módulo e registrar os drivers de banco. Como exemplo usaremos a criação de um módulo com o driver para MSSQLSever.

    • Criar módulo $JBOSS_HOME\modules\net\sourceforge\jtds\main
    • Baixar o jar jtds-1.2.7jar e colocar no diretório criado no item anterior.
    • Criar o arquivo module.xml no diretório main e inserir o conteúdo abaixo: $JBOSS_HOME\\modules\com\oracle\ojdbc6\main\module.xml

    Bloco de código
    languagexml
    titleExemplo de criação de módulo para registrar o driver Oracle JDBC.
    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="net.sourceforge.jtds">
         <resources>
             <resource-root path="jtds-1.2.7.jar"/>
         </resources>
         <dependencies>
             <module name="javax.api"/>
             <module name="javax.transaction.api"/>
          </dependencies>
      </module>

    O TOTVS Intellector trabalha com 3 (três) modelos de licenciamento, Enterprise, Limited e Trial. Essas licenças estarão contidas em um único arquivo nomeado intellector.key (outro nome não será reconhecido) que deverá ser colocado no diretório ${intellector.datadir}/key. Ele poderá ser copiado para esse local a qualquer momento, não necessitando de qualquer intervenção no servidor.

    • Tipos de licenças:
    1. Enterprise -  totalmente livre para execução de qualquer política sem data de expiração;
    2. Limited -      determinada por um tipo específico e uma data de expiração ou não;
    3. Trial -          tipos de políticas livres e com uma data de expiração.

    ...


    Deployment do TOTVS Intellector no WildFly

    Considerando que o item instalando o WildFly foi seguido, o próximo passo será o deployment (instalação) do pacote iw-editor-*.ear em uma instância do WildFly.

    ...

    1. Copiar intellector-ear.ear dentro do diretório $JBOSS_HOME/standalone/deployments;
    2. Se for uma atualização de versão, simplesmente remova o iw-editor-*.ear, ANTES de extrair a nova versão. As pastas log, tmp e work situadas abaixo da instância, neste caso: $JBOSS_HOME/standalone/log, tmp, etc,  poderão ser guardadas, mas é uma boa prática excluí-las.
     
    Iniciando o WildFly

    Se os passos foram seguidos e tudo correu bem, então é hora de iniciar o WildFly. No diretório $JBOSS_HOME/bin, inicie o batch simplesmente digitando ./run-intellector.sh (linux/unix) ou run-intellector.bat no Windows. Segue abaixo o início e o fim do bootstrap do WildFly:

    ...

    Normalmente, ajustes adicionais, ou tuning, dependem de plataforma, número de requisições, escalabilidade, multi-ip, dentre outras, a mais comum é alterar a porta onde o container irá atender default é a 8080. Outros casos, como HTTPS ou load balancer, envolvendo o Apache, devem ser analisadas e não fazem parte do escopo desse manual.

    Arquivo 

    ...

    hibernate,cfg,xml

    Para utilização da persistência de acessos no TOTVS Intellector Server, na primeira execução antes da utilização do cache, deverá ser copiado o arquivo de configuração hibernate.cfg.xml para o diretório $JBOSS_HOME/bin, como descrito abaixo.

    ...


    Bloco de código
    languagehtml/xml
    linenumberstrue
    ==============================================================
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    
    		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    
    		"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    
    <hibernate-configuration>
        <session-factory name="iw-Editor">
    
    		<!-- conexao via JNDI -->
            <property name="hibernate.connection.datasource">java:/intellector/totvs</property>
    
    		<!-- ORACLE -->
    		<property name="hibernate.dialect">br.com.totvs.oracle.Oracle10gDialectFix</property>
    
    		<!-- MSSQL SERVER -->
    		<!--<property name="hibernate.dialect">org.hibernate.dialect.SQLServer2012Dialect</property>-->
    
    		<!-- POSTGRESQL -->
    		<!--<property name="hibernate.dialect">br.com.totvs.postgres.PostgreSQL82DialectFix</property> -->
    		<!--<property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect<PostgreSQL9Dialect</property>-->
    		
    		<property name="hibernate.show_sql">true</property>
    		<property name="hibernate.format_sql">true</property>
    		<property name="hibernate.hbm2ddl.auto">update</property>
    		<property name="hibernate.enable_lazy_load_no_trans">true</property>
    
    		<!-- PARA ORACLE DESCOMENTAR E DEFINIR O NOME DO SCHEMA -->
    		<!--<property name="hibernate.default_schema">NOME_DO_SCHEMA</property>-->
    
    TODO:		
    		<!-- popula inicial da base de dados -->
            <!--<property name="hibernate.hbm2ddl.import_files">/import.sql</property>-->
    
    
            <!-- cache -->        
            <property name="hibernate.cache.use_second_level_cache">true</property>
            <property name="hibernate.max_fetch_depth">1</property>
            <property name="hibernate.cache.use_minimal_puts">true</property>
            <property name="hibernate.use_second_level_cache">false</property>
    
    		<!-- class mapping -->
    		<mapping class="br.com.totvs.policy.IwPolitica" />
    		<mapping class="br.com.totvs.action.IwAcao" />
    		<mapping class="br.com.totvs.action.IwAcaoTipoPolitica" />
    		<mapping class="br.com.totvs.var.IwVariavel" />
    		<mapping class="br.com.totvs.var.IwVariavelPolitica" />
    		<mapping class="br.com.totvs.parameter.IwParameter" />
    		<mapping class="br.com.totvs.policy.IwCtrlEdicaoPolitica" />
    		<mapping class="br.com.totvs.user.IwUsuarios" />
    		<mapping class="br.com.totvs.profile.IwPerfil" />
    		<mapping class="br.com.totvs.functionality.IwFuncionalidade" />
    		<mapping class="br.com.totvs.policytype.IwTipoPolitica" />
    		<mapping class="br.com.totvs.policy.IwPoliticaObjeto" />
    		<mapping class="br.com.totvs.plugin.IwPlugin" />
    		<mapping class="br.com.totvs.trace.IntTracePolitica" />
    		<mapping class="br.com.totvs.policy.IntExecucaoPolitica" />
            <mapping class="br.com.totvs.fare.TarExecucaoAnalitica" />
    		<mapping class="br.com.totvs.access.IntPersistenciaAcesso" />
    		<mapping class="br.com.totvs.fare.TarParametros" />
    		<mapping class="br.com.totvs.fare.TarLogArquivosTarifacao" />
    		<mapping class="br.com.totvs.fare.TarExecucaoTotalHist" />
    		<mapping class="br.com.totvs.fare.TarExecucaoTotal" />
    		<mapping class="br.com.totvs.fare.TarExecucaoDiariaHist" />
    		<mapping class="br.com.totvs.fare.TarExecucaoDiaria" />
    		<mapping class="br.com.totvs.fare.TarExecucaoAnaliticaHist" />
    		<mapping class="br.com.totvs.access.IntPersistenciaAcessoHist" />
    		<mapping class="br.com.totvs.access.IntPersistenciaAcesso" />
    		<mapping class="br.com.totvs.audit.IntAuditaAcesso" />
        </session-factory>
    
    </hibernate-configuration>
    
    



    Configurando Pool de Conexões - JNDI
    - TODO: REVER AS BASES DE DADOS, NOTADAMENTE POSTGRES

    • O pool de conexão deve ser habilitado usando a console.

    • Deve-se definir um banco de dados para o Intellector persistir suas informações. A definição do banco de dados é efetuada no arquivo standalone.xml na tag <datasources>. O nome do JNDI não pode ser alterado (jndi-name="java:/intellector/totvs).
      .
      • Exemplo datasource Postgres
        • Formato da conexão: <IP_SERVIDOR_BANCO_DE_DADOS>:<PORTA>/<BASE>

          Bloco de código
          languagexml
          titleExemplo datasource Postgres
                          <datasource jta="false" jndi-name="java:/intellector/totvs" pool-name="intellector/totvs" enabled="true" use-ccm="false">
                              <connection-url>jdbc:postgresql://127.0.0.1:5432/postgres</connection-url>
                              <driver-class>org.postgresql.Driver</driver-class>
                              <driver>postgresql-driver</driver>
                              <pool>
                                  <min-pool-size>1</min-pool-size>
                                  <max-pool-size>30</max-pool-size>
                              </pool>
                              <security>
                                  <user-name>postgres</user-name>
                                  <password>01totvs02tools03</password>
                              </security>
                              <validation>
                                  <validate-on-match>false</validate-on-match>
                                  <background-validation>false</background-validation>
                              </validation>
                              <statement>
                                  <share-prepared-statements>false</share-prepared-statements>
                              </statement>
                          </datasource>
      • Exemplo datasource Oracle

        Bloco de código
        languagexml
        titleExemplo datasource Oracle
        <datasource jta="false" jndi-name="java:/intellector/totvs" pool-name="intellector/totvs" enabled="true" use-ccm="false">
                            <connection-url>jdbc:oracle:thin:@10.5.1.1:1521:Oralin</connection-url>
                            <driver-class>oracle.jdbc.OracleDriver</driver-class>
                            <driver>oracle-driver</driver>
                            <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                            <pool>
                                <min-pool-size>5</min-pool-size>
                                <max-pool-size>20</max-pool-size>
                            </pool>
                            <security>
                                <user-name>Protheus12_teste</user-name>
                                <password>totvs@1</password>
                            </security>
                            <validation>
                                <validate-on-match>false</validate-on-match>
                                <background-validation>false</background-validation>
                            </validation>
                            <statement>
                                <share-prepared-statements>false</share-prepared-statements>
                            </statement>
        </datasource>
    Apontamento dos drivers de conexão.

    Informar todos os drivers/modules que foram utilizados dentro do arquivo standalone-full.xml

    Bloco de código
    languagexml
    titleExemplo datasource Oracle
                    <drivers>
                        <driver name="postgresql-driver" module="org.postgresql">
                            <driver-class>org.postgresql.Driver</driver-class>
                        </driver>
                        <driver name="oracle-driver" module="com.oracle.ojdbc6">
                            <driver-class>oracle.jdbc.OracleDriver</driver-class>
                        </driver>
                        <driver name="jtds-driver" module="net.sourceforge.jtds">
                            <driver-class>net.sourceforge.jtds.jdbc.Driver</driver-class>
                        </driver>
                    </drivers>
     
    Informações

    Se referem ao banco de dados onde serão armazenadas as informações de cache e auditoria. Os bancos homologados para essas funcionalidades foram Oracle 10g e 1112c, SQL Server 2008 e PostgreSQL 9.x.


    Baixe aqui um WildFly11 com essas configurações.