WebSphere Application Server & Liberty

JSR-352 (Java Batch) Post #90: Extra Things Just for z/OS

By David Follis posted Wed May 13, 2020 07:03 AM

This post is part of a series delving into the details of the JSR-352 (Java Batch) specification. Each post examines a very specific part of the specification and looks at how it works and how you might use it in a real batch application.

To start at the beginning, follow the link to the first post.

The next post in the series is here.

This series is also available as a podcast on iTunesGoogle PlayStitcher, or use the link to the RSS feed

Applications that could probably be classified as ‘batch’ can likely run on every platform in existence.  Java applications can run on a huge assortment of platforms.  Java Batch applications can (and do) run on a lot of platforms.  But…. z/OS (OS/390, MVS, MVT, OS/360..) has been running batch applications longer than anything still actively used in real production environments.  And z/OS offers a lot of very special capabilities that Enterprise Batch environments like to take advantage of.

We’re going to start a series of posts that look at some special things done in the WebSphere Liberty implementation of JSR-352 just for z/OS.  Some of these are direct exploitation of z/OS capabilities, such as SMF.  Exploiting SMF provides the ability to produce reports detailing information about batch job execution, such as CPU consumed.  This information allows for chargeback for use of system resources, but also for capacity planning as batch jobs grow to consume more resources (if you have a batch job that processes a record for every widget you sell and your number of sold widgets doubles, then your batch job takes longer to run and consumes more resources – it would be nice to see that growth happening). 

Other z/OS exploitation features take advantage of z/OS capabilities to simply fit in better with a z/OS environment or take advantage of z/OS features to execute faster or more simply.

We’ll also take a look at how do to some things on z/OS that are slightly different than you might do them from a batch job on another platform.  This will include things like accessing datasets (which are basically files but can be…different).  We’ll also look at some special considerations for managing file locking (e.g. GRS ENQ contention). 

Batch applications written in Java can run on a lot of platforms.  You might have reasons why you want to run those applications on z/OS and we’ll talk about how you can do that.  And we might even give you some reasons to run on z/OS if you’re not sure that’s a good idea (hint:  I think it is a good idea…)

Stay tuned!