Virtualize an IMS application that gets called from another IMS application both running on z/OS


Article ID: 140953


Updated On:


CLOUDTEST CA Application Test CA Cloud Test Mobile MOBILECLOUD Service Virtualization


There are 2 IMS database programs running on a mainframe with z/OS
IMS program A is calling another IMS program B on the same Mainframe Host with z/OS
The call is not leaving the host and the transactions are NOT passed via a message queueing (IBM MQ for example) service.
How can program B be virtualized.




Release : 10.3

Component : CA Service Virtualization


It comes down to the interprocess communication method being done between Program A and Program B.

In the case of IMS, interprocess communication is typically done using the IMS Connect communication function.  IMS Connect can use either TCP/IP or local zOS communications.  So, if Program A and Program B are using IMS Connect over TCP/IP, then we have a place to put Service Virtualization.  We redirect Program A to point to a VSE.  However, if IMS is using local zOS communication (which does not use TCP/IP), then we cannot virtualize Program B (unless we can change Program A from using local zOS communication to TCP/IP).

That still leaves the question of the underlying transport and data protocols, of course.  Worst case we use TCP as the transport protocol and create a Custom DPH.

There is currently no agent similar to the CICS agent that intercepts IMS calls.

Additional Information

This is similar to what we sometimes run into with CICS.  Most CICS communication uses LINK and COMMAREA, which means there is a place for the CICS agent to intercept communications.  But it is possible for CICS programs to communicate without using network protocols, and we have no way of virtualizing those communications.