IMS and CICS - Exploring z/OS together
JoeWinchester 110000DQA0 Visits (7706)
IMS Enterprise Suite Explorer was made generally available late last year. It's very cool, and there is a neat neat video that shows the IMS team talking out quite how cool it is. There's another video that is more a tutorial.
Why am I telling you this? If you watched the videos, or if you are looking at the screen shot below, you'll notice that the the IMS Explorer is based on the Eclipse framework, and it includes a perspective called z/OS. This lets you connect to z/OS and do stuff such as list and edit data sets, look at jobs and their output, and work with the z/OS UNIX® File System.
IMS Explorer (Click image to enlarge)
You might be thinking that you've seen these views and this perspective before, in which case you'd be right. Give yourself a pat on the back, or a gold star, or celebrate by having an extra sugar cube in your cup of tea. That's because this perspective, and the views, and the connection stuff that lets you define the FTP z/OS port, is the same stuff that's in the CICS Explorer.
This is very cool for us - IBM - and for you - users of IBM runtimes on z/OS. We first released the z/OS componentry in the CICS Explorer 1.0.1 release in September last year and got responses from users such as "this is the best CICS Explorer release ever" and "how can I roll this out to my 3,000 desktops" and other cool accolades, because the power of being able to work with data sets and jobs in an Eclipse environment, rather than ISPF, and also one that's free (users always like that bit), for some folks was just a game changer.
IMS runs on z/OS, so it only made sense to deliver the same function in the IMS Explorer. This is what we did, and the IMS team actually managed to get this function into their June tech preview of their explorer and got very positive feedback.
It gets better.
Not only does the perspective contain views with content and actions, such as edit JCL, submit JCL, delete job output, but the IMS Exporer needed a way to get allow their users to access the contents of Program Specific Blocks (PSBs) of Data Base Definitions (DBDs) which are held in PDS members so they could parse these and work out IMS catalogs and other cool IMSey stuff. They way you can do this in the IMS Explorer is by creating an IMS Explorer project - you give it a name and then you are asked for where you want to import the contents from. Local file system, or z/OS.
Import Source (Click image to enlarge)
Local file is fairly easy - there is a java.io (Java™) package that lets you access stuff on your local file system. z/OS however requires the IMS Explorer to access a PDS, let the user type in the name of choose one from a pick list, and then import the member(s), doing codepage conversion from EBCDIC to ASCII. That's where the z/OS perspective function comes in.
Import (Click image to enlarge)
The Add PSB or Add DBD buttons bring up PDS selector dialogs. This dialog has a very nice icon in the top right, I just adore the house to System z with the line and the thing in the bottom right. But, beneath that gorgeous artwork is some UI that lets you select a z/OS connection from a list, lets you hyperlink to define one, and when it's connected it lets you type in the HLQ of the data set and select one (including multi-select), and then "Finish". The contents are downloaded.
Import Finish (Click image to enlarge)
All of this is done using code the leverages that z/OS perspective views and supporting classes and function. We - IBM - built it once and shared it between different brands which have different runtimes on z/OS. You, the user, only need to learn it once, the code quality should be higher because the same piece of code isn't being written twice.
Modernization and simplification is something that all of the z/OS components and runtimes get told by their users is important and crucial for issues such as skills and productivity. What's very exciting for me about this - the IMS Explorer and the CICS Explorer sharing the function - is that it demonstrates how we are working together to not just modernize each brand in isolation, but to create componentry and function that crosses brands.
There's loads more I want to write about this and the opportunities it creates going forward, but that'll have to wait for another blog entry.