1
|
IBM Information Management System (IMS) is a joint hierarchical database and information management system with extensive transaction processing capability.
IBM designed IMS with Rockwell and Caterpillar starting in 1966 for the Apollo program. IMS\'s challenge was to inventory the very large Bill of Materials for the Saturn V moon rocket and Apollo space vehicle.
The first "IMS READY" message appeared on an IBM 2740 terminal in Downey, California, on 14 August 1968. IMS is still running strong nearly 40 years later and, over time, has seen some interesting developments as IBM System/360 technology evolved into the current z/OS and System z9 and z10 technologies. For example, IMS supports the Java programming language, JDBC, XML, and, in late 2005, Web services. As of version 9, IMS does not support JDBC, XML or Web Services without the licensing of additional software from IBM. IMS Connect comes with version 9 and provides a TCP/IP interface to Message Processing Programs running in IMS Message Processing Regions.
Vern Watts is IMS\'s chief architect. Watts joined IBM in the late 1950s and, as of this writing in mid-2005, still works (at least "unofficially") at IBM\'s Silicon Valley development labs.[citation needed] He has continuously worked on IMS since the 1960s.
There are three basic forms of IMS hierarchical databases:
1. "Full function" databases
2. "Fast path" databases
3. High Availability Large Databases (HALDBs)
Fast path DEDBs can only be built atop VSAM. DL/I databases can be built atop either VSAM or OSAM, with some restrictions depending on database organization. Although the maximum size of a z/OS VSAM dataset increased to 128 TB a few years ago, IMS still limits a VSAM dataset to 4 GB (and OSAM to 8 GB). This "limitation" simply means that IMS customers will use multiple datasets for large amounts of data. VSAM and OSAM are usually referred to as the access methods, and the IMS "logical" view of the database is referred to as the database "organization" (HDAM, HIDAM, HISAM, etc.) Internally the data are linked using 4-byte pointers or addresses. In the database datasets (DBDSs) the pointers are referred to as RBAs (relative byte addresses).
Collectively the database-related IMS capabilities are often called IMS DB. IMS DB has grown and evolved over nearly four decades to support myriad business needs.
IMS is also a robust transaction manager (IMS TM, also known as IMS DC) — one of the "big three" along with CICS and BEA Tuxedo. A transaction manager interacts with an end user (connected through VTAM or TCP/IP, including 3270 and Web user interfaces) or another application, processes a business function (such as a banking account withdrawal), and maintains state throughout the process, making sure that the system records the business function correctly to a data store. Thus IMS TM is quite like a Web application, operating through a CGI program (for example), to provide an interface to query or update a database. IMS TM typically uses either IMS DB or DB2 as its backend database.
IMS TM uses a messaging and queuing paradigm. An IMS control program receives a transaction entered from a terminal (or Web browser or other application) and then stores the transaction on a message queue (in memory or in a dataset). IMS then invokes its scheduler on the queued transaction to start the business application program in a message processing region. The message processing region retrieves the transaction from the IMS message queue and processes it, reading and updating IMS and/or DB2 databases, assuring proper recording of the transaction. Then, if required, IMS enqueues a response message back onto the IMS message queue. Once the output message is complete and available the IMS control program sends it back to the originating terminal. IMS TM can handle this whole process thousands (or even tens of thousands) of times per second.
Prior to IMS, businesses and governments had to write their own transaction processing environments. IMS TM provides a straightforward, easy-to-use, reliable, standard environment for high performance transaction execution. In fact, much of the world\'s banking industry relies on IMS, including the U.S. Federal Reserve. For example, chances are that withdrawing money from an automated teller machine (ATM) will trigger an IMS transaction. Several Chinese banks have recently purchased IMS to support that country\'s burgeoning financial industry. Reportedly IMS alone is a $1 billion (U.S.) per year business for IBM.
IMS faces competition today from DB2, IBM\'s relational database system, introduced in 1982. In general, IMS performs faster than DB2 for a given task, but requires more programming effort to design & maintain.
This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia