現在進行中のAS/400(IBM i)システム移行プロジェクトにおける知見と、レガシーマイグレーションの本質についての考察です。
時に「レガシー」として刷新対象となるAS/400ですが、システム内部と深く向き合う中で、真の課題は「ハードウェアの古さ」にはないと気づきました。
かつてのエンジニアたちは、当時の「物理的制約(計算資源の乏しさ)」に対して懸命に最適化を行い、その結果としてコードから「名前(意味)」が失われ、バイト操作に特化していったのです。
本スライドでは、以下の視点から「意味の回復」へのアプローチをまとめています。
AS/400の再評価と真の敵: オーパーツとしての先進性(単一レベル記憶など)
レガシーコードの正体: なぜコードは「バイト操作」になったのか(80桁の画面制約、高価なディスク容量)
「秘伝のタレ」の経済合理性: なぜif文は継ぎ足され続けたのか(副作用を避けるための生存戦略)
失われた名前を取り戻す2つのアプローチ:
構造への名付け(DOA:データ中心アプローチの視点)
振る舞いへの名付け(DDD:ドメイン駆動設計の視点)
単なるプログラミング言語の置き換え(COBOL to C#/Java)ではなく、かつて物理制約によってコードから追い出された「意味」と「文脈」をコードに取り戻すこと。
「名前をつける(概念を定義する)」という行為こそが、レガシーシステム移行プロジェクトの核心であるというお話です。