We are starting new development project based on CICS: - clients are written in Java - server components must be...
implemented inside the CICS - current release of operating system is z/OS v1.0
System will be highly loaded by significant number of concurrent users. According to manuals, there is no problem if we write CICS transactions in Java (using HPCJ). Since we don't have practical experience our questions are:
Is there any reason why we shouldn't write CICS transactions in Java (why use COBOL instead of Java)?
What are practical experiences (performance and stability) of highly loaded system based on CICS transactions written in Java?
You do not say but I deduce from the fact that you are proposing to use HPCJ that you will be deploying your Java programs on CICS TS V1.3, at least initially. In that case you should be aware that Java is, as yet, an immature technology compared to COBOL. It is therefore to be expected that it will not perform as well as COBOL.
In terms of a ballpark figure we would expect the instruction pathlength for a typical COBOL transaction, which we think of as around 1M instructions, to be increased by a factor of 2 or 3 by rewriting it in Java. We confidently expect that number to improve over time and it can indeed be improved upon by using hot-pooling in CICS TS V1.3. But Java, or indeed any object oriented language, will always carry a significant overhead compared with COBOL.
One approach is to write the crucial, heavily used programs in COBOL, especially if they will access DB2, and write the less performance critical parts of the application in Java. This will provide you with the thoughput you need at lower CPU cost, allows you to gain experience with Java and reduces the effort should you want to change to pure Java at some time in the future.
Dig Deeper on IBM system z and mainframe systems
Related Q&A from Robert Crawford
For better mainframe capacity planning, how do I convert CPU hours to MIPS? And is there a way to calculate the relationship between MIPS and MSUs? Continue Reading
I have two years of experience in mainframe technology, currently working as a mainframe developer. I want to change to Java technology. Continue Reading
I want to replicate DB2 from the mainframe to an AIX box since it's cheaper and the copy can be used for testing. Is this possible? Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.