This page is a guide to quickly getting up and running with the EasySMF:JE Java API on z/OS.
You can install all components except Java into your personal libraries and home directory, which makes trialing EasySMF:JE simple. If Java is already installed, you should be able to install EasySMF:JE and be running the sample programs against your SMF data in 30 minutes or less.
Complete installation instructions are included in the
Installation and User Guide
Prerequisites
Java 8 or higher
Installation of Java on z/OS is outside the scope of this guide. Refer to IBM 31-bit SDK for z/OS, Java Technology Edition, Version 8 and/or IBM 64-bit SDK for z/OS, Java Technology Edition, Version 8 for Java installation instructions.
Currently supported versions of z/OS should include Java as part of the base operating system.
JZOS Batch Launcher
The JZOS batch launcher allows you to run Java as a regular z/OS batch job, using JCL DD statements to define input and output.
Documentation can be found here:
Installation consists of copying the load module from the Java installation into a PDS/E, and setting up a JCL PROC.
1. Allocate datasets for JZOS load modules and JCL
//jobname JOB CLASS=A,
// MSGCLASS=H,
// NOTIFY=&SYSUID
//ALLOC EXEC PGM=IEFBR14
//DD1 DD DISP=(NEW,CATLG),
// DSN=hlq.JZOS.LOADLIB,
// DSNTYPE=LIBRARY,
// SPACE=(TRK,(50,10,10)),
// RECFM=U,BLKSIZE=32760
//DD2 DD DISP=(NEW,CATLG),
// DSN=hlq.JZOS.CNTL,
// SPACE=(TRK,(10,5,5)),
// RECFM=FB,LRECL=80,BLKSIZE=6160
2. Copy JZOS JCL and load modules from the Java installation.
This JCL copies both 31 bit and 64 bit components. EasySMF will run as either 31 bit or 64 bit, so if you have only set up one version of Java you can delete the lines referring to the other version.
//jobname JOB CLASS=A,
// MSGCLASS=H,
// NOTIFY=&SYSUID
//S1 EXEC PGM=BPXBATCH,REGION=512M
//STDENV DD *
JAVA=/usr/lpp/java/J8.0
JAVA64=/usr/lpp/java/J8.0_64
//STDPARM DD *
SH
cp $JAVA/mvstools/samples/jcl/JVMJCL80
"//'hlq.JZOS.CNTL(JVMJCL80)'";
cp $JAVA/mvstools/samples/jcl/JVMPRC80
"//'hlq.JZOS.CNTL(JVMPRC80)'";
cp -X $JAVA/mvstools/JVMLDM80
"//'hlq.JZOS.LOADLIB(JVMLDM80)'";
cp $JAVA64/mvstools/samples/jcl/JVMJCL86
"//'hlq.JZOS.CNTL(JVMJCL86)'";
cp $JAVA64/mvstools/samples/jcl/JVMPRC86
"//'hlq.JZOS.CNTL(JVMPRC86)'";
cp -X $JAVA64/mvstools/JVMLDM86
"//'hlq.JZOS.LOADLIB(JVMLDM86)'";
3. Update the JZOS JCL
JZOS batch launcher procs are in hlq.JZOS.CNTL
members JVMPRC86
and JVMPRC80
.
Update the JCL to uncomment the LIBRARY parameter and point it to your JZOS LOADLIB, and uncomment the STEPLIB.
EasySMF:JE installation
1. Download EasySMF:JE and request a trial key
EasySMF:JE can be downloaded here:
EasySMF:JE - Pax archive for installation on z/OS
Request a 30 day trial key here: 30 Day Trial. Enter your email address at the bottom of the page to receive a trial key. The key should be delivered immediately via email. If you do not receive it within a few minutes, check your spam folder.
2. Upload installation file to z/OS
Upload the installation file in BINARY format to a directory on z/OS, e.g. your home directory.
3. Extract the files from the archive:
pax -rvf easysmf-je-v.r.m.pax
The files will be extracted to the easysmf-je-v.r.m subdirectory.
4. Install the EasySMF:JE key
The EasySMF:JE key is a text file that looks like:
**License:
MQ0KMjAxNS0wOS0wNA0KVGVtcG9yYXJ5IEtleQ0K
**Sig:
bBvA9pCvG145BQrvaser65geM8zaIxJsAt5XJVtwpB3Ld4TXB4LzaCFNdRgXtQQR
IGAg+KhMLyaMM66gFMsFQduE1A5AK6wWi2Z9hBBm/YOBqCW4gbw9iWzeApE09VaQ
LbFkhc6WNyv2/27VZXJ/nkAyUBzX9uyVEKb4Vc+oX0M=
**End
The format of the key is designed so that it can be easily pasted into a 3270 emulator session.
Put the key in a convenient dataset. EasySMF jobs use the EZSMFKEY DDNAME to find the key.
//EZSMFKEY DD DISP=SHR,DSN=YOUR.DATASET(EZSMFK)
5. Run the sample jobs
Sample JCL to run under JZOS is in the easysmf-je-v.r.m/samples/JCL/RUNJZOS.jcl file.
Customize the JCL symbols in the jobs as required:
- CLASS – The class name of the sample to run. Some examples are:
- com.smfreports.RecordCount
- com.smfreports.json.smf30.StepAndJobEnd
- com.smfreports.cics.CicsTransactionSummary
- TGT – The target for the compiled classes – not important for the precompiled samples.
- EZSMFDIR – The location where you installed EasySMF-JE, i.e. the easysmf-je-v.r.m directory.
- JZOSLIB – The JZOS loadlib PDS/E
- JAVA – The location of your Java installation. E.g.
'/usr/lpp/java/J8.0'
- SMFDATA – A dataset containing SMF data.
What Next?
Sample reports using EasySMF:JE are available on Github:
https://github.com/BlackHillSoftware/easysmf-samples
View the EasySMF:JE Tutorial to lean how to process SMF data with EasySMF:JE. Run the samples on your own data, or use them as the basis of your own reports.
Installation on other platforms (Windows, Linux etc)
You can edit, compile and run Java programs on z/OS, but development is much easier using an IDE like Eclipse on a workstation.
Build the samples using Apache Maven
Download or clone the EasySMF Sample repository with git:
git clone https://github.com/BlackHillSoftware/easysmf-samples.git
Change to the directory containing the pom.xml file for the particular sample project, and build:
mvn clean package
The resulting jar files can then be uploaded and run on z/OS.
Manual installation
Zip and tar files containing the EasySMF components are available here:
Add the contents of the jar subdirectory to the Java classpath.