FullStackEngineer 2018年5月3日更新

メインフレーム

Index

社会インフラの心臓部:メインフレーム(汎用機)の世界

1 はじめに

一言でいうと

「企業の基幹業務データ(金融、顧客情報など)を一手に引き受け、圧倒的な信頼性と処理能力でさばき続ける、巨大な集中処理コンピュータ」 です。

主に企業など巨大な組織の基幹業務用などに使用される、大型コンピュータを指す用語です。

  • 現在はIBMを始めとした一部限られた企業しか製造していません。
  • メインフレーム自体は、メインフレーム専用のOSで動作します。
  • 他の一般コンピュータと違う特徴のひとつとして、高いI/O性能を持つことが挙げられます。

なぜ今、重要なのか

「過去の遺産(レガシー)」と思われがちですが、銀行の勘定系システム、航空座席予約、保険会社の契約管理など、「絶対に止まってはいけない」「大量のデータを整合性を保って処理する」 社会インフラの根幹は、今でもメインフレームで稼働しています。 近年では、Linuxを搭載してクラウドの一部として機能するなど、最新技術とのハイブリッド化も進んでおり、DX(デジタルトランスフォーメーション)の文脈でも「既存資産をどう活かすか(あるいは移行するか)」という議論の中心にあります。

2 ビギナー向け・ドキュメント

概要:巨大なコンテナ船

メインフレームは、PCやスマホ(クルーザーやボート)とは設計思想が異なります。 何万トンもの荷物(データ)を積み、嵐(障害)が来ても沈まず、エンジンを止めずにメンテナンスしながら、目的地(バッチ処理完了)まで正確に進み続ける「巨大なコンテナ船」です。小回りは利きませんが、大量輸送と安定性は最強です。

公式情報・主要ベンダー

現在、メインフレームを製造・販売しているメーカーは限られています。

導入:COBOLとJCLの世界

メインフレーム開発の代名詞といえばプログラミング言語「COBOL」と、実行指示書である「JCL (Job Control Language)」です。

COBOLでのHello World (Hello.cbl) 英語の文章のように読めるのが特徴です。

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.

       ENVIRONMENT DIVISION.

       DATA DIVISION.

       PROCEDURE DIVISION.
           DISPLAY 'HELLO, MAINFRAME WORLD!'.
           STOP RUN.

JCLでの実行指示 (RunHello.jcl) 「どのコンピュータで、どのプログラムを、どのリソースを使って動かすか」を指定します。

//MYJOB    JOB  (ACCT),'USER',CLASS=A,MSGCLASS=X
//STEP1    EXEC PGM=HELLO
//STEPLIB  DD   DSN=MY.LIBRARY.LOAD,DISP=SHR
//SYSOUT   DD   SYSOUT=*

3 会話集

エンタープライズ開発の現場、特に銀行や生損保のプロジェクトでよく聞かれる会話です。

Q1. なぜWindowsやクラウドに載せ替えないんですか?

新人: 「維持費も高いし、AWSとかに移行(マイグレーション)すればいいのに。」 ベテラン: 「それが簡単じゃないんだよ。30年継ぎ足したスパゲッティコードの解析が困難だし、『小数点以下の計算誤差』『処理順序の厳密性』において、オープン系技術ではメインフレームと同じ結果を保証するのが極めて難しいんだ。」

Q2. 「バッチが突き抜ける」ってどういう意味?

運用担当: 「今日の夜間バッチ、データ量が多くて突き抜けそうです!」 PM: 「まずいな。オンライン稼働開始の朝8時までに終わらないと、銀行のATMが開かないぞ。ジョブの多重度を上げてなんとかならないか?」

Q3. 「黒画面(3270端末)」って何ですか?

Aさん: 「映画に出てくるハッカーみたいな緑と黒の画面で仕事するんですか?」 Bさん: 「そうです(エミュレータを使いますが)。マウスは使えません。画面遷移や確定など、すべての操作をキーボードショートカットで行うので、熟練者はマウスを使うより数倍速く操作できるんですよ。」

4 より深く理解する為に

アーキテクチャの強み:RAS

メインフレームを支える設計思想はRAS(またはRASIS)に集約されます。

  • Reliability (信頼性): 部品レベルで二重化されており、故障しにくい。
  • Availability (可用性): 稼働中にCPUやメモリを交換でき、システムを止めない。
  • Serviceability (保守性): エラー発生時に自動でメーカーに通報し、原因を特定しやすい。

集中処理 vs 分散処理

  • オープン系(分散処理): 多数の安価なサーバーを並列させて処理能力を稼ぐ。GoogleやWebサービス向き。
  • メインフレーム(集中処理): 1台の超強力なマシンに資源を集中させ、メモリとI/O(入出力)を超高速化する。1つの巨大なDBを整合性を保って更新する銀行口座処理などに向き。

レガシーマイグレーションの種類

  1. リホスト: ハードウェアだけオープン系に変え、プログラム(COBOL)はそのまま動かす(エミュレーション)。
  2. リライト: COBOLをJavaなどに書き換える。
  3. リビルド: ゼロから要件定義して作り直す。最もリスクが高いが、成功すればDXにつながる。

5 関連ワード

  1. COBOL (コボル)
    • 事務処理用に開発されたプログラミング言語。金額計算に強く、読みやすいが記述が長い。世界中の金融コードの多くは今もCOBOL。
  2. 2025年の崖
    • 経産省のレポート用語。老朽化したレガシーシステム(メインフレーム等)を刷新できないと、保守運用コストの高騰や人材不足で経済損失が生じるという警告。
  3. CICS (シックス)
    • IBMのトランザクション管理システム。オンライン処理(ATMの入出金など即時性が求められる処理)を制御するミドルウェア。
  4. EBCDIC (エビシディック)
    • メインフレーム特有の文字コードセット。ASCIIコードとは並び順が違うため、オープン系とのデータ連携時に文字化けトラブルの元になる。
  5. オープン化
    • メインフレーム(汎用機)から、UNIX/Windows/Linuxサーバー(オープン系)へシステムを移行すること。ダウンサイジングとも呼ばれる。

6 要点チェック

  • 信頼性最強: 「絶対にデータを壊さない」「止まらない」ことが至上命題のシステムで使われる。
  • I/O性能: 単純な計算速度よりも、膨大なデータをディスクから読み書きする能力(I/Oスループット)が圧倒的に高い。
  • 資産の継承: 何十年分のビジネスロジックがCOBOLコードとして蓄積されており、これをどう次世代につなぐかが経営課題となっている。
  • 進化中: 単なる「古い機械」ではなく、最新機種はAI処理や量子暗号に対応し、クラウド基盤としても進化している。

7 その他おすすめリンク

最新記事一覧

続きを見る

関連コンテンツ

カテゴリー一覧

TOP フルスタックエンジニアを目指すに方々へ メインフレーム