Implementando o aplicativo da web no perfil Liberty do WebSphere Application Server

É possível implementar o aplicativo da web Rational Publishing Engine no WebSphere Application Server Liberty com o IBM® DB2.

Antes de Iniciar

Você deve instalar o WebSphere Application Server Liberty e o Rational Publishing Engine com o recurso RPE Remote Services antes de implementar o aplicativo da web.

Procedimento

  1. Crie um servidor de perfil Liberty para o aplicativo da web.
  2. Implemente o arquivo com.ibm.rpe.web.app.ear copiando-o do diretório RPE_HOME\remote-services para o diretório apps do Liberty. Consulte Implementando um aplicativo da web para o perfil Liberty na documentação do produto WebSphere Application Server Liberty.
  3. Crie um banco de dados para o aplicativo da web com 16 mil páginas e conjunto de códigos UTF-8. Consulte a documentação do produto IBM DB2 para obter informações sobre como criar um banco de dados.
  4. Configure a variável VCAP_SERVICES:
    • Para o Windows: inclua o texto a seguir no arquivo <Liberty_install_dir>\bin\server.bat:
      set VCAP_SERVICES={"sqldb": [{}]}
    • Para o Linux: inclua o texto a seguir no arquivo <Liberty_install_dir>\bin\server.sh:
      export VCAP_SERVICES={"sqldb":[{}]}
  5. (Opcional) se você tiver implementado os arquivos rpeng.war e dgaas.war em servidores ou máquinas de aplicativos diferentes, então deve-se configurar a variável DGAAS_URL. Se você tiver implementado o arquivo com.ibm.rpe.web.app.ear, será possível pular esta etapa.
    • Para o Windows: inclua o texto a seguir no arquivo <Liberty_install_dir>\bin\server.bat:
      set DGAAS_URL="http://[server IP]:[port]/dgaas/"
    • Para o Linux: inclua o texto a seguir no arquivo <Liberty_install_dir>\bin\server.sh:
      export DGAAS_URL="http://[server IP]:[port]/dgaas/" 
  6. Edite o arquivo server.xml para configurar a conectividade do banco de dados para o perfil Liberty.
    1. Inclua os seguintes recursos:
      <featureManager>
                 <feature>jsp-2.2</feature> 
                 <feature>servlet-3.0</feature> 
                 <feature>appSecurity-2.0</feature> 
                 <feature>jndi-1.0</feature>   
                 <feature>jpa-2.0</feature>  
                 <feature>jdbc-4.0</feature>
          </featureManager>
    2. Defina uma biblioteca compartilhada que aponte para o local de seu JAR do driver JDBC ou de arquivos compactados.
      <jdbcDriver id="db2-lib">
                 <library>
                     <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>  
                 </library> 
                </jdbcDriver>
    3. Defina uma origem de dados usando o driver JDBC para as origens de dados rpeng e dgaas com detalhes da conexão com o banco de dados.
      <dataSource id="rpeng" jdbcDriverRef="db2-lib" jndiName="jdbc/RPENG_DB">
                 <properties.db2.jcc databaseName="databasename" password="password" serverName="ipaddress" user="db2admin"/>
                </dataSource> 
               <id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
                 <properties.db2.jcc databaseName="databasename" password="password" serverName="ipaddress" user="db2admin"/>
                </dataSource> 
    Consulte Configurando a conectividade do banco de dados no perfil do Liberty na documentação do produto WebSphere Application Server Liberty.
  7. No arquivo server.xml, inclua a seguinte entrada para ativar o http://server:port/dgaas/debug:
    <classloading useJarUrls="true"/>
  8. No arquivo server.xml, inclua a seguinte entrada para invalidar uma sessão em vez de emitir uma mensagem de erro UnauthorizedSessionRequestException quando o gerenciador de sessão responde a uma solicitação desautorizada:
    <httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>
  9. Inclua a seguinte configuração para o arquivo server.xml. Os atributos id e name são opcionais. O atributo location não precisa ser totalmente qualificado, uma vez que Liberty aparecerá no diretório de aplicativos por padrão.
    <application id="" name="rpeng" type="ear" location="[Liberty_install_dir]\usr\servers\rpeng\apps\com.ibm.rpe.web.app.ear" >
         <classloader apiTypeVisibility="spec,ibm-api,api"/>
    </application>
    Se você tiver implementado os arquivos rpeng.war e dgaas.war em vez do arquivo .ear, será necessário incluir 2 entradas do aplicativo em vez de uma:
    <application id="" name="rpeng" location="rpeng.war" type="war>
         <classloader commonLibraryRef="rcl" apiTypeVisibility="spec,ibm-api,api"/>
    </application>
    <application id="" name="dgaas" location="dgaas.war" type="war>
         <classloader commonLibraryRef="rcl" apiTypeVisibility="spec,ibm-api,api"/>
    </application>
  10. Verifique suas definições de configuração com relação ao exemplo de server.xml disponível na parte inferior deste tópico na seção Exemplo.
  11. Configure a variável de licenciamento. Consulte Verificando a variável de ambiente TELELOGIC_LICENSE_FILE.
  12. Inicie o perfil do Liberty. Quando a geração de documento for executada, todos os ativos e dados serão armazenados no banco de dados.

Resultados

É possível confirmar que o aplicativo da web está implementado abrindo a página introdutória do aplicativo da web Rational Publishing Engine em um navegador em http://server:port/rpeng/
Lembre-se: Se você encontrar uma mensagem de erro UnauthorizedSessionRequestException no navegador da web, verifique se você concluiu a etapa anterior que inclui a seguinte entrada do arquivo server.xml:
<httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>

Exemplo

Um exemplo do arquivo server.xml configurado para implementar o aplicativo da web:
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
    <!-- Ativar recursos -->
    <featureManager>
       <feature>jsp-2.2</feature>
       <feature>jndi-1.0</feature>
       <feature>jpa-2.0</feature>
       <feature>jdbc-4.0</feature>
       <feature>servlet-3.0</feature>
       <feature>appSecurity-2.0</feature>
    </featureManager>
    <!-- Para acessar este servidor de um cliente remoto, inclua
um atributo de host para o seguinte elemento, por exemplo,
host="*" -->
    <httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443" host="localhost"/>
    <classloading useJarUrls="true"/>
    <!-- Criação do usuário -->
    <basicRegistry id="form" realm="WebRealm">
       <user name="rpe_user" password="xyz" />
       <user name="rpe_report_designer" password="xyz" />
       <user name="rpe_admin" password="xyz" />
    </basicRegistry>
    <application type="ear" location="C:\IBM\WebSphere\Liberty\usr\servers\rpeng\apps\com.ibm.rpe.web.app.ear">
       <classloader apiTypeVisibility="spec, ibm-api, api" commonLibraryRef="rcl" />
       <application-bnd>
          <security-role name="rpe_user">
             <user name="rpe_user" />
          </security-role>
          <security-role name="rpe_report_designer">
             <user name="rpe_report_designer" />
          </security-role>
          <security-role name="rpe_admin">
             <user name="rpe_admin" />
          </security-role>
       </application-bnd>
    </application>
    <httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>
    <!-- Configuração do Banco de Dados -->
    <jdbcDriver id="db2-lib">
       <library>
          <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>
       </library>
    </jdbcDriver>
    <dataSource id="rpeng" jdbcDriverRef="db2-lib" jndiName="jdbc/RPENG_DB">
       <properties.db2.jcc databaseName="databasename" password="password" serverName="ipaddress" user="db2admin"/>
    </dataSource>
    <dataSource id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
       <properties.db2.jcc databaseName="databasename" password="password" serverName="ipaddress" user="db2admin"/>
    </dataSource>
</server>

O que Fazer Depois

Opcionalmente, é possível implementar e executar o aplicativo de amostra Newskeeper que usa a tecnologia de serviço de geração de documento para gerar documentos e fornece uma interface de armazenamento para os documentos e ativos de serviço de geração de documento. Para obter mais detalhes, consulte Executando a amostra do Newskeeper.

Configure o aplicativo da web Rational Publishing Engine listado na página http://server:port/rpeng/. Consulte URLs do aplicativo da web para obter uma explicação de como cada URL é usada e as tarefas para configuração de cada um dos recursos.