The DX Leaders
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。本ニュースレターは【日本語】で配信しています。登録の際はIBMプライバシー・ステートメントをご覧ください。
RPGのモダナイゼーションとは、IBMのミッドレンジ・コンピューターで稼働する、RPG(「レポート・プログラム・ジェネレーター」の略)という言語で書かれた老朽化したビジネス・ソフトウェアを更新し、最新のシステムに接続できるようにするとともに、減少し続けるプログラマー人材に左右されずに使い続けられるようにする作業です。元のコードを廃棄して最初から作り直すことはありません。
これらのアプリケーションは、元々AS/400プラットフォーム上で稼働していたOS/400オペレーティング・システムの後継であるIBM i上で動作します。
RPGをモダナイズするには、ユーザー・インターフェースの更新、コードのクリーンアップ、新しい言語への翻訳、APIを介した他のソフトウェアへの接続、クラウドへの移動などが含まれます。どのようなアプローチであっても、最終的な目標は、現在も機能しているソフトウェアを維持しながら最新の状態にすることです。これは、より広い意味でアプリケーションのモダナイゼーションやレガシー・コードの移行に当たる作業です。
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。本ニュースレターは【日本語】で配信しています。登録の際はIBMプライバシー・ステートメントをご覧ください。
RPGは、現在でも商用で毎日使用されている最も古いプログラミング言語の1つです。IBMは1959年、IBM 1401コンピュータ向けにこの言語を開発しました。この言語は、パンチカードによる処理に取って代わり、業務報告書を作成する役割を果たしました。その名称の由来については、著者のニック・リッテンが「IBM RPGプログラミング言語の簡潔な歴史」で解説しています。数十年にわたり、銀行、保険会社、製造業者、小売業者において、給与計算、在庫管理、請求書発行などの業務を担ってきました。
言語は長年にわたって進化してきました。1960年代から1970年代にかけてのRPG IIは、やや柔軟性に欠けていた。プログラマーは固定された列にコードを入力し、組み込みの処理ループに依存していました。1979年にSystem/38とともに導入されたRPG IIIは、プログラマーが期待する条件付きテスト、ループ、再利用可能なサブルーチンなどの構造化されたビルディング・ブロックを追加しました。Wikipediaによると、IBMは1988年にAS/400が発売された際にRPG/400にリブランドしました。
1990年代半ばに導入されたRPG IVは、IBM iシステムで使用されているRPGの現代版です。これはIBMのIntegrated Language Environmentの一部となり、RPGはCOBOLやCなどの他のビジネス言語とより容易に連携できるようになりました。それ以来、IBMはRPGを着実にモダナイズし、従来の硬直した列ベースの形式から移行させてきました。今日のRPG(RPGLEまたはILE RPGと呼ばれることが多い)は、数十年前のRPGよりもはるかに一般的な現代コードと似たフリー・フォーム・スタイルで記述することができます。
「現代のRPG」とは具体的にどのようなものなのでしょうか?RPGアプリケーションのモダナイズは、多くの場合、より広い概念であるIBM iモダナイゼーションの一環として扱われ、表面的なものから大幅なものまでさまざまです。
外観面では、ユーザー・インターフェースのモダナイゼーションが行われます。これは、従来のIBM iアプリケーションで使われている黒い背景に緑色の文字を表示するターミナル・ディスプレイである、テキストのみの「グリーン・スクリーン」を、基盤となるロジックをそのまま維持したままWebまたはモバイル・インターフェースに置き換えるものです。多くの場合、これは最も迅速で、最も目に見える改善です。同様のアプローチでは、RPGをそのまま維持し、ビジネス・ロジックをWebサービス、つまり最新のアプリケーションから古いコードの機能やデータを呼び出せるAPIとして公開します。
リッテン氏によれば、より高度なアプローチはコードのリファクタリングであり、コードの動作を変えずに構造を改善するもので、固定フォーマットのRPGをフリーフォーマットに変換したり、大規模なプログラムをより小さなモジュールに分割したり、古いデータベース定義をSQLに置き換えたりすることが含まれます。IBMのAIコーディングエージェントIBM Bobは、このタスクを支援するために、IBM i固有の知識を用いて機能を拡張することができます。
この取り組みが急務となった最も差し迫った理由は、技術的なものではなく人的なものです。これらのシステムを構築したプログラマーが退職しつつあり、大学でRPGが教えられることもほとんどないため、後継となるコーダーの供給が減少しています。「RPGプログラミングは失われつつあるスキルであり、2025年までに平均的なRPGプログラマーの年齢は70歳になるだろう」とASNAという情報源は伝えています。Fortraの2026年版『IBM iマーケットプレイス調査』によると、IBM iスキルの不足が、9年ぶりにサイバーセキュリティを抜き、業界の最大の懸念事項となり、回答者320人の大半がこれを指摘しています。
IBM Institute for Business Valueが2023年に実施した、業界全体にわたるアプリケーションのモダナイゼーションに関する調査によると、経営幹部の83%がアプリケーションとデータのモダナイゼーションを戦略の中心に据えている一方、必要なシステムの多くを実際にモダナイズしたと答えたのは27%にとどまりました。多くの企業にとって、これらのアプリケーションの将来性を確保することは、デジタル・トランスフォーメーションの中心部分となっています。
RPGの近代化を行う小規模な産業が存在しています。例えば、Fresche Solutionsは、古いプログラムの相互関係を可視化し、そこに埋もれたビジネスルールを抽出するツール、X-Analysisを開発しています。Profound Logicは、RPGのWeb化とNode.jsへの自動コード変換に注力している一方、2019年にIderaに買収されたLANSA(IT Jungleによる)は、RPGと共存する新しいアプリケーションを構築するためのローコードツールを提供しています。IBMはまた、人気のあるオープンソース拡張機能「 Code for IBM i」を含む独自の開発者向けツールも提供しており、広く使われているVS Codeエディタを拡張を通じてRPGワークベンチに変えています。
コーディング全般と同様に、AI搭載ツールもますます重要な役割を果たしています。2024年初頭の時点でも、AIモデルはRPGの理解に苦労していました。これは、IT Jungleが説明しているように、より一般的なCOBOLとは異なり、この独自言語がAIモデルのトレーニング・データにほとんど含まれていなかったためです。しかし、2025年後半までに状況は変わりました。IBMは、Project Bobによってこの状況の変化に対応しました。当初はwatsonx Code Assistant for iとして導入され、その後、本格的なエージェント型コーディング・プラットフォームとして作り直されました。Bobは、変換されたコードの自動テストを含め、RPGやその他の言語を説明、変換、テストできます。IBMの従業員8万人がBobを使用しており、調査対象となったユーザーは、Bobによって生産性が45%向上したと報告しています。
IBM Bobによりチームの迅速なイノベーション創出を支援し、AI支援によるアプリケーション・モダナイゼーション、迅速な開発、およびソフトウェア・デリバリーの効率化を可能にします。
生成AIの活用によってアプリケーション・モダナイゼーションを効率化し、開発チームによる変革の加速、生産性の向上、および複雑さの低減を支援します。
インテリジェントなAIモダナイゼーションにより、レガシー・システムを再構築します。