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

...

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

...

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 JBoss, pois o TOTVS Intellector irá precisar "escrever" nesse diretório.

 

 JBoss

O TOTVS Intellector foi homologado nas versões JBoss 4.2.3-GA 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 o Java JDK e o JBoss nos locais apropriados, é 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 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 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

...

  • 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

...

  • 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
<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
<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
<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>
  • Criar módulo e registrar os drivers de banco. Exemplo: para o Postgres aqui. Usar esse método alternativo é mais apropriado.

...

 

Bloco de código
languagehtml/xml
<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>
 
Instalando uma Licença para o TOTVS Intellector

...

  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

...

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

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

 
Arquivo persistence.properties

...

 

Bloco de código
languagehtml/xml
#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
  • Importante ressaltar que as variáveis:
Bloco de código
languagehtml/xml
hibernate.connection.datasource
hibernate.dialect

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.

...

.