Summary:
IMSは,階層型データベースとトランザクション・モニタを中核とする構成を持ち,銀行,保険,航空,政府機関など,極めて高い信頼性・可用性・スループットが要求される領域において長年利用されてきた.IMSのデータベース管理機能は,リレーショナルモデル以前の階層モデルに基づいており,各レコード型[セグメント]は親子関係に従って厳密に構造化され,アクセスはプリセットされたパスによって効率化されている.この厳格な構造は柔軟性に欠ける一方で,事前に定義されたアクセスパターンに対して極めて高速な処理性能を発揮する.また,IMSは高速なオンライン・トランザクション処理[OLTP]を実現するトランザクション・マネージャ[IMS TM]を備え,CICSとは異なるアーキテクチャに基づいて,アプリケーション・プログラム,メッセージ・キュー,端末管理などを一体的に制御する.IMSアプリケーションは主にCOBOL,PL/I,アセンブラ言語,Java,C/C++などで記述され,MFS[Message Format Service]を用いて画面とメッセージの定義がなされる.IMS DBとIMS TMは連携しながら,高スループットかつACID特性を満たした堅牢な処理基盤を提供する.
IMSの技術的詳細において特筆すべきは,その階層型データモデルの厳格さとアクセス効率である.データ構造はルート・セグメントから始まり,各子セグメントがツリー構造の中に一意的に配置される.物理データベースはVSAM[Virtual Storage Access Method],OSAM[Overflow Sequential Access Method],HSAM[Hierarchical Sequential Access Method],HDAM[Hierarchical Direct Access Method],HIDAM[Hierarchical Indexed Direct Access Method]といった方式で格納され,インデックスやパス指定によって高速なデータアクセスが可能となっている.論理的には,複数の物理データベース間に論理関係を構築することもでき,これにより一部の柔軟性を確保している.IMSはまた,COBOL,PL/I,Java,C/C++といった言語を用いたDLI[Data Language/I]インターフェース,JDBC,ODBC,RESTful Webサービスなどを通じてデータ操作を行う点が特徴的であり,アプリケーション開発者はDL/Iコールを用いて階層構造を横断的にナビゲートしながら,挿入・取得・更新・削除などの操作を行う.IMS TMに関しては,MPP[Message Processing Program],IFP[IMS Fast Path Program],BMP[Batch Message Program],JMP[Java Message Processing Program]など,実行形態に応じたプログラム設計が必要とされる.また,IMSはトランザクションの整合性維持のためにチェックポイント処理やロールバック機能を備えており,障害時のリカバリ能力にも優れている.現代では,IMS Connect,IMS Enterprise Suite,IMS Tools,z/OS Connect Enterprise Editionなどにより,SOA,マイクロサービス,クラウド環境との統合も実現している.
IMSの歴史は1966年に遡る.NASAのアポロ計画の一環として,月面着陸船の製造部品を一元的に管理するための在庫管理システムが必要とされ,IBMはNorth American Rockwell社[後のRockwell International]と共同でIMSの原型を開発した.当初は単なる部品表管理システム[BOM:Bill of Materials]であったが,その後の改良を経て,1968年に正式な製品としてIMSが登場する.これにより,IBMのSystem/360シリーズ上で稼働する高性能データベースおよびトランザクション処理システムとしての地位を確立した.1970年代にはIMSは世界中の大企業の基幹業務に不可欠な存在となり,1980年代にはMVS[Multiple Virtual Storage]やz/OSといったメインフレームOSとの統合が進められた.1990年代以降は,IMSの信頼性や可用性を維持しながら,TCP/IPやWebサービスとの統合,ODBC/JDBCによる外部アクセス,DB2との相互運用性向上,XML対応,REST API,JSON対応など,現代的な機能も段階的に取り入れられている.
今日に至るまで,IMSは世界中で数千のミッションクリティカルな業務に活用されており,IBM z Systemsとの組み合わせにより,超並列処理・高信頼・長期稼働が求められるシステムの中核として,その存在価値を保ち続けている.現在でも世界の多くの銀行,保険会社,政府機関において,1秒間に数万~数十万件のトランザクションを処理する基幹システムとして稼働しており,年間処理件数は数兆件に及ぶ.デジタルトランスフォーメーション[DX]の時代においても,IMSは既存システムの安定性を保ちつつ,新技術との連携により現代的なアーキテクチャとの橋渡し役を果たしている.
Mathematics is the language with which God has written the universe.