RPGのモダナイゼーションとは?

By David Zax

RPGのモダナイゼーションの定義

RPGのモダナイゼーションとは、IBMのミッドレンジ・コンピューターで稼働する、RPG(「レポート・プログラム・ジェネレーター」の略)という言語で書かれた老朽化したビジネス・ソフトウェアを更新し、最新のシステムに接続できるようにするとともに、減少し続けるプログラマー人材に左右されずに使い続けられるようにする作業です。元のコードを廃棄して最初から作り直すことはありません。

これらのアプリケーションは、元々AS/400プラットフォーム上で稼働していたOS/400オペレーティング・システムの後継であるIBM i上で動作します。

RPGをモダナイズするには、ユーザー・インターフェースの更新、コードのクリーンアップ、新しい言語への翻訳、APIを介した他のソフトウェアへの接続、クラウドへの移動などが含まれます。どのようなアプローチであっても、最終的な目標は、現在も機能しているソフトウェアを維持しながら最新の状態にすることです。これは、より広い意味でアプリケーションのモダナイゼーションレガシー・コードの移行に当たる作業です。

RPGとは

RPGは、現在でも商用で毎日使用されている最も古いプログラミング言語の1つです。IBMは1959年にIBM 1401コンピューター向けにこの言語を開発し、パンチカード処理に代わってビジネス・レポートを生成するために使用しました。著者ニック・リッテンが「A Brief History of the IBM RPG Programming Language」で述べているように、これがRPGという名前の由来です。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」とは具体的にどのようなものなのでしょうか?RPGアプリケーションのモダナイズは、多くの場合、より広い概念であるIBM iモダナイゼーションの一環として扱われ、表面的なものから大幅なものまでさまざまです。

外観面では、ユーザー・インターフェースのモダナイゼーションが行われます。これは、従来のIBM iアプリケーションで使われている黒い背景に緑色の文字を表示するターミナル・ディスプレイである、テキストのみの「グリーン・スクリーン」を、基盤となるロジックをそのまま維持したままWebまたはモバイル・インターフェースに置き換えるものです。多くの場合、これは最も迅速で、最も目に見える改善です。同様のアプローチでは、RPGをそのまま維持し、ビジネス・ロジックをWebサービス、つまり最新のアプリケーションから古いコードの機能やデータを呼び出せるAPIとして公開します。

より深いアプローチはコード・リファクタリングです。Littenによると、コードが行う処理を変更せずにその構造を改善するもので、固定形式のRPGを自由形式に変換したり、大規模なプログラムを小さなモジュールに分割したり、古いデータベース定義をSQLに置き換えたりします。IBMのAIコーディング・エージェントIBM Bobは、IBM i固有の知識を追加して、この作業を支援できるように拡張できます。

なぜ今なのか:スキルの崖

この作業が急務となっている最大の理由は、技術的なものではなく人的なものです。これらのシステムを構築したプログラマーは退職しており、大学でRPGについて教えられることはほとんどないため、後任のコーダーの供給は減少しています。ASNAのある資料によると、「RPGプログラミングは消滅しつつあるスキルであり、2025年までにRPGプログラマーの平均年齢は70歳になるだろう」とされています。Fortraの2026年IBM iマーケットプレイス調査では、320人の回答者の大半がIBM iスキル不足を挙げており、これが9年ぶりにサイバーセキュリティーに代わって業界の最重要課題となりました。

IBM Institute for Business Value2023年に実施した、業界全体にわたるアプリケーションのモダナイゼーションに関する調査によると、経営幹部の83%がアプリケーションとデータのモダナイゼーションを戦略の中心に据えている一方、必要なシステムの多くを実際にモダナイズしたと答えたのは27%にとどまりました。多くの企業にとって、これらのアプリケーションの将来性を確保することは、デジタル・トランスフォーメーションの中心部分となっています。

AI Academy

アプリケーションのモダナイゼーションにAIを活用

生成AIが生産性の向上、コンプライアンス・リスクの軽減、更新の合理化によって、アプリケーションのモダナイゼーションの取り組みをどのように変革できるかをご覧ください。

AIツールはRPGのモダナイゼーションに役立つのか?

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%向上したと報告しています。

執筆者

David Zax

Staff Writer

IBM Think

関連ソリューション
AIコーディング・エージェント

IBM Bobによりチームの迅速なイノベーション創出を支援し、AI支援によるアプリケーション・モダナイゼーション、迅速な開発、およびソフトウェア・デリバリーの効率化を可能にします。

AIコーディング・エージェントの詳細はこちら
メインフレーム・アプリケーション・モダナイゼーション・ソリューション

生成AIの活用によってアプリケーション・モダナイゼーションを効率化し、開発チームによる変革の加速、生産性の向上、および複雑さの低減を支援します。

メインフレーム・アプリケーション・モダナイゼーション・ソリューションの詳細はこちら
アプリケーション・モダナイゼーション・サービス

インテリジェントなAIモダナイゼーションにより、レガシー・システムを再構築します。

アプリケーション・モダナイゼーション・サービスの詳細はこちら
次のステップ

生成AIと高度な自動化を活用して、企業向けのコードをより迅速に作成Bobモデルは開発者のスキルセットを強化し、開発とモダナイゼーションの取り組みを簡素化、自動化します。

  1. IBM Bobの詳細
  2. メインフレーム・アプリケーション・モダナイゼーション・ソリューションの詳細はこちら