Déploiement de Document Builder sur le profil Liberty WebSphere Application Server

Vous pouvez déployer Rational Publishing Engine Document Builder dans WebSphere Application Server Liberty avec IBM® DB2 , Oracle ou la base de données Derby incluse avec l'application Web Document Builder (uniquement à des fins d'évaluation).

Avant de commencer

Vous devez installer WebSphere Application Server Liberty et Rational Publishing Engine avec la fonction RPE Document Builder avant de déployer Document Builder.

Procédure

  1. Créez un serveur de profil Liberty pour Document Builder.
  2. Déployez le fichier com.ibm.rpe.web.app.ear en le copiant du répertoire RPE_HOME\document-builder dans le répertoire apps Liberty. Reportez-vous à la section sur le déploiement d'une application Web vers le profil Liberty dans la documentation du produit WebSphere Application Server Liberty.
  3. Créez une base de données pour Document Builder avec 16K pages et le jeu de codes UTF-8.
  4. Pour DB2 ou Oracle, définissez la variable VCAP_SERVICES (pas obligatoire pour Derby) :
    • Sous Windows : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.bat :
      set VCAP_SERVICES={"sqldb": [{}]}
    • Sous Linux : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.sh :
      export VCAP_SERVICES={"sqldb":[{}]}
  5. (Facultatif) Si vous avez déployé les fichiers rpeng.war et dgaas.war sur des machines ou serveurs d'applications différents, vous devez définir la variable DGAAS_URL. Si vous avez déployé le fichier com.ibm.rpe.web.app.ear, vous pouvez ignorer cette étape.
    • Sous Windows : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.bat :
      set DGAAS_URL="http://[IP_serveur]:[port]/dgaas/"
    • Sous Linux : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.sh :
      export DGAAS_URL="http://[IP_serveur]:[port]/dgaas/" 
  6. Editez le fichier server.xml afin de configurer la connectivité de la base de données pour le profil Liberty.
    1. Ajoutez les fonctions suivantes :
      <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. Définissez une bibliothèque partagée pointant vers l'emplacement du fichier JAR ou des fichiers compressés du pilote JDBC (pas obligatoire pour Derby).
      Pour DB2 :
      <jdbcDriver id="db2-lib">
                 <library>
                     <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>  
                 </library> 
                </jdbcDriver>
      Pour Oracle :
      <jdbcDriver id="OracleLib">
                 <library>
                      <fileset caseSensitive="false" dir="/oracle_jdbc" includes="*.jar">  
                 </library> 
                </jdbcDriver>
    3. Définissez une source de données utilisant le pilote JDBC pour les sources de données rpeng et dgaas et fournissant les détails de connectivité de la base de données (pas obligatoire pour Derby).
      Pour 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> 
      Pour Oracle :
       <dataSource id="rpeng_db" jdbcDriverRef="OracleLib" jndiName="jdbc/RPENG_DB">
             <properties.oracle password="password" URL="jdbc:oracle:thin:@//nomhôte/lib1" user="rpe_user"/>
          </dataSource>
          <dataSource id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
             <properties.oracle password="password" URL="jdbc:oracle:thin:@//nomhôte/lib1" user="rpe_user"/>
          </dataSource>
    Reportez-vous à la section sur la configuration de la connectivité de la base de données dans le profil Liberty dans la documentation du produit WebSphere Application Server Liberty.
  7. Dans le fichier server.xml, ajoutez l'entrée suivante pour activer http://serveur:port/dgaas/debug :
    <classloading useJarUrls="true"/>
  8. Dans le fichier server.xml, ajoutez l'entrée suivante pour invalider une session au lieu d'émettre un message d'erreur UnauthorizedSessionRequestException lorsque le gestionnaire de session répond à une demande non autorisée :
    <httpSession invalidateOnUnauthorizedSessionRequestException="true" cookieSecure="true"></httpSession>
  9. Ajoutez la configuration suivante au fichier server.xml. Les attributs id et name sont facultatifs. L'attribut location n'a pas besoin d'être indiqué complètement puisque Liberty examinera le répertoire apps par défaut.
    Pour DB2 :
    <application id="" name="rpeng" type="ear" location="[rép_install_Liberty]\usr\servers\rpeng\apps\com.ibm.rpe.web.app.ear" >
         <classloader apiTypeVisibility="spec,ibm-api,api"/>
    </application>
    Pour 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 vous avez déployé les fichiers rpeng.war et dgaas.war à la place du fichier .ear, vous devez ajouter deux entrées d'application au lieu d'une :
    <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. Vérifiez vos paramètres de configuration en les comparant à l'exemple de fichier server.xml disponible à la fin de cette rubrique dans la section Exemple.
  11. Définissez la variable d'octroi des licences. Voir Vérification de la variable d'environnement TELELOGIC_LICENSE_FILE.
  12. Démarrez le profil Liberty. Lorsque la génération de document sera effectuée, tous les actifs et les données seront stockés dans la base de données.

Résultats

Vous pouvez vérifier que Document Builder est déployé en ouvrant la page d'introduction dans un navigateur : http://serveur:port/rpeng/
A faire : Si un message d'erreur UnauthorizedSessionRequestException s'affiche dans le navigateur Web, vérifiez que vous avez bien exécuté l'étape précédente qui ajoute l'entrée suivante dans le fichier server.xml :
<httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>

Exemple

Pour DB2 : Exemple de fichier server.xml configuré pour déployer Document Builder :
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
    <!-- Enable features -->
    <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>
    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
    <httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443" host="localhost"/>
    <classloading useJarUrls="true"/>
    <!-- User creation-->
    <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>
    <!--Database Configuration -->
    <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>
Pour Oracle : Exemple du fichier server.xml configuré pour déployer Document Builder :
<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
    <!-- Enable features -->
    <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>
    <!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
    <httpEndpoint id="defaultHttpEndpoint" httpPort="9445" httpsPort="9082" host="localhost"/>
    <keystore id="defaultKeyStore" password="motdepasse"/>
    <classloading useJarUrls="true"/>
   <httpSession cookieSecure="true invalidateOnUnauthorizedSessionRequestException="true"></httpSession>
    <!-- User creation-->
    <basicRegistry id="form" realm="WebRealm">
       <user name="rpe_user" password="xyz" />
       <user name="rpe_designer" password="xyz" />
       <user name="rpe_admin" password="xyz" />
    </basicRegistry>
   <!-- Define licensing Library consumption for 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>
   
    <!--Database Configuration -->
    <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:@//nomhôte/lib1" user="rpe_user"/>
    </dataSource>
    <dataSource id="DGAAS_DB" jdbcDriverRef="db2-lib" jndiName="jdbc/DGAAS_DB">
       <properties.oracle password="password" URL="jdbc:oracle:thin:@//nomhôte/lib1" user="rpe_user"/>
    </dataSource>
</server>

Que faire ensuite

Au besoin, vous pouvez déployer et exécuter le modèle d'application Newskeeper qui utilise la technologie du service de génération de document pour générer des documents et qui fournit une interface de stockage pour les actifs et les documents de ce service. Pour plus de détails, voir Exécution du modèle Newskeeper.

Configurez l'application Rational Publishing Engine Document Builder indiquée sur la page http://serveur:port/rpeng/. Pour une explication sur la manière dont chaque URL est utilisée et sur les tâches de configuration de chacune des fonctions, voir Adresses URL de Document Builder.