I am pretty excited. We just released new services that make it super easy and fun to work with z/OS datasets directly from the shell, from Java, or in Python. The services are shipped in the IBM Z Open Automation Utilities, which is provided as an FMID in a few different IBM products including IBM Dependency Based Build, IBM Z Open Development, and IBM Developer for z/OS Enterprise Edition. Being able to work with datasets in Java and Python is really important. It lets you code in the language you want without having to learn a whole bunch of new stuff (other than of course what a dataset is…). We have put together a summary of how to do common things in each of: the command-line, Java, and Python and even JCL so you can see how they map. For Java developers, these are a nice complement to existing JZOS APIs.
I have been talking about the command-line version of these utilities in different formats for over 2 years now as samples and prototypes. I’ve just updated the blogs to point to the product-level utilities. If you’ve read them before, you may want to check out the changes. If you haven’t read them, please do!
I’ll provide a quick summary of some of the relevant posts here:
- My first blog post on this topic emphasized the need for a better way to run MVS programs from USS. mvscmd was the result. It’s the brains behind most of the services that let you run pretty much any ‘job step’ you would write in JCL from Unix System Services, with the caveat that you can’t create (or delete) datasets as part of the step and instead should use separate services (dtouch and drm) for that.
- Next, I discussed how core dataset services like dls and dgrep could be built using tsocmd and mvscmd to make them more Unix-like.
- Several of my other posts touch on the utilities, but I’ll keep the list short by just mentioning an overview of the utilities and a performance enhancement that are worth the read.