NOTE: This book contains information about technologies that have been superseded and it is retained for historical purposes only.
IBM CICS Transaction Server (CICS TS) has supported the deployment of Java applications since the 1990’s. In CICS TS V1.3 (1999), IBM introduced the 'Pooled JVM' style of JVM infrastructure within CICS TS. This infrastructure was designed to be similar in nature to that which a CICS application developer for a language such as COBOL would be used to. It brought the benefits of the new Java language to CICS TS, without a dramatic change to the way CICS users thought of core concepts such as re-entrancy and isolation.
As enterprise usage of Java evolved it began to make more and more use of multi-threaded environments where isolation was not a desired characteristic. Additionally, technologies such as OSGi (Open Service Gateway Initiative) evolved to overcome some of the original disadvantages of applying Java to an enterprise environment. As such, the limitations of the 'Pooled JVM' approach began to outweigh the benefits.
In CICS TS V4.1 (2009), IBM introduced the new 'JVM server' infrastructure in CICS TS as a replacement to the 'Pooled JVM' approach. This 'JVM server' infrastructure provides a much more standard Java environment that makes the writing and porting of Java applications for CICS TS much simpler.
In CICS TS V5.1 (2012), support for the old 'Pooled JVM' infrastructure was removed. While there is a relatively simple migration path from 'Pooled JVM' to 'JVM server', applications should no longer be written to the 'Pooled JVM' infrastructure. There are a number of more recent IBM Redbooks publications covering the replacement 'JVM server' technology, including:
Part 1. Overview
Chapter 1. Introduction
Chapter 2. Java Virtual Machine support in CICS
Part 2. Systems Programming
Chapter 3. Setting up CICS to run Java applications
Part 3. Java programming for CICS
Chapter 4. Getting started
Chapter 5. Writing Java 5 applications for CICS
Chapter 6. The Java CICS API
Chapter 7. Evolving a heritage application using Java
Chapter 8. Problem determination and debugging
Chapter 9. Performance for Java in CICS Transaction Server Version 3
Chapter 10. Performance tools for Java in CICS Transaction Server Version 3
Part 4. Appendix
Appendix A. JCICS exception mapping
Appendix B. Hints and tips
Appendix C. Resettable JVM