Webanwendung im WebSphere Application Server Liberty-Profil implementieren

Sie können die Webanwendung von Rational Publishing Engine in WebSphere Application Server Liberty mit IBM® DB2 implementieren.

Vorbereitende Schritte

Sie müssen WebSphere Application Server Liberty und Rational Publishing Engine mit dem Feature "Ferne RPE-Services" installieren, bevor Sie die Webanwendung implementieren.

Vorgehensweise

  1. Erstellen Sie einen Liberty Profile-Server für die Webanwendung.
  2. Implementieren Sie die Datei com.ibm.rpe.web.app.ear , indem Sie sie aus dem Verzeichnis RPE_HOME\remote-services in das Liberty-Verzeichnis apps kopieren. Weitere Informationen finden Sie unter Webanwendung im Liberty-Profil implementieren in der Produktdokumentation von WebSphere Application Server Liberty.
  3. Erstellen Sie eine Datenbank für die Webanwendung mit 16K-Seiten und dem codierten Zeichensatz UTF-8. Weitere Informationen zum Erstellen einer Datenbank finden Sie in der IBM DB2-Produktdokumentation.
  4. Legen Sie die Variable VCAP_SERVICES fest:
    • Für Windows: Fügen Sie der Datei <Liberty-Installationsverzeichnis>\bin\server.bat den folgenden Text hinzu:
      set VCAP_SERVICES={"sqldb": [{}]}
    • Für Linux: Fügen Sie der Datei <Liberty-Installationsverzeichnis>\bin\server.sh den folgenden Text hinzu:
      export VCAP_SERVICES={"sqldb":[{}]}
  5. (Optional) Wenn Sie die Dateien rpeng.war und dgaas.war auf unterschiedlichen Anwendungsservern oder Maschinen implementiert haben, müssen Sie anschließend die Variable DGAAS_URL festlegen. Wenn Sie die Datei com.ibm.rpe.web.app.ear implementiert haben, können Sie diesen Schritt überspringen.
    • Für Windows: Fügen Sie der Datei <Liberty-Installationsverzeichnis>\bin\server.bat den folgenden Text hinzu:
      set DGAAS_URL="http://[Server-IP]:[Port]/dgaas/"
    • Für Linux: Fügen Sie der Datei <Liberty-Installationsverzeichnis>\bin\server.sh den folgenden Text hinzu:
      export DGAAS_URL="http://[Server-IP]:[Port]/dgaas/" 
  6. Bearbeiten Sie die Datei server.xml, um die Datenbankkonnektivität für das Liberty-Profil zu konfigurieren.
    1. Fügen Sie die folgenden Features hinzu:
      <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. Definieren Sie eine gemeinsam genutzte Bibliothek, die auf die Position der JAR-Datei oder komprimierten Dateien Ihres JDBC-Treibers zeigt.
      <jdbcDriver id="db2-lib">
                 <library>
                     <fileset caseSensitive="false" dir="C:\Program Files\IBM\SQLLIB\java"/>  
                 </library> 
                </jdbcDriver>
    3. Definieren Sie eine Datenquelle mithilfe des JDBC-Treibers für die Datenquellen rpeng und dgaas zusammen mit den Verbindungsdetails.
      <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> 
    Weitere Informationen finden Sie unter Datenbankkonnektivität im Liberty-Profil konfigurieren in der Produktdokumentation von WebSphere Application Server Liberty.
  7. Fügen Sie der Datei server.xml den folgenden Eintrag zum Aktivieren des Servers http://Server:Port/dgaas/debug hinzu:
    <classloading useJarUrls="true"/>
  8. Fügen Sie in der Datei server.xml den folgenden Eintrag hinzu, damit als Reaktion des Sitzungsmanagers auf eine nicht berechtigte Anforderung eine Sitzung ungültig gemacht und keine Fehlernachricht vom Typ UnauthorizedSessionRequestException ausgegeben wird:
    <httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>
  9. Fügen Sie der Datei server.xml die folgende Konfiguration hinzu. Die Attribute id und name sind optional. Das Attribut location muss nicht vollständig qualifiziert sein, da Liberty standardmäßig im Verzeichnis apps sucht.
    <application id="" name="rpeng" type="ear" location="[Liberty-Installationsverzeichnis]\usr\servers\rpeng\apps\com.ibm.rpe.web.app.ear" >
         <classloader apiTypeVisibility="spec,ibm-api,api"/>
    </application>
    Wenn Sie die Dateien rpeng.war und dgaas.war anstelle der EAR-Datei (.ear) implementiert haben, müssen Sie zwei Anwendungseinträge statt einem Anwendungseintrag hinzufügen.
    <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. Überprüfen Sie Ihre Konfigurationseinstellungen anhand der Beispieldatei server.xml, Sie weiter unten im Abschnitt Beispiel finden.
  11. Definieren Sie die Lizenzierungsvariable. Weitere Informationen finden Sie unter Umgebungsvariable TELELOGIC_LICENSE_FILE überprüfen.
  12. Starten Sie das Liberty-Profil. Wenn die Dokumentgenerierung durchgeführt wird, werden alle Assets und Daten in der Datenbank gespeichert.

Ergebnisse

Sie können feststellen, ob die Anwendung implementiert wurde, indem Sie die Einführungsseite der Webanwendung von Rational Publishing Engine in einem Browser öffnen: http://Server:Port/rpeng/
Hinweis: Wenn im Web-Browser eine Fehlernachricht vom Typ UnauthorizedSessionRequestException angezeigt wird, vergewissern Sie sich, dass Sie die vorherigen Schritte ausgeführt haben, über die der Datei server.xml der folgende Eintrag hinzugefügt wird:
<httpSession invalidateOnUnauthorizedSessionRequestException="true"></httpSession>

Beispiel

Nachfolgend sehen Sie eine für die Implementierung der Webanwendung konfigurierte Beispieldatei server.xml:
<?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>

Nächste Schritte

Optional können Sie die Beispielanwendung "Newskeeper" implementieren, die die Technologie des Dokumentgenerierungsservice verwendet und eine Speicherschnittstelle für die Assets und Dokumente des Dokumentgenerierungsservice bereitstellt. Weitere Details finden Sie unter Beispiel 'Newskeeper' ausführen.

Konfigurieren Sie Webanwendung von Rational Publishing Engine, die auf der Seite http://Server:Port/rpeng/ aufgelistet ist. Unter URLs für die Webanwendung wird erläutert, wie jede URL verwendet wird und welche Aufgaben zur Konfiguration der einzelnen Features erforderlich sind.