This servlet has been developed and tested using Windows NT V4, SP6a running Apache's Tomcat V3.2. Tests have been carried out using IBM HTTPServer V1.3.12 with IBM WebSphere Application Server V3.5.2 Advanced Edition. For client tests, mainly Microsoft Internet Explorer V5.5 was used and Netscape Navigator V4.6 was also used in tests.
<MQWFDir>
, the following new directories exist,
containing these files:
root
account to be able to execute this shell script.If you are using a Unix platform, run the <MQWFDir>/WebClient/chaccess
shell script to make sure the correct file ownerships and permissions are set
for the Web Client's files. You may need to switch to the root
account to be able to
execute this shell script. Note that Java AWT which is used to create the process
monitor images requires the DISPLAY
variable to be set. This variable must
point to an X11 server, preferably (for performance reasons) the local host.
Before you start installing the Web Client, read the section about prerequisites, then choose your environment from the following list:
The following versions are no longer supported, please upgrade to IBM WebSphere Application Server V3.5 if you want to use the Web Client:
If your environment is not listed above, see the generic installation instructions.
Instructions for installing over an earlier version of the Web Client precede the installation instructions for each of the environments. You may also want to check the change log before you continue.
After having installed, using your Web browser click http://localhost/MQWFClient/RTC.html.
In addition to the above, you might want to define an
alias '/MQWFDoc' in your Web Server for the <MQWFDir>/doc
directory. This allows you to access the documentation for the Web Client as
http://localhost/MQWFDoc/WebClient/index.html.
The Java API documentation is then located at
http://localhost/MQWFDoc/javaapi/index.html.
If you already have the previous version of the Web Client installed on
your machine, and are installing the new version in the same location, you
only need to check step 3 of the installation instructions below. The
servlet settings are now defined in the WebClient.properties
(formerly Servlet.properties
). You may also want to check the
change log before you continue.
<MQWFDir>/WebClient/webpages
directory in your Web
server. Note: Do not copy the contents of the
<MQWFDir>/WebClient/webpages
directory to the Web
server's document root directory. If your Web server does not support
separate document root directories for each Web application, use the
DocumentRoot setting.<MQWFDir>/bin/java<VRMS>/fmcojagt.jar
and
<MQWFDir>/WebClient/fmcohcli.jar
to the servlet container's CLASSPATH. Note: Do not extract the
.class
files to the servlet container's servlet directory.com.ibm.workflow.servlet.client.Main
as /MQWFClient/servlet/Main with the servlet container./MQWFClient
and document root
<MQWFDir>/WebClient/webpages
.fmcojprf
and fmcojloc
are in
the shared library path for the servlet container and the servlet container's
JVM is running under an account that is authorized to access MQSeries.If you already have the previous version of the Web Client installed on your machine, and you are installing the Web Client in the same location as the previous version, you only need to do the following:
ConfigurationFile
init parameter
is set to <MQWFDir>/WebClient/WebClient.properties
(formerly
Servlet.properties
). Press the Apply button after the change.In addition, it may be necessary to clean up the compiled JSP files from the previous version.
Go to the <WASDir>/temp/default_host/MQWFClient
directory and delete all
files and subdirectories in it.
You may also want to check the change log before you continue.
Otherwise, go to Installation using the XML configuration GUI or Manual installation.
The Web Client contains a configuration GUI to be used with the XML configuration technology preview of WebSphere Application Server V3.0.2 and the XML configuration technology of WebSphere Application Server V3.5.
<MQWFDir>/WebClient
directory, because the skeleton files which will be filled in and imported
into WebSphere depend on that name. If you chose another name, please follow
the instructions for manual installation below.<MQWFDir>\WebClient\was3cfg.bat
(for Windows)
or <MQWFDir>/WebClient/was3cfg.sh
(for Unix platforms)
file and make the adaptations for your environment as documented in that
file.<MQWFDir>/WebClient
,
and the WebSphere Administration Server is running, before you run the
script.Note that there is a problem on AIX with setting the LIBPATH
variable for
the 'MQSeries Workflow WebClient' Application Server in the WebSphere Administrative Console.
If you try this, you will get an error message like:
java.lang.UnsatisfiedLinkError: Can't find library libfmcojprf.so in LIBPATH LIBPATH=/usr/jdk_base/lib/aix/native_threads:...TH=/usr/lpp/fmc/lib:$LIBPATH:TH=/usr/jdk_base/lib/aix/native_threads:... at java.lang.Runtime.loadLibrary(Compiled Code) :When using WebSphere V3.0.2, the workaround for this problem is setting
export LIBPATH=/usr/lpp/fmc/lib:$LIBPATH
on the command line before starting
the WebSphere Application Server. For WebSphere V3.5, you must set LD_LIBRARY_PATH
instead of LIBPATH
. Note that the XML configuration GUI neither sets LIBPATH nor
LD_LIBRARY_PATH on AIX. You have to do this manually.
If you cannot use the XML configuration, follow these instructions instead:
Before installing WebSphere Application Server V3.5, complete your HTTP
Server installation and customization (see the documentation
IBM HTTP Server for OS/390 Planning, Installing, and Using Version 5.2,
SC31-8690-04, or IBM HTTP Server for OS/390 Planning, Installing, and Using
Version 5.3, SC31-8690-05).
It is recommended that you first customize and start the IBM HTTP Server without
WebSphere Application Server to make sure that you can successfully serve HTML pages
before you start customizing WebSphere Application Server.
It is recommended that you install the most recent available PTFs for Java, IBM HTTP Server and IBM WebSphere Application Server.
Before installing the Web Client, make sure that the MQSeries Workflow environment is correctly installed, where the MQSeries Workflow Java API support can be exploited from the OS/390 Unix System Services.
Optionally, create your own HFS file system for MQSeries Workflow and mount it for example on/usr/lpp/fmc
(see also the IBM MQSeries Workflow for
z/OS Customization and Administration - Customize the Web Client).
It is assumed that MQSeries Workflow Java API support is installed as follows:
<MQWFDir>/lib/libfmcojloc.so
external
link to FMCH1LOC
<MQWFDir>/lib/libfmcojprf.so
external
link to FMCH1PRF
<MQWFDir>/bin/java<VRMS>/fmcojagt.jar
is the MQSeries Workflow Java API .jar file (VRMS denotes the Version, Release,
Modificiation- and Service Level)
Note: Throughout this installation and customization description the following
placeholders are used:
<CustHLQ>
refers to the qualifier that has been used during the
installation of MQSeries Workflow
(MQSeries Workflow for z/OS Customization and Administration)
<MQWFDir>
is the directory where MQSeries Workflow has been installed, e.g.
/usr/lpp/fmc
<MQWFCfgDir>
is the directory specified (to the fmczwcfg
shell script; see below) as configuration root directory
<applicationserver_root>
is the name of the mounted install-image of an
individual execution system of IBM WebSphere Application Server. The default
applicationserver_root is /usr/lpp/WebSphere
All files belonging to Web Client should already be available on your system if you followed the instructions, given in IBM MQSeries Workflow for z/OS Customization and Administration - Customize the Web Client).
In <MQWFDir>/bin you will find a shell script named fmczwcfg. If necessary, execute
command chmod a+x fmczwcfg
against it.
Either edit the script and make adaptations to the "customization area" to specify
user IDs and directories, or specify the appropriate values as invocation parameters
(fmczwcfg -help
gives a list of the supported parameters).
To configure the Web Client follow the steps below:
httpd.conf
(Web server configuration file)
PASS /MQWFClient/* <MQWFDir>/WebClient/webpages/*
PASS /MQWFDoc/* <MQWFDir>/doc/WebClient/*
PASS /* /usr/lpp/internet/server_root/pub/*
.
AddType .js application/x-javascript ebcdic 1.0
if not
already there.
Service /MQWFClient/servlet/* <applicationserver_root>/lib/libadpter.so:AdapterService
<CustHLQ>.SFMCDATA(FMCHEENV)
to the httpd.envvars
file.was.conf
(if you have already configured an Application Server and want to
add the Web Client to it, use the was.conf file of that Application Server; if you define a new
Application Server, you start with the was.conf template as described in
WebSphere Application Server for OS/390 - Planning, Installing and Using -
Configuring the Application Server)
<MQWFDir>/bin/java<VRMS>/fmcojagt.jar:<MQWFDir>/WebClient/fmcohcli.jar
appserver.classpath
property.<MQWFDir>/lib
appserver.libpath
property.session.enable=true
session.cookies.enable=true
deployedwebapp.MQWFClient.description=MQSeries Workflow Web Client deployedwebapp.MQWFClient.host=default_host deployedwebapp.MQWFClient.rooturi=/MQWFClient deployedwebapp.MQWFClient.documentroot=<MQWFDir>/WebClient/webpages deployedwebapp.MQWFClient.classpath=$was_install_root$/AppServer/hosts/default_host/examples/servlets webapp.MQWFClient.description=MQSeries_Workflow_Web_Client webapp.MQWFClient.jspmapping=*.jsp webapp.MQWFClient.jsplevel=1.0 webapp.MQWFClient.servlet.Main.code=com.ibm.workflow.servlet.client.Main webapp.MQWFClient.servlet.Main.servletmapping=/servlet/Main webapp.MQWFClient.servlet.Main.initargs=ConfigurationFile=<MQWFDir>/WebClient/WebClient.properties
//FMCHEUPR DD DISP=SHR,DSN=<CustHLQ>.SFMCDATA(FMCHEUPR)
//FMCHEMPR DD DISP=SHR,DSN=<CustHLQ>.SFMCDATA(FMCHECPR)
//FMCTRC00 DD SYSOUT=H
Note that Java AWT which is used to create the process
monitor images requires the DISPLAY
variable to be set. This variable must
point to an X11 server, preferably (for performance reasons) the local host.
This variable can be set in the httpd.envvars
configuration file.
For additional diagnostic messages, you can set various trace settings in
was.conf
:
For details on these settings, refer to the
appserver.loglevel=
objectleveltrace.enabled=true
was.conf
template file, or to the
WebSphere Application Server Planning, Installing, and Using documentation.
Servlets are inherently multi-threaded, which means that you have to make sure that the Unix System Services and the MQSeries Queue Manager are configured properly to support a high number of threads. (See below for BPXPRMxx).
If you encounter errors, such as, "java.lang.OutOfMemoryError: cannot create any more
threads
", possible fixes are:
httpd.conf
file, change MaxActiveThreads=80
(minimum).SYS1.PARMLIB(BPXPRMxx)
member, change
MAXTHREADTASKS(1024)
(at least greater than MaxActiveThreads
) and
MAXTHREADS(2048)
(at least 2 x MAXTHREADTASKS
).MODIFY OMVS,MAXTHREADTASKS ...)
to change the current settings of the running OMVS subsystem.
If errors in MQSeries occur, such as Reason code=2025
, (which means
MQRC_MAX_CONNS_LIMIT_REACHED
, Maximum number of connections reached), this suggests
that the MQCONN or MQCONNX call was rejected, because the maximum number of concurrent connections
was exceeded. On OS/390, connection limits are applicable only to TSO and batch requests.
The limits are determined by the customer using the following parameters of the
CSQ6SYSP
macro:
IDFORE
(for TSO)IDBACK
(for batch )To improve performance, you can enable the JIT compiler in
appserver.jvmpropertiesfile
(defined in was.conf
)
by setting appserver.product.java.jvmconfig.jit=on
.
Problems can occur with the JIT compiler, therefore,
check a new application without the JIT compiler first.
Also refer to the topic "Performance Hints and Tips" in The WebSphere Troubleshooter for OS/390 on the Web.