Pages

Saturday, August 30, 2014

What is IMS Transaction Manager

In a previous article (What is an IMS Database), I discussed IMS databases. IMS is more than a database system. It is also a transaction manager. If you need to know what an online transaction is, please read my article on Types of Processing on the Mainframe: Batch and Online

Message Format Services (MFS)

While modern systems are just discovering that it is better to separate the data from the presentation layer, this concept has been implemented decades ago in IMS. In IMS, the presentation component allows a developer to define how data is to be presented on the terminal. This component is called a Message Format Service (MFS). Since mainframe terminals are limited to text, MFS allows a developer to put labels and data on specific locations on the terminal.

Through MFS, IMS strips off data related to presentation and data needed by the program. Once IMS has done that, the data is passed on to the program as a string.

IMS has three types of regions controlled by the IMS transaction Manager: IMS Control Region, IMS Message Processing Region and IMS Batch Message Processing Region.

Another type of region, the IMS Database Batch Region is solely a batch region that works separately from the transaction manager.

IMSVS Transaction Manager

IMS Control Region


An IMS control region is responsible for managing incoming transactions, scheduling the programs to be executed by these transactions, managing database accesses and database update logging among other things. For the control region to manage the resources, all these should be defined through a process called an IMSGEN.

In an IMSGEN, DBD, PSB, transactions and programs are defined. While the PSBs identify the databases they use, transactions need to be related to programs in an IMSGEN. Requests to access databases are centralized in the control region.


IMS Message Program Processing Region (MPP)


The MPP is a region that processes programs used by online transactions. The programs are scheduled by the control region. The program accesses the input from the transaction by calling the DL/I interface. The DL/I interface passes the transaction input to the program and the program processes the input.

If there is a need to access the database, the program calls the DL/I interface. The DL/I interface passes the request to the control region that performs the access on behalf of the program. Once the program is done processing, it normally sends a response. The response is passed to the control region again through the DL/I interface.

The control region accepts the response and formats the response through the MFS to be displayed on the terminal. The control region can control several MPRs at the same time.

In newer versions of IMS, you can also run Java programs in a Java Message Processing (JMP) region. The JMP region is similar to an MPP  except it only executes Java programs.


IMS Batch Message Processing Region (BMP)

The BMP is a region that processes batch jobs that use IMS databases. Programs running in BMP process inputs in batch. User interaction is not available for BMP. The BMP works under the control of the IMS control region.

All accesses to the database are passed to the control region through the same DL/I interface used by the online program. BMPs are scheduled through submitted batch jobs. Once the job is submitted and is executing, the BMP interacts with control region to request access to databases.

The control region can control several BMPs at the same time.

Just as there are JMP's for online transactions, there are also Java Batch Processing (JPP) regions. These are similar to BMP's except that they execute only Java programs.TIS ARTICLE IS COPYRIGHTED. IF YOU CAN READ THIS, THE ONE WHO POSTED THIS STOLE MY

Modernizing IMS Transactions

There are several products on the market that aim to modernize IMS transactions. Some of the older technologies use screen scraping technology. This basically emulates a mainframe terminal and reads the screen. It parses the screen for the fields it wants and displays it in a format that can interface with other applications.

Other newer technologies work with the IMS system itself. One of them re-uses existing IMS transactions and works on the data level (before the data is formatted for display). Instead of parsing the terminal display, these parse the data and can wrap the needed data into HTML or XML. In the case of HTML, the IMS transaction can be displayed in a more user friendly format. While in the case of XML, the IMS transaction can work as a service consumed by a web application.

Another approach is to access the IMS database directly either by connecting to IMS through an ODBC/JDBC driver. With this, a web service or Windows program can access IMS using SQL.

1 comment:

  1. Vey good document to the current generation resources to get detailed glimpse on IMS message processing.

    ReplyDelete

Total Pageviews