Déploiement de l'application Web sur le profil WebSphere Application Server Liberty

Vous pouvez déployer l'application Web Rational Publishing Engine sur WebSphere Application Server Liberty avec IBM® DB2.

Avant de commencer

Vous devez installer WebSphere Application Server Liberty et Rational Publishing Engine avec la fonction Services distants RPE avant de déployer l'application Web.

Procédure

  1. Créez un serveur de profil Liberty pour l'application Web.
  2. Déployez le fichier com.ibm.rpe.web.app.ear en le copiant du répertoire RPE_HOME\remote-services 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 comportant 16K de pages et le jeu de codes UTF-8 pour l'application Web. Reportez-vous à la documentation du produit IBM DB2 pour plus d'informations sur la création d'une base de données.
  4. Définissez la variable VCAP_SERVICES :
    • Pour Windows : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.bat :
      set VCAP_SERVICES={"sqldb": [{}]}
    • Pour 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.
    • Pour Windows : ajoutez le texte suivant dans le fichier <rép_installation_Liberty>\bin\server.bat :
      set DGAAS_URL="http://[IP_serveur]:[port]/dgaas/"
    • Pour 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.
      <jdbcDriver id="db2-lib">
                 <library>
                     <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>  
                 </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.
      <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> 
    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"></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.
    <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>
    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 l'application Web est déployée en ouvrant la page d'introduction de l'application Web Rational Publishing Engine dans un navigateur à l'adresse : 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

Exemple du fichier server.xml configuré pour déployer l'application Web :
<?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>

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 Web Rational Publishing Engine indiquée dans 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 l'application Web.