Open the menu

    JBoss Enterprise Application Platform 7.4

    Este tópico descreve como o LumisXP deve ser instalado no servidor JBoss Enterprise Application Platform 7.4.

    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/jboss7/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 estes módulos, deve-se copiar o diretório $LUMIS_HOME/lib/jboss7/modules para $JBOSS_HOME/modules. Durante uma atualização, deve-se primeiro excluir o diretório antigo destes módulos (lumis/shared e lumis/jdbc em $JBOSS_HOME/modules) e depois instalá-los.

    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 as propriedades de sistema abaixo. Para isso inclua as propriedades como o exemplo abaixo. Caso não exista o elemento system-properties, adicione-o após </extensions>.

    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.

    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:

    Configurações de memória

    As configurações de memória do JBoss estão definidas em standalone.conf/standalone.conf.bat ou domain.conf/domain.conf.bat, dependendo do modo que o JBoss será executado. Por padrão ele inclui a configuração -XX:MaxMetaspaceSize=256m que pode ser pouco para o LumisXP, e é recomendado aumentar para 512m. Isso é o suficiente para maioria dos portais simples, mas todas as configurações de memória devem ser revistas conforme as necessidades de cada solução ou ambiente.

    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 ($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 LumisXP 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/jboss7/modules/lumis/jdbc/driver/oracle;
    • para SQL Server: $LUMIS_HOME/lib/jboss7/modules/lumis/jdbc/driver/sqlserver;
    • para MySQL: $LUMIS_HOME/lib/jboss7/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.cj.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 (exemplo para o driver mysql-connector-java-8.0.11.jar, o nome deve ser ajustado conforme o arquivo do driver que será utilizado):

    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/red-hat-jboss-enterprise-application-platform/7.0/paged/configuration-guide/chapter-13-datasource-management.

    Configuração de parâmetros da JVM

    Para o correto funcionamento do LumisXP, os seguintes parâmetros devem ser adicionados à JVM do JBoss EAP:

    • --add-opens=java.base/java.lang=ALL-UNNAMED
    • --add-opens=java.base/java.io=ALL-UNNAMED

    Para maiores informações sobre como adicionar parâmetros à JVM do JBoss EAP, veja a sua documentação .