HOME

TheInfoList



OR:

The IBM Information Management System (IMS) is a joint hierarchical database and
information management Information management (IM) concerns a cycle of organizational activity: the acquisition of information from one or more sources, the custodianship and the distribution of that information to those who need it, and its ultimate disposal throug ...
system that supports transaction processing.


History

IBM designed the IMS with Rockwell and
Caterpillar Caterpillars ( ) are the larval stage of members of the order Lepidoptera (the insect order comprising butterflies and moths). As with most common names, the application of the word is arbitrary, since the larvae of sawflies (suborder Sy ...
starting in 1966 for the Apollo program, where it was used to inventory the very large
bill of materials A bill of materials or product structure (sometimes bill of material, BOM or associated list) is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end ...
(BOM) for the
Saturn V Saturn V is a retired American super heavy-lift launch vehicle developed by NASA under the Apollo program for human exploration of the Moon. The rocket was human-rated, with multistage rocket, three stages, and powered with liquid-propellant r ...
moon rocket and Apollo space vehicle. The first "IMS READY" message appeared on an
IBM 2740 The IBM 2741 is a printing computer terminal that was introduced in 1965. Compared to the teletypewriter machines that were commonly used as printing terminals at the time, the 2741 offers 50% higher speed, much higher quality printing, quieter ...
terminal in
Downey, California Downey is a city located in Southeast Los Angeles County, California, United States, southeast of downtown Los Angeles. It is considered part of the Gateway Cities. The city is the birthplace of the Apollo space program. It is also the home ...
, on August 14, 1968. In the interim period, IMS has undergone many developments as IBM
System/360 The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applica ...
technology evolved into the current
z/OS z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest: * ...
and
IBM zEnterprise System IBM Z is a family name used by IBM for all of its z/Architecture mainframe computers. In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family now includes the newest mo ...
technologies. For example, IMS now supports the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywh ...
,
JDBC Java Database Connectivity (JDBC) is an application programming interface (API) for the programming language Java, which defines how a client may access a database. It is a Java-based data access technology used for Java database connectivity. I ...
,
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
, and, since late 2005, web services. Vern Watts was IMS's chief architect for many years. Watts joined IBM in 1956 and worked at IBM's Silicon Valley development labs until his death on April 4, 2009. He had continuously worked on IMS since the 1960s.


Database

The IMS Database component stores data using a
hierarchical model A hierarchical database model is a data model in which the data are organized into a tree-like structure. The data are stored as records which are connected to one another through links. A record is a collection of fields, with each field containin ...
, which is quite different from IBM's later released
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
,
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
. In IMS, the hierarchical model is implemented using blocks of data known as segments. Each segment can contain several pieces of data, which are called fields. For example, a customer database may have a root segment (or the segment at the top of the hierarchy) with fields such as phone, name, and age. Child segments may be added underneath another segment, for instance, one order segment under each customer segment representing each order a customer has placed with a company. Likewise, each order segment may have many children segments for each item on the order. Unlike other databases, you do not need to define all of the data in a segment to IMS. A segment may be defined with a size of 40 bytes but only define one field that is six bytes long as a key field that you can use to find the segment when performing queries. IMS will retrieve and save all 40 bytes as directed by a program but may not understand (or care) what the other bytes represent. In practice, often all data in a segment may map to a
COBOL COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily u ...
copybook. Besides DL/I query usage, a field may be defined in IMS so that the data can be hidden from certain applications for security reasons. The database component of IMS can be purchased standalone, without the transaction manager component, and used by systems such as
CICS IBM CICS (Customer Information Control System) is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE. CICS family products ...
. There are three basic forms of IMS hierarchical databases:


"Full Function" databases

* Directly descended from the Data Language Interface (DL/I) databases originally developed for Apollo, full function databases can have primary and secondary indexes, accessed using DL/I calls from an application program, like SQL calls to
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
or
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word ...
. * Full function databases can be accessed by a variety of methods, although Hierarchical Direct (HDAM) and Hierarchical Indexed Direct ( HIDAM) dominate. The other formats are Simple Hierarchical Indexed Sequential ( SHISAM), Hierarchical Sequential ( HSAM), and Hierarchical Indexed Sequential ( HISAM). * Full function databases store data using VSAM, a native z/OS access method, or Overflow Sequential (OSAM), an IMS-specific access method that optimizes the I/O channel program for IMS access patterns. In particular, OSAM performance benefits from sequential access of IMS databases (OSAM Sequential Buffering).


"Fast Path" databases

* Fast Path databases are optimized for extremely high transaction rates. Data Entry Databases (DEDBs) and Main Storage Databases (MSDBs) are the two types of Fast Path databases. DEDBs use a direct (randomizer) access technique similar to Full Function HDAM and IMS V12 provided a DEDB Secondary Index function. MSDBs do not support secondary indexing. Virtual Storage Option (VSO) DEDBs can replace MSDBs in modern IMS releases, so MSDBs are gradually disappearing. DEDB performance comes from use of high performance (Media Manager) access method, asynchronous write after commit, and optimized code paths. Logging is minimized because no data is updated on disk until commit, so UNDO (before image) logging is not needed, nor is a backout function. Uncommitted changes can simply be discarded. Starting with IMS Version 11, DEDBs can use z/OS 64-bit storage for database buffers. DEDBs architecture includes a Unit of Work (UOW) concept which made an effective online reorganization utility simple to implement. This function is included in the base product.


High Availability Large Databases (HALDBs)

* IMS V7 introduced HALDBs, an extension of IMS full function databases to provide better availability, better handling of extremely large data volumes, and, with IMS V9, online reorganization to support continuous availability. (Third party tools exclusively provided online reorganization prior to IMS V9.) A HALDB can store in excess of 40 terabytes of data. 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, with assistance from z/OS hardware the Coupling Facility supports N-way inter-IMS sharing of databases. Many large configurations involve multiple IMS systems managing common databases, a technique providing for scalable growth and system redundancy in the event of hardware or software failures.


Transaction Manager

IMS is also a robust transaction manager (IMS TM, also known as IMS DC) one of the "big three" classic transaction managers along with
CICS IBM CICS (Customer Information Control System) is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE. CICS family products ...
and BEA (now Oracle) Tuxedo. A transaction manager interacts with an end user (connected through
VTAM Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and co ...
or
TCP/IP The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the su ...
, including
3270 The IBM 3270 is a family of block oriented display and printer computer terminals introduced by IBM in 1971 and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display terminal. Due to the text ...
and
Web user interface A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection. History In earlier computing models like client-serve ...
s) 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. When used alone with Db2 the IMS TM component can be purchased without the IMS DB component. 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. In 2013 IBM completed a benchmark on IMS Version 13 demonstrating the ability to process 100,000 transactions per second on a single IMS system.


Application

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 The Federal Reserve System (often shortened to the Federal Reserve, or simply the Fed) is the central banking system of the United States of America. It was created on December 23, 1913, with the enactment of the Federal Reserve Act, after a ...
. For example, chances are that withdrawing money from an
automated teller machine An automated teller machine (ATM) or cash machine (in British English) is an electronic telecommunications device that enables customers of financial institutions to perform financial transactions, such as cash withdrawals, deposits, fund ...
(ATM) will trigger an IMS transaction. Several Chinese banks have recently purchased IMS to support that country's burgeoning financial industry. Today IMS complements
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
, IBM's
relational database A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relati ...
system, introduced in 1982. In general, IMS performs faster than Db2 for the common tasks but may require more programming effort to design and maintain for non-primary duties. Relational databases have generally proven superior in cases where the requirements, especially reporting requirements, change frequently or require a variety of viewpoint "angles" outside the primary or original function. A relational " data warehouse" may be used to supplement an IMS database. For example, IMS may provide primary ATM transactions because it performs well for such a specific task. However, nightly copies of the IMS data may be copied to relational systems such that a variety of reports and processing tasks may be performed on the data. This allows each kind of database to focus best on its relative strength.


See also

*
Datacom A computer network is a set of computers sharing resources located on or provided by network nodes. The computers use common communication protocols over digital interconnections to communicate with each other. These interconnections are m ...
* IDMS *
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
* Data Language Interface * Transaction Processing Facility *
MUMPS MUMPS ("Massachusetts General Hospital Utility Multi-Programming System"), or M, is an imperative, high-level programming language with an integrated transaction processing key–value database. It was originally developed at Massachusetts Gene ...


References


External links


IMS Family IBM Z softwareInformation Management Software for z/OS Solutions Information CenterIBM Redbook: IMS Primer
*
IBM InfoSphere Guardium S-TAP for IMS on z/OS for detection of policy violations and compliance auditingAn Introduction to IMS: Second Edition
{{DEFAULTSORT:Ibm Information Management System Apollo program Database engines Proprietary database management systems Information Management System Structured storage NoSQL IBM mainframe software