Last month I treated the features of CICS/TS 3.2 that would be of interest to application programmers. This month's column will deal with some things systems programmers might like.
Again, as of this writing, I was unable to find the CICS/TS 3.2 Information Center which is a little frustrating as I would like to see how these things actually work. I can only assume the InfoCenter is in the free, downloadable open beta, which will be available until available until June 29th, 2007 and will work until August 31st, 2007.
Web services, service oriented architecture (SOA) and open standards
If you're in a position to recommend or guide application architectural directions you should be aware of these enhancements for open standards.
- Web Services Description Language (WSDL) V2 The World Wide Web Consortium (W3C) is still finalizing this standard, but including this support guarantees CICS will continue to interoperate with other SOA tools and environments.
- Web services support for SOAP Message Transmission Optimization Mechanism (MTOM) and XML Optimized Packaging (XOP). Both of these are built to streamline web message processing by including large, binary objects as attachments instead of embedding them inside the stream.
- Support for WS-Trust specification in WS-Security which simplifies exchanges between enterprises with different security domains through the use of a Security Token Service (STS).
- Integrated CICS translator for C/C++ as has been available to other languages
Bigger data tables
In CICS/TS 3.2 shared data tables can be larger than 2GB through the use of multiple data spaces up to the limit of 100 per CICS. This doesn't entail a lot of system configuration work because CICS nicely manages the data spaces by creating them on an as needed basis. CICS/TS 3.2 also adds the ability to use named XCF groups instead of the previous default of DFHIR000 to get around the 2,047 group member limitation. Therefore, if you're pushing the XCF envelope due to regions, CICS Transaction Gateway (CTG) or batch EXCI, you can put bundles of CICS' into separate groups. Unfortunately, it is unclear in the documentation if regions in different groups can talk to each other.
In a nod to traditional VSAM memo posting applications, CICS/TS 3.2 supports extended entry sequenced datasets (ESDS). Extended ESDS can be larger than 4G although programmers should keep in mind that direct access requires an eight byte extended relative byte address (XRBA) as opposed to the old fullword RBA. In addition, alternate indexes (AIX) are not supported.
Connectivity and CPSM
CICS/TS 3.2 introduces the ability to perform distributed program links (DPL's) over TCP/IP. According to the documentation, DPL over TCP/IP will support the same security and syncpoint functions as MRO. CICS still uses a four byte connection ID to represent the remote system. In fact, a TCP/IP and LU6.2 connection can have the same name, although CICS will use the TCP/IP link first.
Since a DPL is nothing more than a function shipped program link I wonder if we may see the same type of thing for remote files and transaction routing. In addition, CPSM is enhanced to track TCP/IP interfaces and workflows.
Speaking of CPSM, with this release the TSO interface to CPSM is officially gone and IBM promises the Web User Interface (WUI) has all the functionality needed. There are many other enhancements and new ways of updating the repository in batch.
Performance and Availability
Possibly the biggest news for traditional CICS applications is threadsafe file and journal commands. Now even your oldest COBOL application can take advantage of the open TCB's enabling a single region can achieve greater throughput and save CPU with workload consolidation.
Of course, as IBM warns, this is not a no-brainer and you will have to work closely with your application programmers to achieve the Zen of threadsafe. Note that the API's for other sorts of files (remote, BDAM and shared data tables, etc.) will remain quasi-reentrant.
CICS owns the MQ adapter, trigger monitor and bridge in this release. This step brings advantages in threadsafe modules, exploitation of the open transaction environment (OTE), better tracing and control. I look forward to seeing this work considering how much CICS' DB2 interface improved after undergoing the same transition.
Now there's one less reason to bounce CICS as this release supports dynamic program library (DFHRPL) management which promises to allow you to change load library concatenations on the fly. This will probably be more useful in your development environment as application programmers like to play the hokey-pokey with program libraries as they test.
Finally, for those of you who avoid monitoring because of the sheer volume of data, this release has an option for compressing CMF data. The bad news is any utilities that want to read the records must decompress the data. This may mean a lot of retrofitting if you decide to turn this on and have home-grown CMF reporting programs.
It looks like there's enough new stuff in CICS/TS 3.2 to keep everyone busy. It is also nice to see that, while IBM continues to expand CICS to allow integration of old applications into the modern world, it also is making headway on the requirements backlog for the more traditional systems.
ABOUT THE AUTHOR: Robert Crawford has been a CICS systems programmer off and on for 24 years. He has extensive experience debugging and tuning applications. Rob's written in COBOL, Assembler and C++ using VSAM, DLI and DB2. He also has extensive experience coding in Assembler, C and C++.