IBM's IMS version 12, announced in late 2010, comes to programmers with user friendliness in mind.
Information Management System 12 includes many enhancements, including extended Java support, 64-bit Fast Path buffers and TCP/IP multi-system coupling (MSC) links. However, IBM included two big improvements that aim to make IMS more open and easier to use: the IMS catalog and repository.
IBM felt its previous Information Management System (IMS) releases didn’t provide enough information about IMS databases and their use, particularly for distributed platforms and open database interfaces. To address these shortcomings IBM introduced the IMS catalog.
The IMS catalog is a PHIDAM database structured to contain trusted metadata about other IMS databases. Because IMS is a database itself, other IMS applications and IMS adapter clients can examine its contents. For Service Oriented Architecture (SOA) applications, it can also be exported as an XML file. In the future, IBM may integrate it with other tools such as Cognos, Optim or Rational Asset Analyzer.
Of course, the catalog’s usefulness depends on its accuracy, and IBM supplies utilities to keep it up-to-date. First, there is a "populate" utility – DFS3PU00 – which IT shops can use to initially load and manage the catalog. IMS also supplies a new access control block generation (ACBGEN) utility – DFS3UACB – that updates the catalog with each ACB generation. Application programmers can load program database views in the catalog by processing copy books through IMS Explorer. IMS also has a defined process for getting catalog information from development to production.
While this catalog provides a great platform for configuration management, program development and data mining, the challenge is keeping it current. It may also be difficult to find all the copy books and programs that touch IMS databases. It’s worth noting that IMS version 12 doesn’t interact operationally with its catalog in the way that IBM's relational database management system (RDBMS), DB2, does with its catalog. At this point the catalog maintains some referential data set off to the side while the running IMS system still uses program specification blocks (PSBs), database descriptors (DBDs) and ACBs.
IMS version 10 introduced dynamic resource definition (DRD) which uses sequential resource definition data sets (RDDS) to maintain resource definitions. Version 12 takes the concept a step further with the IMS repository.
The repository is made up of any number of repository server (RS) address spaces. The first RS to come up becomes the master server while the subsequent tasks become subordinates. One of the subordinates takes over if the master goes down. The RS communicates with the rest of the IMS-Plex through a cross-coupling facility (XCF) and do not need to be on the same operating system instance (LPAR) as IMS. The repository servers are base primitive environment (BPE) based and managed through resource manager (RM). This configuration allows shops to operate RS through the structured control interface (SCI) and the single point of control (SPOC).
The repository utilizes multiple sets of VSAM key-sequenced data sets (KSDS), each set consisting of "index" and "data" pairs. Further, there are two types of repositories. The RS uses the catalog repository, which contains a primary and secondary pair of data sets, to manage repository operation and keep track of the other repository data sets. The IMS repository data sets contain the actual resource definitions. Of these types the user can define “a pair and a spare” for availability. A shop can also define more than one set of IMS repository data sets per RS if the systems programmers must administer test and production in the same Sysplex. RS functions are protected by system access facility (SAF) rules and the server can optionally write audit information to the system logger.
If a shop plans to run in mixed mode there are compatibility authorized program analysis reports (APARs) to apply to the previous versions – PM19025 for IPM v10 and PM19026 for IPM v11. IPM version 12 allows you to run with DRD for a while but IBM states in the IMS version 12 planning manual that the repository is IMS' strategic direction and at some future point it may no longer be optional.
There are various batch and online tools for converting between DRD and the repository. With IMS up, users can execute EXPORT commands to initialize the repository with definitions from a running control region. Similarly, an IMPORT command loads definitions from the repository into IMS. There are some rules around IMPORT that make its use better suited for low activity periods. For instance, the IMPORT will fail if an updated resource is in use.
The interaction between the repository and IMS may require some extra steps from support staff. For instance, a type 2 DELETE command will remove a resource from IMS but not the repository; there is a separate command for that. Similarly, a dynamically added resource will have to be exported into the repository to be truly permanent. Fortunately, IMS is really good at remembering, so the added definition should continue to be available as long as IMS isn’t cold-started.
About the expert: Robert Crawford has been a systems programmer for 29 years. While specializing in CICS technical support he has also worked with VSAM, DB2, IMS and assorted other mainframe products. He has programmed in Assembler, Rexx, C, C++, PL/1 and COBOL. The latest phase in his career finds him an operations architect responsible for establishing mainframe strategy and direction for a large Insurance company. He lives and works with his family in south Texas.