Installing Web Object Wizard (WOW) CE

on the WebSphere Express Server

*NOTE: Screen shots are just examples, they will change with the latest release version.

Introduction

Prerequisites

Modify the web.xml

Create a .war File

Upload and Install the .war File

Specify Application Location:

Provide Options to Perform the Install:

Map Virtual Hosts for Web Modules:

Manage Installed Applications:

Updating an Existing Application

Setting WebSphere Express to Auto-Start

Introduction

WebSphere Application Server is a complex middleware product from IBM.  Usage of WebSphere often requires extensive administration and troubleshooting skills.  Organizations looking for an easy to use and administer application server may want to consider Apache Tomcat.  WOW applications can execute transparently in Tomcat or WebSphere.  

Prerequisites

  1. WebSphere Server 6.x or up
  2. JDK 1.6 or above
  3. Latest WebSphere and Java PTFs

Modify the web.xml

Before we create the .war file, the web.xml file must be modified so that it points to the iSeries database your Metadata is being housed on.  The file can be located in the installation package:

...\WOW Community Edition\wow70\WEB-INF\AS400-web.xml

There is already an AS400-web.xml file located inside the folder but it will need to be modified.  First, the file needs to be renamed from AS400-web.xml to “web.xml” (without the quotes, you may need to remove the existing web.xml file before you can rename).  Next, edit the file with a notepad program.  Inside the web.xml file you will find this:

<!-- Below are the initial parameters for the WOW metadata system.  Please note that the

         System URL must begin with a prefix such as jdbc:as400: or jdbc:db2: followed by the IP address

              or an alias if you have the alias mapping set up in your hosts file.-->

         <init-param id="WOW_Metadata_System_URL">

           <param-name>PJ_SYSTEM_URL</param-name>

           <param-value>jdbc:as400://YOUR_SYSTEM_HERE/pjsys70</param-value>

           <description>Replace YOUR_SYSTEM_HERE with the IP or alias of the WOW metadata system</description>

        </init-param>

         <!-- We default the User ID to WOW-->

        <init-param id="WOW_Metadata_System_User_ID">

           <param-name>PJ_USER_ID</param-name>

           <param-value>YOUR_AS400_USER_HERE</param-value>

        <description>Replace YOUR_AS400_USER_HERE with a valid profile on your AS400 system</description>

        </init-param>

        <init-param id="WOW_Metadata_System_Password">

           <param-name>PJ_PASSWORD</param-name>

           <param-value>YOUR_AS400_PASS_HERE</param-value>

        <description>Replace YOUR_AS400_PASS_HERE with the password for the valid profile you used above</description>

        </init-param>


Replace the
YOUR_SYSTEM_HERE, YOUR_AS400_USER_HERE and YOUR_AS400_PASS_HERE parameter values with the appropriate values for your system and save it.  Be sure the file has been renamed from AS400-web.xml to web.xml before continuing on and creating a .war file.

Create a .war File

To install WOW on WebSphere Express, a .war file is used.  The .war file is used to import the WOW files onto the WebSphere Express server.  A .war file is essentially a type of compressed file like a .zip file.  The web application needs to be zipped up into a .war file and then it can be imported into WebSphere Express.  The web application files needed for the .war file are located inside the web application folder in the installation package:

...\WOW Community Edition\wow70\

The above path may be different depending on where you unzipped the installation package to (WOWCE.zip).  Inside the web application folder (wow70) should be a few folders including dataengine, users, WEB-INF and wow.  With the web application folder (wow70) open, select ALL of the folders and zip them using a program such as Winzip or 7-zip.  

*NOTE:  Make sure you are inside the webapp folder (wow70).  Do not include the webapp folder (wow70) itself.

After the .zip file is created, change (rename) the .zip extension to .war.  This does not affect the integrity of the file.  .zip and .war files are basically the same type of file, only with different extensions.  To change the extension, right click on the file, select rename, and change the file extension to .war.  Also the war file name will become the web application context.  For example, a .war file named wow70.war would result in WAS creating an application folder named wow70.

Upload and Install the .war File

Next copy the .war file to the installableApps folder using a tool such as iSeries Navigator:

/QIBM/UserData/WebSphere/AppServer/V61/Express/profiles/WAS61A/installableApps/wow70.war


Run the following from an i5 emulator session to start the admin server for WAS:

STRTCPSVR SERVER(*HTTP) HTTPSVR(*ADMIN)

Bring up the admin web page (use your iSeries signon – port number may be different):

http://i5.ip.address:2001/

Click on IBM Web Administration for i5/OS


Click on Manage  Application Servers tab

Select the existing WAS Server



Click on the [Install] button to install a new application.

Specify Application Location:

Click on Application is contained in a WAR file radio button.

Click the [Browse] button to fill in the integrated file system path of the WAR file:

/QIBM/UserData/WebSphere/AppServer/V61/Express/profiles/WAS61A/installableApps/wow70.war

Provide the web application context root:

/wow70

Click on Next

Provide Options to Perform the Install:

Provide application name if different than the context (wow65, wow66, wow70, other).

Make a note of the directory the application is to be installed to.  For example:

/QIBM/UserData/WebSphere/AppServer/V61/Express/profiles/WAS61A/installedApps

Click on Next

Map Virtual Hosts for Web Modules:


Select the Web Server.  For example:  WASSERVER

Click on Next

Click on Finish to complete deployment.

Manage Installed Applications:

The new application should be shown in the list.  Ensure that the application is installed correctly (status = Enabled).

Start the Application server and try to bring up the application in a browser (e.g. http://192.168.0.125:10001/wow70/runApp?id=0)

Updating an Existing Application

You may want to make a backup copy of the application folder

(
~QIBM/UserData/WebSphere/AppServer/V61/Express/profiles/WAS61A/installedApps/mysys_WAS61A/wow70.ear/wow70.war).

Rebuild the War file with the latest code and resources (see instructions above for creating a .war file).

Go to Application Servers.

Click on Manage Installed Applications

Select the application to be updated.  You should then see an [Update] button.

Click on the [Update] button.

Select Application is contained in a WAR file

Browse to find the updated .war file.

Click on the [Update] button to complete the process.

The Manage Installed Applications screen should be displayed and the updated application should be shown in the list as Enabled once the update is complete.

Setting WebSphere Express to Auto-Start

To configure WebSphere Express to start automatically requires two steps:

  1. Set the WebSphere subsystem to start via the start-up program.  The name of the start-up program is stored in the QSTRUPPGM system value, which you can view and change by using the following Work with System Value (WRKSYSVAL) command:

WRKSYSVAL SYSVAL(QSTRUPPGM)

Typically, the start-up program is set to QSYS/QSTRUP.  We recommend you create a modified version of QSTRUP in QGPL:

  1. Retrieve the CL source from the original start-up program:

RTVCLSRC PGM(QSYS/QSTRUP) SRCFILE(QGPL/QCLSRC)

  1. Add a call for starting WebSphere, inserting just prior to the RETURN statement:

STRBS SBS(QWAS61/QWAS61)  

MONMSG MSGID(CPF0000)

RETURN              

  1. Compile the new CL program.
  2. Run the same system value command  (WRKSYSVAL SYSVAL(QSTRUPPGM)) and change the program name to point to the new program:

QGPL/QSTRUP


  1. The WebSphere subsystem should now start up automatically the next time your i5 is restarted.
  2. If problems occur during startup, run the following to find the corresponding joblog:

WRKUSRJOB USER(QPGMR)

Page down to the most recent job called QSTRUPJD (usually the last QSTRUPJD entry in the list) and enter 5 (work with job) in front of that entry.  There may not be a log, if no errors were encountered.  This brings you to the Work with Job screen for your latest system start-up job. Here you can enter 4 (work with spooled files) at the command line to view the job's spool files, including your QSTRUP job log. You can then analyze the results of your QSTRUP changes and make code adjustments for the next time you restart your system.

  1. Create auto-start job entry in the WebSphere subsystem for WebSphere Express.
  1. Create a job description that contains both the command used to start the job and the auto-start job entry itself.   Create the job description by creating a duplicate of the job description used by WebSphere Application Server profiles. For example, issue the following command on the CL command line:

CRTDUPOBJ OBJ(QWASJOBD) FROMLIB(QWAS61) OBJTYPE(*JOBD) TOLIB(QGPL) NEWOBJ(WASJOBD)

  1. Use the CHGJOBD command to change the newly created job description such that the Request data or command (RQSDTA) field starts the new server. For example, to start the WAS61A profile's application server (WAS61A) when the subsystem is started, issue the following:

CHGJOBD JOBD(QGPL/WASJOBD) USER(QEJBSVR) RQSDTA('QSYS/CALL PGM(QWAS61A/QWASSTRSVR) PARM(''-profilePath''  ''/QIBM/UserData/WebSphere/AppServer/V61/Express/profiles/WAS61A'' ''-server'' ''WAS61A'')') ALWMLTTHD(*YES)                  

c.           Add an auto-start job entry to the QWAS61/QWAS61 subsystem. Issue the following:

ADDAJE SBSD(QWAS61/QWAS61) JOB(WASJOB) JOBD(QGPL/WASJOBD)