Online documentation - Websydian v6.5 |
This document describes how to deploy, tune, and troubleshoot the Java based Application Service for iSeries.
The Application Service is the component of the Distributed Websydian Architecture that is created by the developer in the Plex development environment. Further information on the Application Service can be found in this document.
Make sure that the following software are available on the IBM i:
Make sure the Plex runtime objects are installed on the iSeries. Consult the Plex manual on how to install the Plex runtime objects for iSeries.
Make sure the Websydian runtime objects are installed, including the latest PTFs on the IBM i including the java runtime files for the DWA environment which are to be placed in the integrated file system (IFS).
For further information on installing the Websydian runtime on the IBM i read this document.
Before deploying and starting the Java Application Service on the iSeries it is recommended to deploy it on a Windows based platform. If the application has been successfully deployed on the Windows platform it is most likely going to be successfully deployed on the iSeries as well. Note that application problems are also easier identified on the Windows platform.
Java applications are deployed on the iSeries in the Integrated File System (IFS) and it is recommended to package all class files into one jar file for better performance.
In order to deploy the Application Service do the following:
Make sure that the Websydian parameters required in the obxxxclient.properties file are correct.
Parameter | Dscription | E.g. |
---|---|---|
html.path | Path to document templates | /Websydian/JavaApps/AcmeJavaApp/html |
html.date | Date format | yyyy-mm-dd |
html.time | Time format | hh:mm:ss |
html.timestamp | Timestamp format | yyyy-mm-dd hh:mm:ss |
TransacXML.TEMPORARY_FILES | Location of temporary files created by TransacXML | /Websydian/JavaApps/AcmeJavaApp/temp |
TransacXML.MAX_CONTENT_LENGTH | Max length of XML documents received by TransacXML | 10240 |
Make sure that the following parameters in the obxxxclient.properties file are correct:
Parameter | E.g. |
---|---|
DefaultAS400.System | ISERIESHOSTNAME |
DefaultAS400.Port | 40000 |
DefaultAS400.Encoding | Cp037 |
DefaultAS400.User | |
DefaultAS400.Password | Enter password in clear text, Plex runtime will encrypt on first call |
Environment.Default.Resources | file:/Websydian/JavaApps/AcmeJavaApp/resources |
For further information on parameters supplied by Plex please consult the Plex manual.
The Java Application Service is started by issuing the command STRJVAAS located in the Websydian runtime library.
Add the Websydian runtime libraries to the library list, making sure that the library WSYD600PTF is located before the library WSYD600.
Submit the Java Application Service using the STRJVAAS command followed by F4.
Start Java Application Service (STRJVAAS) Type choices, press Enter. Websydian Server IP Address . . *LOCALHOST Websydian Server TCP Port . . . 08189 Number Application Service IP Address . *LOCALHOST Application Service TCP Port . . 11001 Number Number of services . . . . . . . 1 Number Service Name . . . . . . . . . . SVCNAME Application Service Listener . . MISC.MyAppSvc Websydian home directory . . . . '/websydian/WSYD600' Application Jars Directory . . . '/websydian/JavaApps/AcmeJavaApp/Jars' More... F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys
Press PageDown
Start Java Application Service (STRJVAAS) Type choices, press Enter. Plex Property file path . . . . '/websydian/JavaApps/AcmeJavaApp' Job name . . . . . . . . . . . . WSYDAPP Character value Job description . . . . . . . . WSYDJOBD Name Library . . . . . . . . . . . WSYD600 Name Job queue . . . . . . . . . . . QINTER Name Library . . . . . . . . . . . QGPL Name Init library list . . . . . . . *JOBD Name, *CURRENT, *JOBD... User . . . . . . . . . . . . . . *CURRENT Name, *CURRENT, *JOBD Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys
After starting the Application Services verify that they are started and have reported information to the Websydian Server.
Using the command WRKLNK you are able to view the log file of the Websydian Server.
===>WRKLNK '/Websydian/WSYD600/logs/*' [Enter]
Work with Object Links
Directory . . . . :
/websydian/WSYD610/logs
Type options, press Enter.
2=Edit 3=Copy 4=Remove
5=Display 7=Rename 8=Display attributes
11=Change current directory ...
Opt Object
link
Type Attribute
Text
wsydsrv.log
STMF
Slut
Parameters or command
===>
F3=Exit F4=Prompt
F5=Refresh F9=Retrieve
F12=Cancel F17=Position to
F22=Display entire field F23=More options
Select option 5 in front of the wsydsrv.log file for view and press enter.
Edit File: /websydian/WSYD610/logs/wsydsrv.log Record : 1 of 3 by 8 Column : 30 99 by 74 Control : CMD 3....+....4....+....5....+....6....+....7....+....8....+....9....+....0.... a************** ead-0:INFO] - License info: Websydian Server Unregistered Basic expires at 'Ne ead-0:INFO] - DWA protocol: Version 2.1. ead-0:INFO] - Waiting for connection on 192.168.102.20:41130... ead-0:DEBUG] - Receiving... ead-2:DEBUG] - Got packet... ead-2:DEBUG] - Got PUTTOKEN... ead-2:DEBUG] - PUTTOKEN - svcname:EXPRESS timeout:30 sessname:WSYD_SID ipaddr:1 ead-2:INFO] - Token received. Service name: DWAWSYDAPP, IP Address: 192.168.102 *************** F2=Save F3=Save/Exit F12=Exit F15=Services F16=Repeat find F17=Repeat change F19=Left F20=Right
Input 30 in column and press enter.
The log file shows all communication with the Websydian Server, note this is only the case when log level is set to TRACE. Make sure that the log holds information about the packages PUTTOKEN identifying all Application Services started. Please note that the log information above is an example.
If the information is not in the log file or the log file is not present please proceed to the Troubleshooting the Java Application Service section of this document.
There are some tuning possibilities available to get the Java Application Service to respond faster.
The tuning options are:
For optimizing the load of classes IBM recommends creating jar packages holding class files, do the following for each directory holding class files:
cd /Websydian/JavaApps/jars/MyAppMisc
jar cfM /Websydian/JavaApps/jars/MyAppMisc.jar
Run the command CRTJVAPGM on the iSeries to optimize the java code.
The command create java program makes a copy of the java program and places an optimized version of the java program on the disk. When referring the java program the iSeries will check if there is an optimized version of the program and if present use this instead.
===>CRTJVAPGM [F4]
Create Java Program (CRTJVAPGM) Type choices, press Enter. Class file or JAR file . . . . . '/websydian/JavaApps/AcmeJavaApp/Jars/*.j ar' Classpath . . . . . . . . . . . *NONE Java developer kit version . . . *NONE Character value, *NONE Optimization . . . . . . . . . . > 40 10, *INTERPRET, 20, 30, 40 User profile . . . . . . . . . . *USER *USER, *OWNER Use adopted authority . . . . . *NO *NO, *YES Replace program . . . . . . . . *YES *YES, *NO Enable performance collection . *NONE *NONE, *ENTRYEXIT, *FULL Profiling data . . . . . . . . . *NOCOL *NOCOL, *COL Bottom F3=Exit F4=Prompt F5=Refresh F10=Additional parameters F12=Cancel F13=How to use this display F24=More keys
Change the "Class file of JAR file" to reflect the directory where the Websydian Java runtime objects are installed.
Change the "Optimization" to 40, which is the full optimization.
When troubleshooting the Java Application Service running on the iSeries check for the following problems.
===>DSPMSG <username> [Enter]
Use the command WRKOUTQ to view the contents of the output queue QEZJOBLOG
===>WRKOUTQ QEZJOBLOG [Enter]
===>WRKSPLF <username> [Enter]
The Java Application Service may display a number of error messages generated by the Websydian DWA layer. A complete list of possible errors are located here, for the most often seen errors see below:
Use the command NETSTAT to view the list of used IP addresses on the iSeries and select the menu option 3 - Work with TCP/IP connection status
===>NETSTAT [Enter]
Work with TCP/IP Connection Status System: DKSOFT00 Type options, press Enter. 3=Enable debug 4=End 5=Display details 6=Disable debug 8=Display jobs Remote Remote Local Opt Address Port Port Idle Time State * * ftp-con > 000:52:39 Listen * * telnet 000:29:57 Listen * * smtp 238:56:17 Listen * * www-http 002:36:49 Listen * * pop3 238:56:19 Listen * * netbios > 238:56:19 Listen * * netbios > 000:00:36 *UDP * * netbios > 000:00:21 *UDP * * netbios > 000:29:07 Listen * * cifs 001:27:59 Listen * * drda 238:57:26 Listen * * ddm 238:57:26 Listen Mere... F3=Exit F5=Refresh F9=Command line F11=Display byte counts F12=Cancel F15=Subset F22=Display entire field F24=More keys
Use the command CFGTCP followed by selection of the menu option 1 - Work with TCP/IP interfaces to view a list of available IP addresses on the iSeries.
===>CFGTCP [Enter]
Work with TCP/IP Interfaces System: DKSOFT00 Type options, press Enter. 1=Add 2=Change 4=Remove 5=Display 9=Start 10=End Internet Subnet Line Line Opt Address Mask Description Type 127.0.0.1 255.0.0.0 *LOOPBACK *NONE 192.168.1.1 255.255.255.0 ETHLAN1 *ELAN 192.168.1.2 255.255.255.0 ETHLAN2 *ELAN 192.168.100.1 255.255.255.0 ETHLAN3 *ELAN F3=Exit F5=Refresh F6=Print list F11=Display interface status F12=Cancel F17=Top F18=Bottom