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 into your personal libraries and home directory, which makes trialling EasySMF:JE simple. 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
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.
JZOS is delivered with Java, but the JZOS load module and JCL procedures need to be copied to z/OS datasets.
Documentation can be found here:
The following instructions are for Java 8. Java 11 is similar but does not include 31 bit components.
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 – Zip format – Jars and samples in zip format
- EasySMF:JE – tar.gz format – Jars and samples in tar.gz format
- EasySMF:JE – Pax archive – Jars and samples in pax archive format, 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:
- EasySMF:JE – Zip format – Jars and samples in zip format
- EasySMF:JE – tar.gz format – Jars and samples in tar.gz format
- EasySMF:JE – Pax archive – Jars and samples in pax archive format, for installation on z/OS
Add the contents of the jar subdirectory to the Java classpath.