Archive for the ‘programming’ Category

Cloud or fog?

December 5, 2011 1 comment

AppFog is intriguing – but is it a sign of how developers expect to get things done in the future? Imagine CICS and the mainframe being that friendly to developers –  Dream or nightmare?

Categories: programming Tags:

CICS Development and Rational Tools

June 11, 2011 2 comments

The next few weeks and months will be a time of change to some hugely important aspects of life in CICS Development. We saying goodbye to our much-loved LCS (Library Control System) which has been the most important tool since way before I joined in 1987. LCS has held the vast majority of the CICS source code for every release since…. well, I don’t actually know when! (I just looked at one of the REXX execs implementing LCS and it has change history going back to 1982.)

Over the years we’ve had people come along approximately every 4 or 5 years with an offer to give us a new system to store our source code and provide a development environment. We’d look at who they are and what they were offering… and politely decline their offer. Having the luxury of a bespoke system is hard to beat!

However, it’s been getting harder to get the new folks on the team to be quite as enthusiastic about a VM/CMS command line and XEDIT.

So from now on all 18,000+ source files are entrusted to Jazz technology in Rational Team Concert (RTC) v3, and our development environment is Eclipse-based with a bang up to date build system based on Apache Ant on z/OS. And this is a hugely positive move – RTC, in contrast to the previous replacement candidates, allows us to maintain the most important aspects of how we’ve worked with LCS, but has the potential to re-energise our development habits. It’s going to be an exciting time!

We’ll all have to work out the best ways to configure our RTC clients. I prefer separate windows to alt-tab around so I’m going with a perspective with detached views – Eclipse is so flexible that I suspect I’ll be playing around with the options for a while. Here’s what my development desktop is looking like currently…

(click on the image for a better view)

That’s not an editor in a 3270 – I just find the black background more comfortable, honest!

Categories: programming

Exploiting CICS TG on z/OS from .NET

May 19, 2009 Leave a comment

A quick plug for Supportpac CA73: CICS TG V7.2 .NET application support which uses the new ECI v2 API provided with CICS TG v7.2 to provide .NET support.

The practical upshot of this is that you can now easily write and deploy .NET applications which can take advantage of the unique qualities of service you get from running CICS TG on z/OS. This is certainly something we have been asked for by many clients over the last year or so. It’s also worth pointing out that this is a category 3 SupportPac, which means that it is also supported by IBM.

Categories: API, programming, SupportPac Tags:

CICSPlex SM API Performance Improvement

April 18, 2008 Leave a comment

Towards the end of last year we did some work on making some performance improvements to the CICSPlex SM API.

Most CICSPlex SM API commands (EXEC CPSM) will schedule an XDNR task to run in the CMAS that the MAS, or the batch job/TSO user is connected to. A number of these requests are very quick, so the overhead of CICS attaching and detaching the task compared to the processing actually performed by XDNR can be quite large.

APARs PK44521(CICSPlex SM 3.1) and PK51200(CICSPlex 3.2) have changed the XDNR processing so that these tasks can hang around for a short period of time and wait for more work. (Similar to the way CICS long running mirrors used to work.) If no work is received, the XDNR task will end, otherwise if the XDNRs keep getting work, they will stay running.

For heavy EXEC CPSM users, these changes can make worthwhile reductions in CMAS CPU usage and may improve the elapsed time of CICSPlex SM API programs.

Though of course as with all things performance related “results may vary”…..


CICSPlex SM API COBOL copybooks

April 17, 2008 Leave a comment


I hate the CICSPlex SM COBOL copybooks that IBM supplies for Resource Tables. Well maybe hate is a bit extreme, so how about strong dislike?

Now Chris will probably mutter something obscene into his Irn-Bru when he reads this, but I write CICSPlex SM API programs using COBOL…. I find it quick and easy to throw something together.

So what don’t I like about the copybooks?

Read more…

Categories: CICSPlex SM, programming, rant

A SupportPac for creating Atom feeds

April 7, 2008 7 comments

SupportPac CA8K, released on 20 March 2008, shows you how to introduce some of the very latest Web technologies into your CICS TS system. The primary technology it demonstrates is how to create an Atom feed from existing CICS data, such as a Temporary Storage queue. The purpose of the SupportPac is to show that this can be done today, using existing CICS facilities. So it uses the funky new URIMAP and PIPELINE resources to map Atom feed request URLs into CICS resources that you want to publish. In its simplest form, this means that if you want to publish some data into a feed, all that your application needs to do is write the data on to a TS queue, and then let the SupportPac code do the heavy lifting of the Atom protocol.

Now you might have thought that PIPELINE definitions were only for use by SOAP and Web Services, but that’s not strictly true. You can also configure a pipeline to execute an arbitrary program as a message handler for any protocol, and that’s just what this SupportPac does to handle Atom. But it also uses the pipeline’s XML configuration file to provide some of the Atom metadata, and to help you to specify exactly which CICS resource you want to publish, and how its data is laid out.

If you want to publish CICS data that is not in a CICS TS queue, the SupportPac lets you do that, too. It can link to a program that you provide, which can extract data from wherever it likes – from your database manager, for instance – and return it in a container for insertion into the feed. There is a sample program that demonstrates using the sample FILEA file that is distributed with CICS.

Once you can deliver stuff into an Atom feed, it’s then fairly easy to request it from a Web browser using Ajax technology, and the SupportPac also includes some JavaScript to help you to do this. This could lead you on to develop mashups that incorporate CICS data, but the SupportPac doesn’t go that far.

The SupportPac doesn’t only let you request data from CICS, it also lets you manipulate it using a REST interaction style. So, as well as using the HTTP GET method to request TS queue items, you can use the POST, PUT, and DELETE methods to create, update and destroy them as well. The ability to use all four of these methods in a pipeline request did show up a CICS problem, so you have to apply the fix for PK58721 before using the SupportPac.

%d bloggers like this: