India CICS User Group
In this blog I would like to highlight my thoughts around providing a highly available environment for TXSeries systems. I would also be talking about the High availability products that helps to achieve building a solution.
An instance of a CICS region is what constitutes a TXSeries system - which often becomes a single point of failure if your business logic (your applications) runs in the single region. A simple solution to this is to have the TXSeries product configured with HACMP (on AIX), or a container (on Solaris) high available (HA) product. Here we will define a primary and a backup server and the HA product would take care of routing the incoming requests to the backup server if the primary is down (either a planned or unplanned shutdowns). So this way your business applications is always made available for the end users - However there are pitfalls with this solution. One such pitfall is that there would be a downtime when the switch over happens between the primary and secondary servers. This can cause the end users to drop out of your system and would mandate them to reconnect to business after a short period of interval. There are other pitfalls like for instance if the primary server goes in to an hang state where it will not be able to service more requests, or the CPU consuming might be so high that it would service the incoming requests quite slowly. Hence this might NOT be an acceptable solution for a pure 24X7 environment.
The other solution I was thinking is an interesting one because it not only provides a highly available solution but also a scalable environment for your applications. I am talking about the work load management (WLM) tool coupled with the high available (HA) products. The WLM tool is provided along with the TXSeries product at no extra charge and is available only on AIX. The mix of these tools would provide a robust solution for your applications to run in a TXSeries environment.
The architecture of this solution would be such that firstly, you will need to have a network dispatcher which could spray your incoming requests across all the physical servers that are connected to it... These servers would primarily be your COR regions (Client Owning Regions) which will further send the requests to one of the AOR regions (Application Owning Regions). Your business logic would then run on these AOR regions which will service your end user requests. A major advantage that I see with this solution would be that the system is always available for the end user and there is no down time seen by the end user. The solution also manages to work load the incoming requests better because the WLM tool not only helps to re-route the requests to another AOR region when one AOR region is down, but also route requests based on the health of a given AOR region.
You might also want to have a read through on one of my earlier blogs where I detail on some of the better ways of doing work load management for TXSeries systems.
I hope some of this sharing would help you build a robust highly available solution involving TXSeries CICS product. I will be glad to hear your thoughts and comments on this. Please feel free to share any comments.
IBM’s CICS user conference – a gathering of CICS community was recently held in
Agenda was well laid out with a good mix of CICS, Rational tooling and TXSeries topics. Matt Whitbourne, CICS product manager spoke about CICS updates and recent innovations that have been happening in the CICS area. Hearing him it left us impressed on how a product > 40 years old continues to innovate and make sense for customers. CICS 4.1 is the latest release of CICS and has come in with a host of cool features, one of which being business events. Matt was talking about examples of innovation on how he got text messages from his bank on withdrawals, I was just thinking while it’s a good example but banks in
Like CICS, innovation continues on z hardware. New zEnterprise system which can host power blades as well begins a new era in enterprise systems. Other topics of interest were IBM’s latest offering (IMAT) on the TXSeries product to enable Oracle Tuxedo migrations and Rational developer tooling for CICS. Was interesting to see a demonstration on IMAT that shows how a migration across middleware could be achieved with such ease. Rational continues to provide developer tooling to support CICS platforms. RDp is their latest offering with support for COBOL , C , C++ and so on for power platform. Definitely of great interest for the TXSeries customers as it brings great value in terms of application development for TXSeries. You can develop, debug and deploy applications using RDp.
This was the third such CICS conference in
It's time for this year's CICS User Group conference in India again. This year's CICS User Group conference in India is being held at the southern city of Chennai for a day on the 19th September, 2011.
IBM's CICS is 40+ years old and still keeps evolving. CICS continues to be one of the most powerful, reliable, scalable and secure application environments because of it's deep integration with underlying z/OS operating system. Most of fortune 100 and top 50 banks in the world trust CICS to run their core, mission critical business applications. With the recent release of CICS v4.2 , it's the right time for all of you to hear what's going on in the CICS world.
If you have CICS interest of any kind, as a developer, administrator or otherwise, you should not miss the one-day event being held at "Trident Hotel", in Chennai. This event is a full day event starting from 8 AM and going on upto 6:00 PM in the evening. Some of the key highlights of this event are,
Along with CICS TS v4.2, IBM introduced a new addition to it's transaction processing portfolio called WebSphere eXtended Transaction Runtime (WXTR). Version 1 of this product was release in June 2011 as well. There would be a session and a poster presentation at this year's CUG on WXTR.
TXSeries being positioned as a transaction processing platform for traditional applications written on COBOL, C, C++, and PL/I. - predominantly! There's no question asked if the entire application workload is written on Java which obviously would be hosted on a Java EE platform such as IBM WebSphere.
TXSeries and Java architecture
In TXSeries, CICS regions are designed to have a multi-process architecture model. That is, you will find a set of co-ordinated operating system processes running when you start a CICS region. There would be a number of application server processes running (1 to n, that are configurable), which are responsible to run the business transactions/applications. Each of this application server process would then have the JVM initialized, when a Java application is run on it. The classes gets loaded within the JVM heap of the application server process and are not shared with other application server processes.
Running Java programs on TXSeries would suffer performance impacts due to its architecture; nevertheless the Java support on TXSeries has certain advantages like below:
There are certain limitations in using the Java support, like for example, you can't deploy an EJB on TXSeries, and only limited set of JCICS API (v1) are supported for TXSeries.
You can use Rational Application Developer (RAD) tooling for developing TXSeries/Java applications.
For more information on the Java support on TXSeries refer to the following:
http://www.redbooks.ibm.com/abstracts/sg247185.html (section 3.6.1. details programming in Java)
TXSeries IEA Website material:
This blog covers the basics of shared memory segments used by TXSeries on AIX and increasing the shared memory available to applications using LDR_CTRL=MAXDATA settings.
TXSeries is a 32-bit product and works based on 32 bit virtual memory model of AIX. The total virtual address space of a CICS application server process (cicsas) is restricted to 4GB. In 32-bit AIX memory model, the address space is divided into 16 segments with each occupying 256 MB memory (256MB *16=4GB). The addressable memory segments are from 0 (0x00000000) to F (0xFFFFFFFF).
With 6 segments occupied , 10 segments are left for applications to attach. In TXSeries, the cicsas process use large memory model of AIX to allow large values for task private pool.
This large memory model for cicsas can be verified from the following command:
file –m/etc/magic /usr/lpp/cics/bin/cicsas
Hence, 4 segments of memory (1 GB) is reserved for heap.
There are only 6 segments remaining. Assuming the size of region pool and task shared pool to be less than 256 MB, each occupies a segment(0xA and 0xB by default). TXSeries uses a shared memory segment for CICS IPC (CIPC) communication which is usually 7th segment by default.