Despliegue de Creador de documentos en el perfil de Liberty de WebSphere Application Server

Puede desplegar Rational Publishing Engine Creador de documentos en WebSphere Application Server Liberty con IBM® DB2 , Oracle o base de datos Derby incluída en la aplicación web Creador de documentos (solo para evaluación).

Antes de empezar

Debe instalar WebSphere Application Server Liberty y Rational Publishing Engine con la característica Creador de documentos de RPE antes de desplegar Creador de documentos.

Procedimiento

  1. Cree un servidor de perfil de Liberty para el Creador de documentos.
  2. Despliegue el archivo com.ibm.rpe.web.app.ear copiándolo en el directorio RPE_HOME\document-builder del directorio apps de Liberty. Consulte Despliegue de una aplicación web en el perfil de Liberty en la documentación del producto de WebSphere Application Server Liberty.
  3. Cree una base de datos para el Creador de documentos con páginas de 16K y conjunto de códigos UTF-8.
  4. Para DB2 u Oracle, establezca la variable VCAP_SERVICES (no necesaria para Derby):
    • Para Windows: Añada el texto siguiente al archivo <Liberty_install_dir>\bin\server.bat:
      set VCAP_SERVICES={"sqldb":[{}]}
    • Para Linux: Añada el texto siguiente al archivo <Liberty_install_dir>\bin\server.sh:
      export VCAP_SERVICES={"sqldb":[{}]}
  5. (Opcional) Si ha desplegado los archivos rpeng.war y dgaas.war en distintos servidores de aplicaciones o máquinas, debe establecer la variable DGAAS_URL. Si ha desplegado el archivo com.ibm.rpe.web.app.ear, puede omitir este paso.
    • Para Windows: Añada el texto siguiente al archivo <Liberty_install_dir>\bin\server.bat:
      set DGAAS_URL="http://[IP_servidor]:[puerto]/dgaas/"
    • Para Linux: Añada el texto siguiente al archivo <Liberty_install_dir>\bin\server.sh:
      export DGAAS_URL="http://[IP_servidor]:[puerto]/dgaas/" 
  6. Edite el archivo server.xml para configurar la conectividad de base de datos para el perfil de Liberty.
    1. Añada las características siguientes:
      <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 una biblioteca compartida que apunte a la ubicación de su controlador JDBC o archivos comprimidos JAR (no necesaria para Derby).
      Para DB2:
      <jdbcDriver id="db2-lib">
                 <library>
                     <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>  
                 </library> 
                </jdbcDriver>
      Para Oracle:
      <jdbcDriver id="OracleLib">
                 <library>
                      <fileset caseSensitive="false" dir="/oracle_jdbc" includes="*.jar">  
                 </library> 
                </jdbcDriver>
    3. Defina un origen de datos utilizando el controlador JDBC para los orígenes de datos rpeng y dgaas con detalles de conexión de base de datos (no neesario para Derby).
      Para DB2:
      <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> 
      Para Oracle:
       <dataSource id="rpeng_db" jdbcDriverRef="OracleLib" jndiName="jdbc/RPENG_DB">
             <properties.oracle password="password" URL="jdbc:oracle:thin:@//nombre_host/lib1" user="rpe_user"/>
          </dataSource>
          <dataSource id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
             <properties.oracle password="password" URL="jdbc:oracle:thin:@//nombre_host/lib1" user="rpe_user"/>
          </dataSource>
    Consulte Configuración de la conectividad de base de datos en el perfil de Liberty en la documentación del producto de WebSphere Application Server Liberty.
  7. En el archivo server.xml, añada la siguiente entrada para habilitar http://servidor:puerto/dgaas/debug:
    <classloading useJarUrls="true"/>
  8. En el archivo server.xml, añada la entrada siguiente para invalidar una sesión en lugar de emitir un mensaje de error UnauthorizedSessionRequestException cuando el gestor de sesiones responda a una solicitud no autorizada:
    <httpSession invalidateOnUnauthorizedSessionRequestException="true" cookieSecure="true"></httpSession>
  9. Añada la siguiente configuración al archivo server.xml. Los atributos id y name son opcionales. El atributo location no tiene que estar completamente calificado, ya que Liberty consultará de forma predeterminada en el directorio apps.
    Para DB2:
    <application id="" name="rpeng" type="ear" location="[dir_instalación_Liberty]\usr\servers\rpeng\apps\com.ibm.rpe.web.app.ear" >
         <classloader apiTypeVisibility="spec,ibm-api,api"/>
    </application>
    Para Oracle:
    <application type="ear" location="/opt/IBM/WebSphere/Liberty/usr/servers/rpe_oracle/apps/com.ibm.rpe.web.app.ear">
           <classloader apiTypeVisibility="spec, ibm-api, api" commonLibraryRef="rcl" />
          
    Si ha desplegado los archivos rpeng.war y dgaas.war en lugar del archivo .ear, debe añadir 2 entradas de aplicación en lugar de una:
    <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. Compruebe los valores de configuración con el ejemplo server.xml disponible en la parte inferior de este tema en la sección Ejemplo.
  11. Establezca la variable de licencia. Consulte Comprobación de la variable de entorno TELELOGIC_LICENSE_FILE.
  12. Inicie el perfil de Liberty. Cuando se realiza la generación de documentos, todos los activos y datos se almacenarán en la base de datos.

Resultados

Puede confirmar que Creador de documentos se ha desplegado abriendo la página de introducción en un navegador en http://servidor:puerto/rpeng/
Recuerde: Si se encuentra un mensaje de error UnauthorizedSessionRequestException en el navegador web, compruebe que haya completado el paso anterior, que añade la entrada siguiente al archivo server.xml:
<httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>

Ejemplo

Para DB2: Un ejemplo de archivo server.xml configurado para desplegarCreador de documentos:
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
    <!-- Habilitar características -->
    <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 acceder a este servidor desde un cliente remoto, añada un atributo host al siguiente elemento, p.ej. host="*" -->
    <httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443" host="localhost"/>
    <classloading useJarUrls="true"/>
    <!-- Creación de usuario-->
    <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>
    <!-- Configuración de base de datos -->
    <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>
Para Oracle: Archivo server.xml de ejemplo configurado para desplegar el Creador de documentos:
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
    <!-- Habilitar características -->
    <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>
       <feature>ssl-1.0</feature>
    </featureManager>
    <!-- Para acceder a este servidor desde un cliente remoto, añada un atributo host al siguiente elemento, p.ej. host="*" -->
    <httpEndpoint id="defaultHttpEndpoint" httpPort="9445" httpsPort="9082" host="localhost"/>
    <keystore id="defaultKeyStore" password="password"/>
    <classloading useJarUrls="true"/>
   <httpSession cookieSecure="true invalidateOnUnauthorizedSessionRequestException="true"></httpSession>
    <!-- Creación de usuario-->
    <basicRegistry id="form" realm="WebRealm">
       <user name="rpe_user" password="xyz" />
       <user name="rpe_designer" password="xyz" />
       <user name="rpe_admin" password="xyz" />
    </basicRegistry>
   <!-- Definir consumo de biblioteca de licencias para RPE  -->
    <application type="ear" location="/opt/IBM/WebSphere/Liberty/usr/servers/rpe_oracle/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_designer" />
          </security-role>
          <security-role name="rpe_admin">
             <user name="rpe_admin" />
          </security-role>
       </application-bnd>
    </application>
   
    <!-- Configuración de base de datos -->
    <jdbcDriver id="OracleLib">
       <library>
          <fileset caseSensitive="false" dir="/oracle_jdbc" includes="*.jar">
       </library>
    </jdbcDriver>
    <dataSource id="rpeng_db" jdbcDriverRef="OracleLib" jndiName="jdbc/RPENG_DB">
       <properties.oracle password="password" URL="jdbc:oracle:thin:@//nombre_host/lib1" user="rpe_user"/>
    </dataSource>
    <dataSource id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
       <properties.oracle password="password" URL="jdbc:oracle:thin:@//nombre_host/lib1" user="rpe_user"/>
    </dataSource>
</server>

Qué hacer a continuación

Opcionalmente, puede desplegar y ejecutar la aplicación de ejemplo Newskeeper que utiliza la tecnología de servicio de generación de documentos para generar documentos y proporciona una interfaz de almacenamiento para activos y documentos del servicio de generación de documentos. Para obtener más información, consulte Ejecución del ejemplo de Newskeeper.

Configure el Creador de documentos de Rational Publishing Engine que se lista en la página http://servidor:puerto/rpeng/. Consulte en URL del Creador de documentos la explicación de cómo se utiliza cada URL y las tareas para configurar cada una de las características.