Páginas filhas
  • Instalação do Servidor - Server (JBoss 7.1.1)

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 passapasso-a-passo o processo de instalação do servidor TOTVS Intellector para o JBoss o JBoss Application Server versão 7.1.1.

  • Para o manual de instalação no JBoss 4.2.3. clique aqui.
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 JBoss 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 JBoss, Linux ou Windows e Sun JDK.

 

Pré-requisitos

Como um primeiro passo, verifique e tenha certeza de qual versão do Intellector você TOTVS Intellector você deseja instalar ou atualizar. Baseado na versão, você pode determinar a compatibilidade apropriada das versões de JBoss, 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;
  • CentOS Cent OS versões 67.0 x 64 bits;
  • Ubuntu Server versão 1214.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 JBoss dentro do firewall
  • Caso esteja utilizando RedHat ou Centos desabilitar o selinux. 
JDK 7.0

Instale a Sun JDK 61.0 7 64 bits apropriada para sua plataforma. As JDKs bibliotecas JDK estão disponíveis no seguinte site: http://java.sun.com/javase/downloads/index.jspA versão atual do Intellector SOMENTE funciona com a Java SE Development Kit (JDK) 6 Update 30 ou superior; recomendamos usar superior ao Update 30. O Intellector NÃO FUNCIONA com . Recomendamos usar versão Update 80. 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), você realmente precisa do  é imprescindível ter a versão full-blown JDK.

Não se esqueça de configurar JAVAconfigurar JAVA_HOME no HOME no seu ambiente, mas, forneceremos um bootstrap pro  para o TOTVS Intellector, onde essa variável é configurada, mas você pode querer colocá-la .  É necessário realizar essa configuração, caso necessite poderá ser colocada em outro lugar, não se esqueça dela!. 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 de escrita para owner/group para o diretório do JBoss, pois o Intellector vai precisar escrever nesse TOTVS Intellector irá precisar "escrever" nesse diretório.

 

 JBoss

OTOTVS Intellector foi testado homologado nas versões JBoss 4.2.3-GA, JBoss EAP 6.3 e JBoss 7.1.1. Você pode fazer o download do JBoss, para qualquer plataforma do seguinte site: http://www.jboss.org/jbossas/downloads/ .

Este é um bom lugar para tirar dúvidas e procurar dicas sobre o JBoss...: http://wiki.jboss.org/ .

 

Instalando...

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

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

 

Bootstrap para JBoss e TOTVS Intellector

Os scripts de bootstrap para oTOTVS Intellector são simples, precisando apenas de pequenas modificações no que concerne a utilização de memória e variáveis de ambientes. Sugiro usar  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!).

  • No Linux/Unix; , observe que coloco será colocado a versão do JBoss; o , porém,  o ideal é criar um link simbólico e usar somente /opt/jboss;
  • Teremos mais abaixo, um arquivo de propriedades (persistence.properties) usadas pelo TOTVS Intellector e deve ficar em $JBOSS_HOME/bin;
  • Não use a use a variável de ambiente -Duser.dir=seu_dir, pois isso impede o TOTVS Intellector de compilar as políticas!.
Bloco de código
languagejava
linenumberstrue
#!/bin/bash
# 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 -Dpersistence.configuration=$JBOSS_HOME/bin/persistence.properties"

# remove indicativo de erros no deployment
rm -fv /opt/jboss7/standalone/deployments/*.failed
# atualize com seu IP
./standalone.sh -

...

Djboss.bind.address.management=YOUR_IP -b YOUR_IP

 

No Windows:

Bloco de código
languagejava
linenumberstrue
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-full.xml

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

 

Área de dados 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 variável intellector.datadir que deve apontar 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  nos diretórios abaixo de intellectorde Intellector.datadir.

  • Considerando Considerando intellector.datadir=/home/intellector como diretório raiz:
    1. /home/intellector/acessos - diretório   diretório de instalação dos plugins de acesso; o TOTVS Intellector -NG cria uma pasta para cada acesso;
    2. /home/intellector/key - diretório   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  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  persistências dos dados dos plugins instalados
    7. /home/intellector/dados/layouts layouts - persistências  persistências de todos os layouts das políticas
    8. /home/intellector/dados/policy - persistências  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:1.1">) 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.dependency.private"> 

...

    <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 JBoss. 
    • 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>
         

...

<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.

  • 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"/>
      </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>


Spring 
Framework

 

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
    • 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-xjc-ts-2.6.1.jar"/>
          </resources>
          <dependencies>
              <module name="asm.asm" />
              <module name="javax.api" />
              <module name="javax.annotation.api" />
              <module name="javax.jms.api" />
              <module name="javax.jws.api" />
              <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" />
              <module name="org.apache.commons.lang" />
              <module name="org.apache.neethi" />
              <module name="org.apache.velocity" />
              <module name="org.apache.xml-resolver" />
              <module name="org.apache.ws.xmlschema" />
              <module name="org.apache.ws.security" />
              <module name="org.apache.santuario.xmlsec" />
              <module name="org.joda.time" />
              <module name="org.opensaml" />
              <module name="org.springframework.spring" optional="true"/> 
              <module name="org.apache.cxf" export="true"/> 
          </dependencies>
      </module>
Instalando uma Licença para o TOTVS Intellector

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 JBoss

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

  • Sigamos os passos:
  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 intellector-ear.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 JBoss

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

  • Iniciando
Bloco de código
languagejava
linenumberstrue
========================================================================= 
  
  JBoss Bootstrap Environment 
  
  JBOSS_HOME: /opt/jboss7
  
  JAVA: java 
  
  JAVA_OPTS:  -server -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml 
  
========================================================================= 
  
11:52:02,131 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA 
11:52:03,376 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA 
11:52:03,458 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting 
11:52:07,565 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)

 

  • Pronto pra atender requisições.
Bloco de código
languagejava
linenumberstrue
11:52:24,116 INFO  [br.com.tools.intellector] (MSC service thread 1-2) -----------------------------------------------------------
11:52:24,117 INFO  [br.com.tools.intellector] (MSC service thread 1-2) --------- Intellector configurado com sucesso... ---------- 
11:52:24,117 INFO  [br.com.tools.intellector] (MSC service thread 1-2) ----------------------------------------------------------- 
11:52:24,154 INFO  [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /intellector
11:52:24,156 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015951: Admin console listening on http://127.0.0.1:9990 
11:52:24,157 ERROR [org.jboss.as] (MSC service thread 1-2) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 23695ms - Started 537 of 625 services (6 services failed or missing dependencies, 80 services are passive or on-demand
 

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 persistence.properties

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 persistence.properties para o diretório $JBOSS_HOME/bin, como descrito abaixo.

O TOTVS Intellector utiliza a API de persistência Hibernate de forma que este arquivo também serve para mapear as configurações mais eficazes para utilização da API.

 

Bloco de código
languagehtml/xml
linenumberstrue
#persistence.properties 
#Fri Feb 03 13:52:26 BRST 2012 
  
### Define se o intellector utilizará banco de dados para persistência dos dados de acessos e políticas 
intellector.usesdatabase=true
  
### Nome da fila utilizada pelo MDB (Não pode ser alterado) 
persistence.queue.name=queue/intellector
  
### Connection Factory 
persistence.queue.connection.factory=/ConnectionFactory
  
### Endereço da fila JMS 
persistence.jndi.address=jnp://192.168.0.113:1099 
  
### Emails de aviso de erro na fila de tarifação, separados por virgula, de preferência sem espaço 
user.emailsWarning= 
#[email protected], [email protected] 
  
### Credenciais de conexão na fila Usuário/Senha 
persistence.jndi.security.principal= 
persistence.jndi.security.credentials= 
  
### Parâmetros do Hibernate do Cache ### 
######################################## 
## Endereço JNDI da conexão 
hibernate.connection.datasource=java:/intellector/totvs
#hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect 
hibernate.dialect=org.hibernate.dialect.SQLServer2008Dialect 
#hibernate.dialect=br.com.totvs.persistence.dialectfix.Oracle9iDialectFix 
#hibernate.dialect=br.com.totvs.persistence.dialectfix.Oracle10gDialectFix 
  
## auto schema export 
hibernate.hbm2ddl.auto=update 
  
# cache 
#hibernate.cache.provider_class=org.hibernate.hibernate.NoCacheProvider 
hibernate.cache.use_second_level_cache=true
hibernate.max_fetch_depth=1 
hibernate.cache.use_minimal_puts=true
  
## Delimitador de comandos específico do Banco de dados utilizado 
hibernate.hbm2ddl.delimiter=; 
  
#hibernate.session_factory_name=TSessionFactory 
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.use_sql_comments=true
hibernate.generate_statistics=true
hibernate.jdbc.batch_versioned_data=true
hibernate.use_second_level_cache=false
hibernate.use_query_cache=false
hibernate.connection.release_mode=after_transaction 
hibernate.connection.autocommit=false
hibernate.session_factory_name=sessionFactory 
hibernate.current_session_context_class=thread 
  
# transaction controll 
hibernate.transaction.flush_before_completion=false
hibernate.transaction.auto_close_session=false
 
# para o caso da base Oracle 11g, descomentar a linha abaixo
#hibernate.default_schema=<NOME_DO_SCHEMA>

 

  • Importante ressaltar que as variáveis:
Bloco de código
languagehtml/xml
linenumberstrue
hibernate.connection.datasource
hibernate.dialect

 

Configurando Pool de Conexões - JNDI
  • 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-full.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
Instalando uma Licença para o Intellector

O 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 Intellector no JBoss

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

Sigamos os passos:

  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 intellector-ear.ear, ANTES de extrair a nova versão. É boa prática excluir as pastas log, tmp e work, situadas abaixo da instância, neste caso: $JBOSS_HOME/standalone/log, tmp, etc. Se quiser, pode guardar os logs, tmp e wor, mas você não precisará deles.
Iniciando o JBoss

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

  • Iniciando...
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /opt/jboss7

  JAVA: java

  JAVA_OPTS:  -server -XX:+TieredCompilation -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml

=========================================================================

11:52:02,131 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA
11:52:03,376 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA
11:52:03,458 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
11:52:07,565 INFO  [org.jboss.as.server] JBAS015888: Creating http management service using socket-binding (management-http)

Pronto pra atender requisições...

11:52:24,116 INFO  [br.com.tools.intellector] (MSC service thread 1-2) -----------------------------------------------------------
11:52:24,117 INFO  [br.com.tools.intellector] (MSC service thread 1-2) --------- Intellector configurado com sucesso... ----------
11:52:24,117 INFO  [br.com.tools.intellector] (MSC service thread 1-2) -----------------------------------------------------------
11:52:24,154 INFO  [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /intellector
11:52:24,156 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015951: Admin console listening on http://127.0.0.1:9990
11:52:24,157 ERROR [org.jboss.as] (MSC service thread 1-2) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 23695ms - Started 537 of 625 services (6 services failed or missing dependencies, 80 services are passive or on-demand)
Configurações adicionais

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.

Configurando Pool de Conexões - JNDI
  • O pool de conexão deve ser habilitado usando a console.
Arquivo persistence.properties

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

O Intellector utiliza a API de persistência Hibernate de forma que este arquivo também serve para mapear as configurações mais eficazes para utilização da API.

#persistence.properties
#Fri Feb 03 13:52:26 BRST 2012

### Define se o intellector utilizará banco de dados para persistência dos dados de acessos e políticas
intellector.usesdatabase=true

### Nome da fila utilizada pelo MDB (Não pode ser alterado)
persistence.queue.name=queue/intellector

### Connection Factory
persistence.queue.connection.factory=QueueConnectionFactory

### Context Factory
persistence.jndi.context.factory=org.jboss.security.jndi.JndiLoginInitialContextFactory

### Endereço da fila JMS
persistence.jndi.address=jnp://192.168.18.129:1099

### Emails de aviso de erro na fila de tarifação, separados por virgula, de preferência sem espaço
[email protected], [email protected]

### Credenciais de conexão na fila Usuário/Senha
persistence.jndi.security.principal=
persistence.jndi.security.credentials=

### Parâmetros do Hibernate do Cache ###
########################################
## Endereço JNDI da conexão
hibernate.connection.datasource=java:/intellector/totvs
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

### auto schema export
hibernate.hbm2ddl.auto=update

### Delimitador de comandos específico do Banco de dados utilizado
hibernate.hbm2ddl.delimiter=;

### cache
#hibernate.cache.provider_class=org.hibernate.hibernate.NoCacheProvider
hibernate.use_second_level_cache=false
hibernate.max_fetch_depth=1
hibernate.cache.use_minimal_puts=true
hibernate.use_query_cache=false

### hibernate only
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.use_sql_comments=true
hibernate.generate_statistics=true
hibernate.jdbc.batch_versioned_data=true
hibernate.session_factory_name=sessionFactory
hibernate.current_session_context_class=thread

### connection
hibernate.connection.release_mode=after_transaction
hibernate.connection.autocommit=false

## transaction controll
hibernate.transaction.flush_before_completion=false
hibernate.transaction.auto_close_session=false
#hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup

Importante ressaltar que as variáveis:

...

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 11, SQL Server 2008 e PostgreSQL 9.x

...

.