WebSphere Application Server & Liberty

JSR-352 (Java Batch) Post #65: The IBM Workload Scheduler

By David Follis posted Wed October 30, 2019 07:35 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

Last time we talked about how you can use a script running the batchManager (or batchManagerZos) Command Line Interface with an Enterprise Scheduler to manage Liberty Java Batch job execution.  This time I want to cover what is (at this writing) the special case that is the IBM Workload Scheduler (IWS – formerly known as Tivoli Workload Scheduler (TWS)).

Of course, you can use IWS like any other job scheduler and have it execute a script that functions like we talked about last time.  But IWS went one step further and created a plugin that uses the Liberty Batch REST interface. 

The plugin allows you to define a Java Batch job as part of an IWS workflow.  When you define the Java Batch job you have to provide the host/port of the Liberty server that should be the target of the REST request.  Then you can provide the same parameters you provide to the CLI such as application name and JSL file name.  You can also provide job parameters to be passed on the start request. 

If you go back a few weeks, you’ll find our discussion about supplying the JSL “inline” instead of using JSL packaged with the application.  The IWS Java Batch plugin also allows you to specify JSL in the panel where you define the job.  This lets you keep the JSL in with your IWS-managed workflow, if that makes sense for your environment.

IWS can also make use of the REST interface to monitor the status of the job and provide access to information about the job after it is completed (just like WDT does for batch jobs running inside Liberty-in-Eclipse).

And finally, you can use IWS to fetch the joblog for the job and view it in the IWS console.

If your Enterprise Scheduler of choice is IBM Workload Scheduler, the JSR 352 Java Batch plugin provides close integration with Liberty Java Batch.  But, of course, it does so using the documented external batch REST interface, so it isn’t doing anything any other scheduler couldn’t also do.