導入
「銀行でお金を引き出す」「クレジットカードで買い物をする」「年金の記録を確認する」——こうした日常の裏側で、今もCOBOLのプログラムが黙々と動いています。COBOLは「過去の遺物」ではなく、社会インフラを支える現役の基盤技術です。
説明
COBOLが今も使われ続けている業界には、共通の特徴があります。「大量のデータを、正確に、確実に処理し続ける必要がある」業界です。
- 銀行・金融 … 勘定系システム(口座残高、振込、決済)。1件のミスも許されない正確性が求められる。
- 保険 … 契約管理、保険料の計算、給付金の支払い処理。
- 行政・公共機関 … 税務、年金、社会保障の記録管理。
- 航空・運輸 … 予約システムの一部。
これらのシステムの多くは メインフレーム(IBM z/OS などの大型汎用コンピュータ)の上で、長年にわたって夜間のバッチ処理(大量データをまとめて一括処理する方式。第7章で詳しく扱います)として動いています。
なぜ置き換えられずに残っているのでしょうか。理由はいくつかあります。
- 「動いているものは触るな」の原則 … 何十年も本番稼働してバグがほぼ出尽くしたコードを、リスクを冒してまで書き換える動機が薄い。
- 書き換えコストの大きさ … 数百万〜数千万行規模のシステムを別言語で作り直すのは、莫大な予算と時間、そして移行時の障害リスクを伴う。
- メインフレームの信頼性 … 高い可用性(止まらないこと)とトランザクション処理性能が、今なおこの種の基幹業務に適している。
「古いから残っている」のではなく、「今も業務要件を満たし続けているから残っている」——これがCOBOLの現在地です。
試すには
身の回りで「絶対に止まってはいけないシステム」を思い浮かべてみてください(銀行のATM、電車の運行、病院のカルテなど)。そうしたシステムほど、新しい技術への切り替えに慎重にならざるを得ない事情が想像できると思います。