What IMS is and where it runs
IMS has two parts: IMS DB, a database that stores data as trees rather than tables, and IMS TM, a transaction manager that queues and runs online transactions. Many sites use both; some use IMS DB with CICS, or IMS TM with DB2.
An old system doing current work
IMS was created in the late 1960s, originally to track parts for the Apollo space programme. It is still in active use and development, because it is extremely fast for high-volume, predictable access, and because the systems built on it hold decades of business rules. If you join a large bank or insurer, there is a fair chance some account or policy data lives in IMS.
The two halves
Regions: where programs run
IMS runs as a control region plus several dependent regions, each its own address space. Your program never runs in the control region; it runs in one of these:
| Region | What runs there |
|---|---|
| MPP (message processing program) | Online transactions: get an input message, process it, send a reply |
| BMP (batch message processing) | Batch-style programs that run while IMS is up and share its databases with online work |
| IFP (Fast Path) | Very high-volume, simple transactions that bypass the normal message queues |
| JMP / JBP | Java message and batch programs |
| Batch DL/I (DLI or DBB) | Stand-alone batch with its own copy of the IMS database code; databases are not shared with online |
Alongside these are DBRC, which records backups, logs and recovery information in the RECON datasets, and IMS Connect, which lets TCP/IP clients such as web services and Java applications send transactions to IMS.
Common mistakes
IMS is two products in one. A job ad for 'IMS' may mean IMS DB, IMS TM or both; ask which.
A batch DL/I job has its own database access. To update databases while online IMS is using them, programs run as BMPs.
Many IMS systems are actively maintained and modernised, for example by exposing transactions as APIs through IMS Connect.
What you will see at work
- Developers maintain COBOL programs that run as MPPs and BMPs; operators start and stop regions and transactions.
- DBAs own database definitions, reorganisations and recovery with DBRC.
- Modernization projects often wrap IMS transactions as REST APIs rather than rewriting them.
Key terms
Check your understanding.
Take this lesson's quiz and save your progress. Free.