IT Management

The mainframe is a vital, ever-growing business asset to many organizations throughout the world. Banks, government agencies, insurance companies, manufacturers, and many other types of organizations rely on the mainframe to process trillions of transactions through strategic applications for millions of customers annually. The IBM CICS Transaction Server provides the functions necessary to enable this kind of industrial-strength, highly scalable transaction processing and is the platform application developers need to design custom applications to fit an organization’s individual needs.

Changing user needs and the requirement for greater functionality from both large multi-national organizations and smaller operations are continuing to drive the evolution of CICS. The greatest challenges ahead for the mainframe and for CICS are to continue to attract new generations of IS professionals and to encourage more experienced mainframe professionals to look toward newer CICS functionality when working with applications, new and old.

A team of six graduates from the IBM Hursley Laboratory in the U.K. are showing that it's possible, with little mainframe or CICS knowledge, to rapidly create and extend CICS applications that can improve business practices and increase productivity. The CICS Product Showcase project is set to run for nine months, enabling the graduates to complete a series of small assignments, providing several showcases for technologies such as Web services, business events, mobile applications, and more.

The first assignment involved building core skills with CICS and several other technologies, including Rational Developer for System z (RDz), Asynchronous JavaScript and XML (AJAX), DOJO, WebSphere sMash, Groovy, Rational Team Concert (RTC), and many more. The assignment required updating a fictional insurance company's existing COBOL terminal interface application using CICS features to create a new Web user interface that surpassed the merits of the existing application. The application they were given was GENAPP, an example insurance application that enables users to access and edit information in a DB2 database on customers and their insurance policies. With the first assignment complete, the graduates shared their thoughts on how the assignment progressed and their experience of the CICS learning curve.

Mark Richards, one of the back-end developers for the assignment, pointed out that “university education doesn't seem to cover z/OS, z/VM, COBOL, green screen terminals, mainframe assembler, or XEDIT.” Having worked with CICS for less than a year, he was faced with being the only one of the six graduates who had amassed any real CICS experience due to his daily role in CICS level 3 service. The main concern at the start of the assignment was that the remaining five graduates wouldn't be able to catch up with what Mark already knew, and whether Mark knew enough to start the assignment. It became apparent early on that the level of CICS knowledge required was minimal—just enough to complete the task: a couple of RDz wizards, two CICS commands (CEMT INQUIRE and CEDA DISPLAY), and the RDz Remote Systems view seemed to be enough to expose Web services.

Using RTC, the graduates transferred work items between the back-end CICS development team and the Web interface team to get Web services defined, installed, modified, tested, and added to the site. At full speed, the back-end development team was capable of exposing a new Web service every 10 to 15 minutes.

Once the Web services were exposed, the front-end team simply had to set relevant fields for the operations required to then send the SOAP message off to CICS; there was no need to know the inner workings of CICS for that. The Web application was all developed locally on laptops using WebSphere sMash, enabling the graduates to run the site and make live changes, instantly testing the implementation of the calls and forms created to use them. The advantage of sMash is that each team member had their own sandboxed Web server to test updates on. However, they also found that, when they hosted it on CICS, they could still make and test changes live.

Alex Woodgate, a Web developer on the assignment, explained that using DOJO for the Web interface let the user load a single page that verifies data fields in the browser before anything is sent to CICS. The appropriate Web service is called and the page dynamically updates without reloading.

The graduates decided to migrate the Web front-end from external hosting on WebSphere sMash to hosting in CICS itself using the sMash implementation provided by the CICS Dynamic Scripting Feature Pack. The exercise wasn’t without its challenges, but team members were surprised by how straightforward the process was: Copy the zipped up feature pack to UNIX System Services, unpack it, and create data sets to contain the resources CICS would use. The whole process is clearly and thoroughly documented in the IBM CICS Transaction Server for z/OS Information Center. “It was little more than painting by numbers,” according to James Bartlett, who undertook the work to migrate the site to CICS.

The assignment demonstrated to those involved (and the wider technical community) the ease with which you can develop a new front-end for an enterprise encapsulated application without knowing the internal workings of CICS TS. The graduates didn’t need to know CICS Application Program Interfaces (APIs), systems programming, database structures, or enterprise programming principles. They could do the work without the COBOL source code available. The assignment gave the graduates the skills necessary to start working on more complex, challenging areas of technology, including providing multiple services alongside CICS and letting users consume them from native desktop or smartphone applications.

IBM has long recognized the need to engineer systems that offer greater interconnectivity, ease-of-use, and intelligence. CICS will continue to support highly scalable applications and provide controlled access to resources through a communication network. It will always be achieved under the control of application programs, and CICS will provide programming interfaces designed to make things simpler for application developers. It will remain useful for everyone from experienced professionals who have worked with the mainframe for 30 years to the newest graduates joining directly from a university.

Acknowledgement: Special thanks to Michael Jones and Domanic Smith-Jones for their help reviewing this material.