CTS-KB
モダナイゼーション

AS/400 モダナイゼーション戦略 — ドメイン知識を残して移行する3つのパターン

#AS400 #モダナイゼーション #COBOL #RPG #レガシー移行 #新旧共存

🎯 この記事のポイント

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つの移行パターン

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 / RPG を読めるようになる

用語集


まずは AS/400 を使い続けながら B2C に参入したい方へ: 大規模な移行の前に、CTS-EC・CTS-LOGI と AI で B2C 販売を始める方法があります。詳しくは AS/400 を使い続けながら B2C に参入する をご覧ください。

CTS ではモダナイゼーションを「コードを書き直す」のではなく、レガシーに埋め込まれたドメイン知識を AI で抽出・再構築するアプローチで支援しています。AI エージェントによる業務自動化については AIエージェント事業 をご覧ください。お問い合わせはこちら