Thursday, October 4, 2007

Activating CWS on a z/VSE 3.1.1 System

This blog will show the steps I went through to activate CICS Web Services on a base install z/VSE 3.1.1 system. The process is pretty simple and here is what I did ...

First, I installed z/VSE 3.1.1 from the z/VSE 3.1.1 refresh tapes. Since this was done on a z/VM system, I created a new z/VSE 3.1.1 virtual machine with 2 3390-3's to handle this. After completing the z/VSE 3.1.1 install I did some basic customization and started the POWER RDR and LST devices. Now I can submit jobs from CMS.

I submitted a job from my CMS user to define a new sublibrary called PRD2.TCPIP. Then, I submitted the INSTTOOL.JOB TCP/IP-TOOLS installion job and released the job to run. I installed TCP/IP-TOOLS into the new PRD2.TCPIP sublibrary.

To startup the TCP/IP stack, I did the usual things. Defined the network interface, Cataloged the BSTTPARM.A license member, etc. and brought up the BSTTINET TCP/IP stack. Once the stack was up and running (tested using the MSG BSTTINET,D=IP PING ... command) I brought up our BSTTFTPS FTP server.

Next I used the CMS FTP client to FTP into my new z/VSE 3.1.1 system. Once there, I FTP'ed the CICSICCF JCL from the POWER RDR queue to my CMS user. This is a simple way to get the currently running JCL.

At this point, I used xedit to edit the CICS JCL and added the * $$ JOB and * $$ EOJ which POWER does not store in its data file.

Then I added the following JCL to the CICS job ...

1) // OPTION SYSPARM='00' Stack ID
2) Added PRD2.TCPIP first in the LIBDEF SEARCH chain
3) Added the BSTTWAIT JCL

// EXEC BSTTWAIT,SIZE=BSTTWAIT
/*

Note: BSTTWAIT sets the VSE JCL return code. RC=0 indicates the BSTTINET TCP/IP stack is up and available. RC=8 indicates the TCP/IP stack was not started within 10 minutes. If you want to be able to wait more than 10 minutes using BSTTWAIT, use VSE conditional JCL to re-execute the step if the return code is equal to 8.

4) Add TCPIP=YES to the CICS SYSIPT overrides on both // EXEC DFHSIP steps

Now your CICS TS JCL is ready to go. However, a couple of more things to do before you bring up CICS TS CWS for the first time.

Now logon to your current CICSICCF system to copy and activate the TCPIP CEDA entries.

From a CEDA display ...

COPY GROUP(DFH$SOT) TCPIPSERVICE(HTTPNSSL) TO(BSI$SOT)
ALTER GROUP(BSI$SOT) TCPIPSERVICE(HTTPNSSL)
Change the Portnumber if desired (I used 8080)

And finally
ADD GROUP(BSI$SOT) LIST(VSELIST) AFTER(TCPIP)

At this point we need to create an ASCII/EBCDIC conversion table. This JCL was taken directly from the IBM manual. You will need to modify it as necessary for you system.

* $$ JOB JNM=DFHCNV,CLASS=8,LDEST=(,BARNARD),PDEST=(,BARNARD)        
* $$ LST JSEP=0,CLASS=O
* $$ PUN JSEP=0,CLASS=O
// JOB DFHCNV
// LIBDEF *,CATALOG=PRD2.CONFIG
// LIBDEF SOURCE,SEARCH=(PRD1.BASE,PRD1.MACLIB)
// OPTION CATAL,LIST
// EXEC ASMA90,SIZE=(ASMA90,64K),PARM='EXIT(LIBEXIT(EDECKXIT)),SIZE(MAXC
-200K,ABOVE)'
DFHCNV TYPE=INITIAL
DFHCNV TYPE=ENTRY,RTYPE=PC,RNAME=DFHWBHH,USREXIT=NO, X
SRVERCP=037,CLINTCP=437
DFHCNV TYPE=SELECT,OPTION=DEFAULT
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=CHARACTER,DATALEN=32767, X
LAST=YES
DFHCNV TYPE=ENTRY,RTYPE=PC,RNAME=DFHWBUD,USREXIT=NO, X
SRVERCP=037,CLINTCP=437
DFHCNV TYPE=SELECT,OPTION=DEFAULT
DFHCNV TYPE=FIELD,OFFSET=0,DATATYP=CHARACTER,DATALEN=32767, X
LAST=YES
DFHCNV TYPE=FINAL
END
/*
// IF $MRC GT 4 THEN
// GOTO NOLINK
// EXEC LNKEDT
/. NOLINK
/*
/&
* $$ EOJ


Now you are ready to shutdown your original CICSICCF partition and bring up your new CICSICCF JCL that will include CWS support.


To test the CWS interface using this command from your web browser ...
http://192.168.1.228:8080/CICS/CWBA/DFH$WB1A
Of course, you will have to change the IP address to reflect your system's IP address.

When I entered the above URL in my Firefox browser I received this response ...

DFH$WB1A on system DBDCCICS successfully invoked through CICS Web Support on CICS Transaction Server for VSE/ESA.

Enjoy!

No comments: