Este tópico descreve como o Lumis Portal deve ser instalado no servidor JBoss Application Server 5.1.

 

Configuração do JAAS

O Lumis Portal utiliza o JAAS – Java Authentication and Authorization Service para fazer autenticação.

Para que o portal funcione corretamente no JBoss é preciso inserir o seguinte código no arquivo login-config.xml que fica na pasta %JBOSS_HOME%/server/default/conf (Neste documento é assumido que o servidor configurado é o "default"):

 

<policy>

...

<application-policy name = "LumisPortal">

     <authentication>

          <login-module code = "lumis.portal.authentication.LumisLoginModule" flag = "sufficient"/>

    </authentication>

</application-policy>

...

</policy>

 

Configuração do Servidor de Aplicação

Inicialmente, deve-se editar o arquivo server.xml, localizado na pasta "%JBOSS_HOME%/server/default/deploy/jbossweb.sar”, incluindo ou alterando as seguintes configurações na tag Connector:

a) emptySessionPath=”true” (Este parâmetro habilita o compartilhamento dos cookies entre os contextos);

b) URIEncoding="UTF-8" (Este parâmetro é necessário devido a incapacidade do Tomcat reconhecer o enconding do browser que pode influenciar na visualização de serviços do Lumis Portal);

c) maxPostSize: Por default, o Tomcat aceita apenas 2MB de POST em formulários. Para aumentar esse limite deve-se incluir este atributo.

 

<!-- A HTTP/1.1 Connector on port 8080 -->

<Connector port="8080" address="${jboss.bind.address}"

    maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"

    emptySessionPath="true"

    enableLookups="false" redirectPort="8443" acceptCount="100"

    connectionTimeout="20000" disableUploadTimeout="true"

    maxPostSize="2097152"

    URIEncoding="UTF-8"/>

 

Bibliotecas Compartilhadas

É preciso instalar algumas bibliotecas (arquivos . JAR) na área de bibliotecas compartilhadas no servidor de aplicação.

 

No JBoss 5.1 GA, basta copiar os arquivos JAR que estão na pasta %LUMIS_HOME%/lib/shared, para a pasta %JBOSS_HOME%/server/default/lib.

 

Observação:


Para evitar conflito apague o arquivo %LUMIS_HOME%/www/WEB-INF/lib/jta.jar.

 

 

Endorsed

É preciso instalar algumas bibliotecas (arquivos . JAR) na área endorsed do servidor de aplicação.

 

No JBoss 5.1 GA, basta disponibilizar os arquivos JAR listados abaixo na pasta %JBOSS_HOME%/lib/endorsed:

 

1.Copiar o arquivo %LUMIS_HOME%/lib/endorsed/webservices-api.jar;
2.Mover o arquivo %JBOSS_HOME%/server/default/lib/xercesImpl.jar;
3.Mover o arquivo %LUMIS_HOME%/www/WEB-INF/lib/serializer.jar;
4.Mover o arquivo %LUMIS_HOME%/www/WEB-INF/lib/xalan.jar.

 

Observação:


Os arquivos que foram movidos devem ser apagados de suas respectivas pastas de origem.

 

 

Deployment

 

O Lumis Portal deve ser instalado da seguinte forma:

 

1.Configure o arquivo jboss-web.xml na pasta %LUMIS_HOME%/www/WEB-INF do Lumis Portal com o seguinte código:

 

<jboss-web>

 <class-loading java2ClassLoadingCompliance ="false">

  <loader-repository>

   myapp:loader = myapp.war

   <loader-repository-config>java2ParentDelegation=false</loader-repository-config>

  </loader-repository>

 </class-loading>

</jboss-web>

 

Onde “myapp” é o nome do contexto onde irá rodar o portal. Ex.: portal:loader = portal.war;

 

2.Copie a pasta %LUMIS_HOME%/www para a pasta %JBOSS_HOME%/server/default/deploy, renomeando para o nome do contexto com “.war”. Ex.: “portal.war”.

 

Configuração do Transformador de XSL

 

Para realizar a transformação do XML utilizando XSL, o Lumis Portal utiliza um TransformerFactory.

 

Essa classe utiliza a propriedade de sistema javax.xml.transform.TransformerFactory para configurar qual transformador deverá ser utilizado. O Lumis Portal utiliza a classe org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl como fábrica para realizar as transformações.

 

A configuração da propriedade de sistema varia de acordo com o ambiente e a forma em que o servidor de aplicação está configurado.

 

Adicionar a propriedade -Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl na variável de ambiente JAVA_OPTS.

Configuração do DataSource

 

É necessário criar o arquivo do Datasource /deploy/[NOME-JNDI-DO-DATASOURCE]-ds.xml onde NOME-JNDI-DO-DATASOURCE pode ser qualquer nome válido JNDI, de fácil identificação pelo administrador. Ex: portal.

 

Conteúdo do arquivo do Datasource:

 

 <?xml version="1.0" encoding="UTF-8"?>

<datasources>

    <local-tx-datasource>

        <jndi-name>[NOME-JNDI-DO-DATASOURCE]</jndi-name>

        <connection-url>jdbc:oracle:thin:@10.200.10.15:1521:ora10s15</connection-url>

        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

        <min-pool-size>5</min-pool-size>

        <max-pool-size>40</max-pool-size>

        <!-- para usar o login e senha diretamente no arquivo do datasource, informar o username e password -->

        <user-name>[login]</user-name>

        <password>[senha]</password>

        <!-- para usar datasource com senha encriptada, especificar a configuração abaixo

        <security-domain>[NOME-DO-SECURITY-DOMAIN]</security-domain>

        -->

        <blocking-timeout-millis>4000</blocking-timeout-millis>

  <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker</valid-connection-checker-class-name>

        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

        <new-connection-sql>select * from dual</new-connection-sql>

        <check-valid-connection-sql>select * from dual</check-valid-connection-sql>

        <idle-timeout-minutes>5</idle-timeout-minutes>

        <metadata>

            <type-mapping>Oracle9i</type-mapping>

        </metadata>

    </local-tx-datasource>

</datasources>

Onde:

[NOME-DO-SECURITY-DOMAIN] pode ser qualquer nome válido para JNDI, referenciado no arquivo login-config.xml, ex: portalPassword

Para encriptar login e senha, é necessário deixar comentados o username e password no arquivo do datasource e retirar o comentário da tag <security-domain>.

Para gerar a senha encriptada, usar a seguinte linha de comando no diretório %JBOSS_HOME%:

java -cp lib/jboss-common.jar:lib/jboss-jmx.jar:server/default/lib/jbosssx.jar:server/default/lib/jboss-jca.jar org.jboss.resource.security.SecureIdentityLoginModule [SENHA]

O valor gerado deve ser incluído no arquivo <server>/conf/login-config.xml. A seguir, o conteúdo desse arquivo:

 <application-policy name = "[NOME-DO-SECURITY-DOMAIN]">

        <authentication>

            <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">

                <module-option name="principal">[login]</module-option>

                <module-option name="username">[login]</module-option>

                <module-option name="password">[SENHA-GERADA]</module-option>

               <module-optionname="managedConnectionFactoryName">jboss.jca:name=[NOME-DO-DATA-SOURCE],service=LocalTxCM</module-option>

            </login-module>

        </authentication>

</application-policy>

 

 

Observação

 

O JBoss escreve a mensagem de erro abaixo quando a aplicação web possui o elemento distributable, e o cluster não está configurado. Porém isso não afeta o funcionamento. Para evitar esta mensagem durante o boot do jboss, basta comentar o elemento <distributable/>, caso o ambiente não esteja em cluster.

 

 

ERROR [TomcatDeployer] Failed to setup clustering, clustering disabled. Exception:

org.jboss.web.tomcat.tc5.session.ClusteringNotSupportedException: JBossCacheService to Tomcat clustering not found

        at org.jboss.web.tomcat.tc5.session.JBossCacheManager.init(JBossCacheManager.java:150)

        at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:332)

        at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:103)


 

 


Lumis Portal 6.2.0.120405
Copyright © 2006–2012 Lumis EIP Tecnologia da Informação LTDA. Todos os direitos reservados.