🎯 この記事のポイント
AS/400(IBM i)は数十年にわたり基幹業務を支えてきた堅牢なプラットフォームです。しかし、移行パターンの選択以前に意識すべきことがあります。
モダナイゼーションの成否は、コードの書き換えではなく、ドメイン知識の抽出で決まる。
COBOL の COPY 句、RPG の COPY/INCLUDE メンバー、88 条件名、PROGRAM-ID の分割境界 — これらに埋め込まれた30年分の業務ルールを正しく読み解けるかどうかが、移行プロジェクトの成否を分けます。
この視点については COBOL は1959年からDDDをやっていた で詳しく解説しています。本記事ではその前提に立って、具体的な移行パターンと戦略を解説します。
⚠️ なぜ今モダナイゼーションか
| 課題 | 影響 |
|---|---|
| 人材不足 | RPG / COBOL エンジニアの高齢化・退職。新規採用が困難 |
| 統合困難 | クラウドサービスや SaaS との連携が困難。API が無い |
| ベンダーロックイン | ハードウェア更新コストの増大。IBM i の保守契約が高騰 |
| ビジネス俊敏性 | 変化の速い市場への対応が遅れる。新機能追加に数ヶ月 |
| AI 活用の壁 | 基幹データが AS/400 に閉じており、AI・データ分析基盤に接続できない |
特に最後の「AI 活用の壁」は見落とされがちです。モダナイゼーションはコスト削減の手段ではなく、データ資産を AI で活用するための前提条件と捉えるべきです。
🔧 3つの移行パターン

1. Rehost(リホスト)
AS/400 のワークロードをクラウド上のエミュレータ(IBM Power Virtual Server 等)に移行。
| 項目 | 評価 |
|---|---|
| リスク | 低 — 既存コードをそのまま実行 |
| 期間 | 短(3〜6 ヶ月) |
| コスト効果 | 限定的 — ハードウェア費用は削減、ライセンスは残る |
| ドメイン知識 | そのまま残る(課題もそのまま残る) |
適する場面: ハードウェアの保守切れが迫り、とにかく延命が必要なケース。
注意: 根本的な課題(人材不足、API 不在、AI 連携不可)は未解決のまま残ります。Rehost は時間を買う手段であり、ゴールではありません。
2. Replatform(リプラットフォーム)
データベースを DB2 for i から Cloud SQL / PostgreSQL に移行。アプリケーションロジックは維持。
| 項目 | 評価 |
|---|---|
| リスク | 中 — データ層の変換が必要 |
| 期間 | 中(6〜12 ヶ月) |
| コスト効果 | 中 — クラウド DB の柔軟なスケーリング |
| ドメイン知識 | データ層で再マッピングが必要 |
適する場面: データ活用(BI・AI)を優先し、アプリ層はしばらく維持するケース。
ドメイン知識の抽出ポイント:
- DDS(データ記述仕様)のフィールド定義 → テーブルスキーマへの変換
- 論理ファイルのキー定義 → インデックス設計
- RPG の
/COPYメンバーに定義されたデータ構造(DS) → DTO / エンティティクラス - 日付形式(*MDY, *YMD, *ISO)の変換ルール
3. Refactor(リファクタ)
RPG / COBOL プログラムを .NET / Java / Python で書き直し。
| 項目 | 評価 |
|---|---|
| リスク | 高 — 全面的な再設計が必要 |
| 期間 | 長(1〜3 年) |
| コスト効果 | 大 — クラウドネイティブの恩恵を最大限享受 |
| ドメイン知識 | コードレベルで完全に再設計 |
適する場面: 業務プロセス自体を刷新し、AI 活用・API エコノミーに参加するケース。
ドメイン知識の抽出ポイント:
| COBOL / RPG の構造 | 抽出先 |
|---|---|
COPY 句 / /COPY メンバーのレコード定義 | DTO / 値オブジェクトクラス |
| PROGRAM-ID の分割境界 | マイクロサービスの境界候補 |
88 条件名(88 IS-ACTIVE VALUE 'A') | enum / ドメインイベント |
段落名(CALC-GROSS-PARA) | メソッド名にそのまま使える |
| EVALUATE 文の分岐条件 | ビジネスルールエンジンの入力 |
この対応関係の詳細は COBOL は1959年からDDDをやっていた を参照してください。
🔀 新旧共存戦略
Refactor を選択した場合でも、ビッグバン移行は現実的ではありません。新旧システムを共存させながら段階的に移行するのが鉄則です。
ユーザー / 外部システム
│
├──→ 新システム(Cloud Run / .NET)
│ │
│ ├─ 新機能は新システムで開発
│ ├─ API 経由で旧データを参照
│ └─ AI 連携(カテゴリ自動分類、画像認識等)
│
└──→ 旧システム(AS/400)
│
├─ 既存業務は段階的に移行
└─ データ同期ジョブで新システムと連携
データ同期パターン
| パターン | 方向 | 遅延 | 用途 |
|---|---|---|---|
| CDC(Change Data Capture) | 旧→新 | 準リアルタイム | マスタデータ同期 |
| バッチ連携 | 双方向 | 定期(1時間〜日次) | 集計・レポート |
| API 連携 | 新→旧 | リアルタイム | トランザクション処理 |
CDC が理想ですが、AS/400 のジャーナル機能(STRJRNPF)をソースにする場合、ジャーナルレシーバーのフォーマット理解が必要です。IBM i の RCVJRNE コマンドや、Precisely Connect CDC などのツールも選択肢に入ります。
📋 移行の優先順位
すべてを一度に移行しようとすると失敗します。以下の順序で段階的に進めてください。
Phase 1: 参照系から着手
優先度: 高 → 低
├── 1. 参照系(SELECT のみ)
│ └─ リスクが低く、効果を実感しやすい
│ 例: 在庫照会、顧客検索、レポート出力
│
├── 2. 更新系(INSERT / UPDATE / DELETE)
│ └─ データ整合性の担保が最重要
│ 例: 受注登録、マスタメンテナンス
│
└── 3. バッチ処理
└─ 既存ジョブとの依存関係が複雑
例: 月次締め、帳票出力、データ連携
Phase 2: AI 活用基盤の構築
データがクラウド DB に移行できたら、AI 活用の土台が整います。
| AI 活用例 | 内容 | 前提条件 |
|---|---|---|
| マスタデータの自動分類 | 商品カテゴリ・ブランドの AI マッピング | 商品マスタのクラウド化 |
| 画像認識 | 商品画像からカラー・属性を自動判定 | 画像データのクラウドストレージ移行 |
| 自然言語処理 | 問い合わせメールの自動分類・返信生成 | メールデータの API 連携 |
| 承認判断の支援 | 受注内容の自動チェック・異常検知 | トランザクションデータのリアルタイム連携 |
モダナイゼーションの本当のゴールは、ここにあります。 AS/400 に閉じていたデータ資産を解放し、AI で業務を加速すること。コードの書き換えは手段にすぎません。
🚫 よくある失敗パターン
| 失敗パターン | 原因 | 対策 |
|---|---|---|
| 「全部書き直す」症候群 | ビッグバン移行を計画し、2年経っても完成しない | Phase 分けで段階移行。参照系から始める |
| ドメイン知識の喪失 | RPG/COBOL を読めるエンジニアが不在のまま移行開始 | 移行前にドメイン知識の抽出・文書化を行う |
| データ構造の丸写し | AS/400 の物理ファイル構造をそのまま RDB に移植 | 論理ファイルのキー定義から正規化を再設計 |
| テスト不足 | 旧システムのテストケースが存在しない | 旧システムの入出力を記録してリグレッションテストに活用 |
| 並行運用の軽視 | 新システムへの切り替え日を決めて一斉移行 | 数ヶ月の並行運用期間を確保。データ同期の仕組みを先に構築 |
📚 関連コンテンツ
設計思想を理解する
- COBOL は1959年からDDDをやっていた — COBOL のドメイン知識抽出手法を DDD の観点で解説
COBOL / RPG を読めるようになる
- COBOL 文法基礎 — 変数定義、条件分岐、ファイル操作
- COBOL モジュール設計 — SECTION、外部 CALL、COPY 句
- RPG 文法基礎 — Free Format RPG の基本
- RPG モジュール設計 — プロシージャ、サービスプログラム
用語集
- AS/400(IBM i) — プラットフォームの概要
- COBOL — 言語の特徴と歴史
- RPG — IBM i の主力言語
- DB2 for i — AS/400 のデータベース
まずは AS/400 を使い続けながら B2C に参入したい方へ: 大規模な移行の前に、CTS-EC・CTS-LOGI と AI で B2C 販売を始める方法があります。詳しくは AS/400 を使い続けながら B2C に参入する をご覧ください。
CTS ではモダナイゼーションを「コードを書き直す」のではなく、レガシーに埋め込まれたドメイン知識を AI で抽出・再構築するアプローチで支援しています。AI エージェントによる業務自動化については AIエージェント事業 をご覧ください。お問い合わせはこちら。