Jan 14 ’13
CICS 101: CICS Features and Resources
This series is intended to help new CICS support people understand the basics of the product and how it has evolved. It covers basic concepts, underlying components that may not be intuitively obvious, and daily support issues. For more information about this article series and a list of what readers should already know, see the first article at http://esmpubs.com/q1hhi.
Open Transaction Environment (OTE) introduced an open Task Control Block (TCB), which is a new class of TCB applications can use. An open TCB is characterized by the fact it's assigned to a CICS task for its sole use and multiple OTE TCBs may run concurrently in CICS. Initially, only Java applications that ran with their own Java Virtual Machine (JVM) TCB exploited OTE. Now there are several TCBs that applications can use.
CICS Transaction Server (TS) 2.2 contained the CICS DB2 adapter, the first user exit to exploit OTE instead of the MVS TCB that it used previously. If CICS TS is running with DB2, the DB2 TRUE will run on the L8 TCB, not the QR TCB. That was enhanced in CICS TS 3.2 to include the MQ adapter and some (but not all) VSAM file utilization. If the application is designed correctly, the hardware and software have a fighting chance at workload balancing without outside intervention. What could be better than that? Moreover, documentation on IBM Websites cites performance improvements of 5 to 10 percent using threadsafe TCBs. For applications that use extensive DB2, MQ or VSAM, if the program is defined (and truly is) threadsafe, large amounts of CPU can be saved by avoiding the switch back to the QR TCB for the program, and staying on the OTE TCB during the life of the task. For applications already designed threadsafe, that’s a major payback.
Customers that use program autoinstall must create a model that will contain the default settings for all programs. If they use threadsafe in that model, all programs will inherit that characteristic in the definition. As long as the program conforms to the threadsafe rules of programming, the program will run threadsafe and avoid the switch from the threadsafe TCB to the CICS TCB (the QR TCB).
There are several good sources of information concerning threadsafe, including Threadsafe Considerations for CICS (SG24-6351-04), which you can find it in the CICS Library, and a recent Enterprise Tech Journal article, titled “CICS Performance: Squeeze More MIPS From Your Applications," available at http://esmpubs.com/spnvq. Here we highlight some additional resources.
In addition to the regular library generated for every new release, IBM provides Redbooks that contain topics not usually found in normal manuals. Often, these Redbooks highlight new features and facilities that can help with performance or availability. These publications are written by subject-matter experts who have created “best practices” in their installations that can assist other customers with similar needs.
To find available Redbooks, go to http://www-01.ibm.com/software/htp/cics/library/ and choose the version and release you’re running. Once you get to that selection, you will see an entry for Redbooks. That will display the Redbooks available and relevant to your level of CICS. Previous releases of CICS may contain Redbooks still relevant, so you may want to view previous releases for topics. IBM spends a great deal of energy to produce this information and most Redbooks contain a great deal of useful information.
IBM provides a service called IBMLINK that lets customers view or track issues other installations may have had. Since many problems aren’t unique to a single installation, it’s wise to research the symptoms and determine if others have experienced the same issue. Once you sign in to IBMLINK at www.ibm.com/ibmlink, you will see a menu of potential choices that let you open a new problem with IBM, ask questions about any software product, or search the existing database for reported problems that may be similar to the one you’re having.
The option most often used is Service Information Search (SIS). SIS will present you with another menu of items to narrow the search. The first may be the most important. Search Argument will let you include a small number of words that best describe the problem. A typical entry would be the message number that appears in the problem, such as DFHAC001. The more precise the entry, the better your chance of getting relevant “hits” in the results. IBM keeps a large database of items in this facility, so it’s likely customers will get relevant information back. Go to the bottom of this menu and choose the subjects that contain your environment. The selection relates to the products and topics you want to search. CICS would be included in Program Products. Other relevant selections would probably include System z (for issues relating to CICS and the operating system) and the Q&A Usage Library for questions and answers relating to your search. This facility has abundant information you can use even if there’s no problem, but you need to do research about a new facility or changes to the environment that you think may warrant study.
Users Helping Users
There are several ways customers can benefit from other customer experiences. The two most widely used are SHARE, the IBM User Group, and Enterprise Tech Journal (formerly known as z/Journal). These two sources give customers the ability to hear and talk to other customers about similar experiences.
SHARE is a user group primarily supported and run by customers but it provides some sessions presented by IBM. In past conferences, the most popular sessions dealt with customers migrating to the latest version of CICS. Attendees were able to listen to experiences from other installations that may impact them and help save a great deal of energy and time in the migration process. Although IBM tries to provide sufficient material to help customers migrate to the next release, it’s never as relevant as listening to an installation’s experiences. If you’re ready to migrate to the next release, be sure and catch these sessions. If you can’t attend, go to the SHARE Website and download session materials from past conferences.
Enterprise Tech Journal provides a wealth of information about IBM products. Many of the articles are written by users, but some come from IBM. The material is current and relevant to what customers are experiencing. The bi-monthly publication is full of information about many mainframe products being introduced or used by customers to get the most efficient and high-performance environment. The magazine’s Website, www.EnterpriseSystemsMedia.com, lets you search for past articles and topics you might have missed.
Java and Web Services
IBM recognized that Internet access and resources were going to require a totally new access that non-mainframe folks were comfortable with. This led to the release of Java resources in CICS.
The announcement of CICS TS 1.3 in 1998 introduced support for the Java Virtual Machine (JVM). At that time, very few CICS systems programmers had any experience with UNIX or Java. The operating system of choice was MVS and the programming language was COBOL. The Internet was gaining popularity, but most CICS applications ran on the mainframe.
IBM went through several iterations of running Java in CICS, some more successful than others. At this time, however, many customers are running successful Java applications in CICS. The standard for applications, however, is still COBOL. The first evolution of this coexistence process was the introduction of Language Environment (LE). By removing old versions of COBOL and requiring all installations to run the newer LE COBOL, it enabled CICS to support both languages and encouraged customers to develop new applications in whatever language they chose.
The problem, however, is still that most CICS systems programmers aren't familiar with the UNIX environment. To fully enable any Java support in CICS, there need to be parameters in the CICS environment and entries into the UNIX environment to connect the two operating systems. Figure 1 shows a few examples.
Reference the CICS System Definition Guide for all Java parameters. Most CICS systems programmers depend on the UNIX systems programmer (usually a z/OS systems programmer) to create these definitions in UNIX if they need Java support in CICS. There’s a great deal of documentation online for more Java support in CICS. The following publications are just a couple of examples:
• Java Application Development for CICS (SG24-5275-03)
• IBM CICS Performance Series: CICS TS V4.2 and Java Performance, REDP-4850-00.
IBM has continued to enhance CICS with features that help customers support the product. Hopefully, if you haven’t used these before, try them out and see if they make your job easier.