Problem solve Get help with specific problems with your technologies, process and projects.

Part 1: Developing an MQSeries client-server version of a CICS system

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.

Continued in part 2.

Dig Deeper on IBM system z and mainframe systems

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.