MPP region
An address space where IMS runs online transaction programs, taking each message from a queue and sending back a reply.
Also written MPP, message processing program, message processing region, dependent region, IFP
IMS has a control region that runs the system and dependent regions that run application programs. An MPP region, a message processing program region, is a dependent region for online transactions.
The flow is simple. A user or another system sends a message with a transaction code. IMS puts the message on a queue. When an MPP region is free and allowed to run that transaction class, IMS schedules the right program into it. The program gets the message with a GU call on its I/O PCB, does its work on the databases, and sends the reply with an ISRT call. Then it asks for the next message.
A site runs many MPP regions at once, so many transactions run at the same time. Classes and priorities decide which region picks up which transactions, a little like job classes and initiators in batch.
There are other dependent region types too. BMP regions run batch programs that share the online databases, and IFP regions run Fast Path transactions that need the shortest response times.
Where can I learn this hands-on?
Right here, at ZedBank. You take a junior job at a simulated bank and learn each part of the work by doing it, with Zed beside you. There's nothing to install.
Start at ZedBankRelated
- IMSAn older IBM transaction manager and hierarchical database, still running some of the highest-volume systems in the world.
- Online transaction processingHandling many small pieces of work in real time while someone waits: a card payment, a balance check, a seat booking.
- PSBProgram specification block: the IMS definition of which databases and segments a program may use, and how.
- DL/IData Language/I: the set of calls a program uses to read and update an IMS database.
- CICS regionOne running copy of CICS, with its own programs, files and users. A site typically runs several.
- Address spaceAn isolated pocket of memory in which a program runs, so that one program cannot interfere with another.