Sunday, 24 July 2011

IMS – getting better all the time

IBM’s IMS (Information Management System) has been around since 1968 and originated as a bill-of-materials program for NASA’s Apollo programme. So why are so many Fortune 500 companies still using it today? Isn’t it “your dad’s technology” and completely inadequate for today’s tasks? Well, the answer is a resounding NO!

IMS effectively comes in two parts – there’s the Transaction Manager (TM) part and the Data Base (DB) part. The transaction manager is like CICS in that users sit at screens (which could be connecting using browsers on laptops) and access and modify data in the database. Under the bonnet, a message queueing system ensures that transactions don’t get lost and can be backed out in the case of an error. All pretty much standard stuff. The more interesting part is the database. This is the reason that IMS is in use at banks and insurance companies (and many other organizations). The database structure allows data to be retrieved speedily from what are often very large databases. It’s this incredible speed that organizations value. In addition, they know that the information retrieved will be correct and up-to-date.

So let’s have a look at the database component – and this is where you realize that you’re not using technology that was invented in the 1960s! The databases available and their structure have been updated over the years to ensure that users are still able to get to their data faster than using other technologies. IMS databases store data hierarchically. This is like a pyramid design where higher layers give access to lower layers by using data stored in fields. This is quite different from DB2 and other databases that connect data in a relational manner. Going back to our pyramid, we have segments of data stored at each level and each segment contains these fields I mentioned above.

There are four types of database that can be used with IMS, although two of them are very similar and often grouped together. The original database type available was (and still is) the “full function” database. This uses DLI calls to access the data and makes use of both primary and secondary indexes. The access methods used to get to the data can be – and there’s quite a long list here – HDAM (Hierarchical Direct Access Method), HIDAM (Hierarchical Indexed Direct), SHISAM (Simple Hierarchical Indexed Sequential), HSAM (Hierarchical Sequential), and HISAM (Hierarchical Indexed Sequential). Typically, sites tend to use HDAM and HIDAM. The data is actually stored using VSAM (Virtual Storage Access Method) or OSAM (Overflow Sequential), which only exists for IMS files. OSAM improves performance by optimizing the I/O channel program for IMS.

The next two types of database are the “fast path” databases, and these use VSAM. These can be used in situations where the transaction rates are high – and that’s why IMS is so successful in larger organizations. These two database types are called DEDBs (Data Entry DataBases) and MSDBs (Main Storage DataBases). What distinguishes them from full function databases is that there is no indexing. Many sites have replaced their MSDBs with VSO (Virtual Storage Option) DEDBs.

The most recent type of IMS database is the HALDB (High-Availability Large DataBase). They were first introduced with IMS 7 in order to handle very large amounts of data in the database. With V9 of IMS came the ability to reorganize the data online and so not need to take a database offline to reorganize (optimize) it – which, of course, increased the availability of the data.

Many separate databases can be grouped together to produce a single logical database that will be used by the transactions running on the system.

As you can see, since those days of moon rockets, IBM has beefed up IMS databases so that they can handle extremely high transaction rates. Then it increased the amount of data that can be stored in the database itself. And finally IBM increased the availability of that database to produce a product that is trusted and relied upon by organizations that need to be able to ensure the integrity and availability of their data.

If you’re interested in IMS, you’ll be interested in the Virtual IMS user group. This is a free-to-join vendor-independent user group that holds virtual meetings every other month and always includes a guest speaker talking about an IMS-related technical topic. You can find out more at

No comments: