Open the menu

JBoss Enterprise Application Platform 6

Este tópico descreve como o Lumis Portal deve ser instalado no servidor JBoss Enterprise Application Platform 6.

Nessa documentação, assume-se que a instalação do portal está situada em um caminho que a partir desse momento é simplesmente citado como %LUMIS_HOME%. Também assume-se que a instalação do JBoss está situada em %JBOSS_HOME%.

Instalação e atualização de módulos

Em %LUMIS_HOME%/lib/jboss/modules há os módulos que devem ser instalados no JBoss. Ele é composto de um módulo Lumis Shared (lumis/shared), módulos de drivers JDBC (lumis/jdbc).

Para instalar/atualizar estes módulos, deve-se copiar o diretório %LUMIS_HOME%/lib/jboss/modules para %JBOSS_HOME%/modules.

Configuração do perfil

A configuração do perfil dar-se-á de acordo com a arquitetura escolhida para a solução. Normalmente será em um dos arquivos standalone.xml, domain.xml ou host.xml (para maiores informações consultar a documentação do JBoss).

Na configuração, deve-se incluir o módulo Lumis no subsystem jboss:domain:ee . Para isso, basta criar um nó de módulo global como a seguir:

Também deve-se aumentar o timeout de deployment para que o deploy do portal possa ser completo. Para isso, basta incluir (ou alterar de acordo) o atributo deployment-timeout do nó deployment-scanner no subsystem jboss:domain:deployment-scanner . Esse tempo é medido em segundos e deve ser ajustado para as características do ambiente.

Outro ajuste necessário é a remoção das referências ao JAXRS da configuração. Para isso, basta remover do arquivo as seguintes linhas (que não serão subsequentes na configuração):

Também é necessária a inclusão de um security-domain no subsystem jboss:domain:security. Para isso, basta adicionar um novo nó como a seguir:

Para permitir o uso de websocket pelo portal, no subsystem jboss:domain:web:2.2 o attributo protocol do connector deve ser modificado para:

  1. Caso o Apache Portability Runtime (APR) esteja sendo usado: org.apache.coyote.http11.Http11AprProtocol; ou
  2. Caso contrário: org.apache.coyote.http11.Http11NioProtocol

    Exemplo:

Efetuar o deploy do portal

  • Em modo standalone:

    Copiar a pasta %LUMIS_HOME%/www para a pasta de deploy da configuração standalone no JBoss AS 7 (%JBOSS_HOME%/standalone/deployments). A pasta copiada deve ser renomeada para <nome do contexto>.war (exemplo: portal.war , se o contexto é portal ). Também deve ser criado um arquivo em branco com o mesmo nome da pasta com a terminação .dodeploy (seguindo o exemplo, seria portal.war.dodeploy ).

  • Em modo domain:

    Gerar um arquivo de aplicação web ("WAR") a partir da pasta %LUMIS_HOME%/www e efetuar a instalação do WAR via console administrativa do servidor de aplicação.

Criação e configuração do datasource

Este item descreve como configurar o Lumis Portal para utilizar um datasource no JBoss. Estes passos só são necessários se for desejado utilizar datasource.

Para o uso correto de datasource no portal, o módulo do driver JDBC correspondente ao banco de dados utilizado deve ser instalado no servidor de aplicação, assim como o módulo Lumis Shared. O local de origem do módulo será:

  • para Oracle: %LUMIS_HOME%/lib/jboss/modules/lumis/jdbc/driver/oracle;
  • para SQL Server: %LUMIS_HOME%/lib/jboss/modules/lumis/jdbc/driver/sqlserver;
  • para MySQL: %LUMIS_HOME%/lib/jboss/modules/lumis/jdbc/driver/mysql

O módulo correspondente deve ser copiado para %JBOSS_HOME%/modules (por exemplo, se o banco de dados utilizado for o Oracle, a estrutura de pastas deve ficar %JBOSS_HOME%/modules/lumis/jdbc/driver/oracle/main).

O módulo também deve ser referenciado no arquivo de configuração, como no caso do módulo Lumis Shared. Para isso, basta inserir sua referência nos módulos globais, como destacado a seguir:

Depois de feito isso, o datasource pode ser criado no subsystem jboss:domain:datasources , como o exemplo a seguir:

Dentro do nó datasources dois nós devem ser criados. Um nó driver, dentro do nó drivers, para definir o driver a ser utilizado e um nó datasource para a criação do datasource em si.

No nó de driver é importante definir:

  • O nome do driver: vai ser o nome que o datasource vai referenciar como driver (no exemplo o nome usado é ojdbc14);
  • O módulo que contém o driver: qual módulo possui esse driver (lumis.jdbc.driver.<tipo de banco de dados>, no exemplo é lumis.jdbc.driver.oracle);
  • Classe do driver:
    • para Oracle: oracle.jdbc.driver.OracleDriver;
    • para SQL Server: net.sourceforge.jtds.jdbc.Driver;
    • para MySQL: com.mysql.jdbc.Driver

No nó do datasource, definir:

  • Nome JNDI: é o nome a ser referenciado no lumishibernate.cfg.xml;
  • URL de conexão: a URL utilizada para a conexão;
  • Driver: o nome do driver utilizado (utilizar o mesmo nome definido no nó de driver);
  • Usuário e Senha: login de acesso à base de dados.

Passo extra para usuários de MySQL:

O driver do MySQL baixado descrito no tópico MySQL deve ser copiado para a pasta %JBOSS_HOME%/modules/lumis/jdbc/driver/mysql/main e o arquivo module.xml (residente ao mesmo diretório) deve ser ajustado de acordo como o exemplo a seguir (para o driver mysql-connector-java-5.1.34-bin.jar):

Caso desejado, a senha do datasource pode permanecer criptografada. Para isso, deve-se gerá-la executando o seguinte comando no diretório %JBOSS_HOME%:

java -cp modules\org\picketbox\main\picketbox-4.0.1.jar;modules\org\jboss\logging\main\jboss-logging-3.0.1.GA.jar org.picketbox.datasource.security.SecureIdentityLoginModule [SENHA]

Também é necessária a inclusão de um security-domain no subsystem jboss:domain:security para armazenagem do usuário do datasource e da senha criptografada. Para isso, basta adicionar um novo nó como a seguir:

Nesse security domain, deve-se definir: usuário (no exemplo, USUÁRIO), senha criptografada (no exemplo, [SENHA CRIPTOGRAFADA]) e nome do security domain (no exemplo, portal-ds).

Após isso, deve-se alterar o nó security do datasource, removendo os nós user-name e password e adicionando um novo nó security-domain referenciando o security domain criado anteriormente, como a seguir:

Maiores informações sobre a configuração de datasources em https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Administration_and_Configuration_Guide/chap-Datasource_Management.html.

Configuração da codificação de URIs

É necessário que a codificação de URIs seja configurada para UTF-8. Para isto, acrescente uma propriedade de sistema igual o exemplo destacado abaixo: