The IMS™ catalog requires you to use IMS-managed application control blocks (ACBs). In an earlier blog, we discussed the advantages of IMS-managed ACBs. In this blog, we’ll take a more detailed look at them. ACBs are the runtime blocks that represent the active databases and program views in online and batch IMS environments. To use IMS-managed ACBs, you must have an active catalog.
The ACB libraries are created when you generate the ACB library from the database definition (DBD) and program specification block (PSB) libraries. In general, a DBD defines a subset of the fields in a database record, and the remaining fields are defined in the application program (in a COBOL copybook or in a PL/I or C-include file).
IMS has been opened to transactions from other platforms, and those platforms require easy access to metadata. To enable this access, the ACBLIB contents are offered as a Java class. Application In the past, the DLIMODEL utility provided access to the data. But it can be difficult to manage the DLIMODEL utility, changing the underlying database definitions requires change control, and definitions can easily get out of sync.
Now, the IMS catalog stores the metadata for databases and applications, and you can access the catalog using Java Database Connectivity (JDBC) drivers. The IMS metadata is available in XML format as well as in traditional IMS segment format for standard DL/I applications. A big advantage of using the catalog is that when ACB definitions are updated, the related metadata is also updated. This ensures that the catalog is the single source of database and application metadata for all applications.
The following table shows some of the differences between traditional definitions and the IMS catalog:
|Without the IMS catalog||With the IMS catalog|
|Applications must maintain local Java metadata to interact with IMS databases.||Applications can refer to the IMS catalog (no need to maintain local metadata).|
|You need to define databases and program views with DBDs, PSBs, and ACBs and then activate the ACBs with an online change process.||Define databases and programs using SQL DDL statements or the IMS generation utilities. |
|Most ACBs are pre-built and loaded into memory by a batch application program or an online IMS system.||IMS stores ACBs in the IMS directory (data sets associated with the catalog) and can build, activate, and load ACBs into memory dynamically.|
|To make changes to DBDs, PSB, or ACBs, you must make the actual change, run the associated generation utility, and ensure that all related changes are made.||You can use SQL DDL statements to change DBDs, PSBs, and ACBs. IMS automatically updates the catalog, and it can automatically activate certain changes to database or program view definitions.|
|You maintain the online ACB data sets ACBLIBA and ACBLIBB.||The catalog maintains the active directory and staging directory PDSE data sets.|
 Even when using IMS-managed ACBs, you can still use the DBD and PSB generation utilities to define databases and program views and build ACBs by using either the ACB Generation and Catalog Populate utility or the ACB Maintenance utility.