We have a system selling passenger train tickets. This system is running under OS/390 and uses CICS TS V1R2 and DB2 V5.2. Now we want to develop a client-server version of our system using MQSeries. We want to change the client's part of our system. The system's kernel must stay the same. (New version must support our legacy system). Where do we begin?
It's always nice to get involved with my favorite form of transport, but I have not (yet) been one of your passengers!
You have a basic switch (ho ho) in your design, depending upon how the existing CICS applications are structured. To go a bit gricer: It's like the distinction between a new build of rolling stock or refurbishment.
If these applications have separated their logic from the presentation, then you probably have an easy implementation. By this I mean that you have program A, which does the screen interaction which links to program B (using a commarea) which does all the ticketing work. If this is the case, then you have just to replace program A with another program doing some MQ operations, and then continue to link to B to do the work. This is the new build option: You have a new build (the MQ processing program) running on the existing infracture (your commarea-based programs).
However, if you don't have a separation of the BMS presentation and the business logic, then you have more of a challenge. This is more like the refurbishment option: You are still using ALL of the existing applications but are refacing them to look like it's newer than it really is. This will also apply if you are using a package or for some reason you cannot change the existing code.
In somewhat 'official strategy mode,' I would say that you should recode all these existing applications to separate presentation and logic. This would mean that you can introduce new/different/extended ways of ticketing without too much further work (as you are [merely!] executing the logic in a different way).
Life is, unfortunately, more complicated than that. I suspect you are going to have to keep the existing applications (Presentation+Logic) unchanged, but still want to drive them via MQ. In this case, you are into 3270 emulation: Commonly called screen-scraping.
As you are not on CICS TS 2.2, that means you cannot use the (new) 3270 Linkable Bridge to do the emulation within CICS. That means, you are probably going to have to use the FEPI component of CICS (of which I did a huge chunk of code when I was a developer!). Large CICS users have successfully linked up different types of processing regions using this LU2/3270 emulator function, but you are going to use it locally within your own setup: Essentially within the same CICS region.
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.