Black Hill Software

  • Home
  • Products
    • EasySMF
      • Release Notes and Latest Version
      • Online Manual
      • License Agreement
    • EasySMF:JE
      • EasySMF:JE Java Quickstart
      • Release Notes and Latest Version
      • Javadoc
      • EasySMF JSON Javadoc
      • License Agreement
    • 30 Day Trial
  • Purchase
    • How to Buy
    • Purchase a License
  • Support
    • EasySMF Support
    • Get the latest version of EasySMF
    • EasySMF:JE Support
    • Get the latest version of EasySMF:JE
  • News
  • Contact
    • Support
    • Sales

EasySMF:JE Java Quickstart

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 trialling EasySMF:JE simple. If Java 8 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

Java 8 introduced the java.time date and time classes which are ideal for working with SMF dates and times. EasySMF:JE uses these classes extensively, so Java 8 is required.

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.

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:

  • JZOS Knowledge Center Page
  • JZOS Installation and User’s Guide.

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: TSO TRANSMIT 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

Allocate a FB 80 sequential dataset to receive the installation file.

//jobname  JOB CLASS=A,                 
//        MSGCLASS=H,                   
//        NOTIFY=&SYSUID                
//ALLOC   EXEC PGM=IEFBR14              
//DD1      DD DISP=(NEW,CATLG),         
//        DSN=hlq.EASYSMF.INSTALL.XMI,      
//        SPACE=(TRK,(300,50)),         
//        RECFM=FB,LRECL=80,BLKSIZE=6160

Upload the installation file in BINARY format to the dataset you allocated.

3. Use TSO RECEIVE to restore the installation PDS

TSO RECEIVE INDATASET('hlq.EASYSMF.INSTALL.XMI')

Dataset VENDOR.EASYSMF.VnRnMn.INSTALL from AJR on N1
Enter restore parameters or 'DELETE' or 'END' +

Hit enter to accept the default name hlq.EASYSMF.VnRnMn.INSTALL
or respond:

dataset('<your.output.dataset>')
4. Edit and run the #INSTALL job

By default, the #INSTALL job installs EASYSMF:JE into the java subdirectory in your home directory. This is typically a suitable location for initial testing and evaluation.

The #INSTALL job installs EasySMF:JE into the following directories in the destination directory:

easysmf-je-v-r-m/jar
EasySMF and related jar files
easysmf-je-v-r-m/documentation
The EasySMF javadoc jar file
easysmf-je-v-r-m/samples
Source code for EasySMF sample reports

Change the SRC parameter to point to the installation PDS. Change the DEST parameter if you want to install to a different location. Submit the job.

5. 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)
6. Run IVPs and sample jobs

Four IVP jobs are provided to verify the installation and demonstrate the use of EasySMF:JE.

IVP1
This job runs a sample class installed with EasySMF to verify that the EasySMF classes can be located.
IVP2
This job runs the same class as the previous job, but it compiles and runs it from source.
IVP3
This job compiles and runs a sample SMF report. The report lists the top 10 job names by CPU time between 8:30 am and 5:30 pm for each day of the week.
IVP4
This job runs one of the sample SMF programs from the Samples jar file. It reports SMF record statistics (count, size, MB) by type and subtype.

Customize the JCL symbols in the jobs as required:

JAVAHOME
The location of your Java installation. E.g. '/usr/lpp/java/J8.0'
ESMFPATH
The location where you installed EasySMF-JE. This should be the same as DEST in the #INSTALL job e.g. './java' to for the java subdirectory under your home directory.
EZSMFKEY
A dataset containing the temporary or permanent key for EasySMF.
JAVACLS
The name of the class to run. This needs to include the Java package qualifiers and be and surrounded by triple apostrophes for correct symbol substitution. e.g. '''com/blackhillsoftware/samples/RecordCount'''
TARGET
The location to store compiled java class files. e.g. './java/target'
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, complie and run Java programs on z/OS, but development is much easier using an IDE like Eclipse on a workstation. The resulting .class files can then be uploaded and run on z/OS.

A zip file containing the EasySMF components is available here:
Zip format, for use on Windows, Linux etc.

Add the contents of the jar subdirectory to the Java classpath.

30 Day Trial

EasySMF and EasySMF:JE are available for a free 30 day trial. Download now and start using them immediately.
30 Day Trial

Information

EasySMF:JE Java API for SMF Quickstart

EasySMF:JE Sample 1 : SMF Records by type and subtype

Systems Programmer Friendly Java

Sending Email from z/OS using Java

Sign up for EasySMF News

Stay up to date. Enter your email address to receive updates about EasySMF.
unsubscribe from list

Black Hill Software

Suite 10b, 28 University Drive, Mt Helen, VIC 3350, Australia
PO Box 2214, Bakery Hill, VIC 3354, Australia
+61 3 5331 8201
+1 (310) 634 9882
info@blackhillsoftware.com

News

  • Finding UID 0 work on z/OS using SMF Data
  • Apache Log4j CVE-2021-44228 Information
  • Java vs C++ : Drag Racing on z/OS

Twitter

My Tweets

Copyright © 2023 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in