RPG技術者不足を乗り越える - FF RPGでIBM i を次世代へ(第 1 章) -
第1章:FF RPG への移行を検討するべき3つのポイント
この記事の狙い
IBM i 上の新規アプリケーションの90%近くはRPG言語で記述される、という統計データ(2024 IBM i Marketplace Survey Results -英語-)があります。圧倒的な支持を集めている一方で、そのやや独特な構造・構文のために、アプリケーション開発・保守要員確保がままならない、という問題意識はIBM i に関わるIT部門共通のものだと言えるでしょう。このことは少なからぬお客様に、「脱RPG」「脱IBM i 」検討を促す最大の要因の一つとなっているのが現実です。
一方でこれに逆行する動きも次第に大きくなりつつあります。IBM i とRPGありきという現実を一旦脇に置いて、自社ビジネスにとって最適なプラットフォームを検討し直した結果、やはり旧来システムの継続利用が最善である、という結論に辿り着いているのです。当記事の狙いは、IBM i の共通のお悩みを抱えていらっしゃるお客様に向けて、事例を参考にしながら課題解決への道筋を提示し、明日から着実な歩みを進められるようなヒントを提供することにあります。
2024年11月6日(水)に東京丸の内にて、株式会社イグアス主催のイベント「iEVO 2024」が開催されました。数多くのお客様が来場された中、ベル・データ株式会社、三和コムテック株式会社、株式会社福岡情報ビジネスセンター(以下FBI社)の三社共同によるセッション「RPG だけど RPG じゃない ~ 採用事例が拡がる FF RPG」は、まさにIBM i の課題を共有するお客様に向けたものでした。(資料と記録動画が残されていますので、参照いただければと思います。)
この記事は上記セッションの流れに沿って、RPGプログラム保守を委託していた先の会社が事業から撤退してしまう事態に陥りながらも、冷静に危機を脱した事例を紹介するものです。製品にまつわる状況を確認した後に、「ARCAD Transformer RPG」の販売と支援を行っている三和コムテックに続きを託し、プロジェクトで実際に使用されたツールの紹介と優位性・有効性を語っていただきます。さらにその続きをFBI社に託し、プロジェクトの概要を語っていだだき、最後に当サイトに戻ってきて全体をとりまとめる、という具合に進めてまいります。
RPG技術者を確保するには
人材募集広告を出しても応募が無い、応募があってもベテランばかりで現行システムの将来を託すには不安が残る。RPG技術者を確保しようとして、思うようにはいかなかったお客様の嘆きです。いずれ基幹業務を担うシステムの保守ができなくなってしまうリスクが顕在化しているのです。
ここでまず知っておきたいのは、1988年のAS/400発表以降のRPG言語には概ね三つの世代があって、その仕様には大きな違いがある、ということです。古い方から順に、AS/400登場と同時に登場したRPG/400(RPGⅢ)、1994年に登場した固定フォームのILE RPG(RPGⅣ初期版)、そして2013年のILE RPGの機能強化版であるフリーフォームRPG(FF RPG)です。それぞれの違いについては「IBM i と言えばRPG」に詳しいので参照いただければ幸いです。そしてこれまでに人材募集の対象になっていたのは、多くの場合RPGⅢ経験者であり、一方で人材不足問題の解決に取り組むお客様が活用しているのはFF RPGです。流行のPythonやJavaなどといったオープン系言語経験者にとっての親和性の高さがその特徴です。FF RPGプログラムの開発・保守を担うためであれば、RPG経験を問う必要はない、オープン系言語経験者でも募集対象になり得る、ということです。
オープン系言語には共通の「型」があり、FF RPGもその型に沿った言語仕様を備えています。例えば桁位置は固定されていないのでプログラムの可読性を高めるための桁ずらし(インデント)や、関数を多用したモジュール構造化ができる、他言語の知識があればキーワードの意味を容易に想像できる、などといった点が挙げられます。いくつかの事例を眺めてみると、オープン系言語経験者がFF RPGを学ぶ際の違和感は無く、プログラマとして独り立ちするまでの期間は概ね数カ月以内に収まっています。私が把握しているだけでも、Java経験者で数週間、CまたはJava経験者で1.5カ月、PythonやC#経験者で2カ月、C・Java・JavaScript経験者で3カ月、といった事例があります。興味深いと思ったのは二番目のケースのお客様で、PythonやC#経験者がFF RPG習得に要した期間は、RPGⅣ初期版経験者が要したよりも短かったという点です。
IBMや販売店のプロモーションの甲斐あって、FF RPGの存在を全くご存知無い方はほぼいらっしゃらないように思います。もちろん例外もありますが、RPGⅢ経験者から見るとFF RPGには違和感を覚える、といったコメントを聞くことがあります。かつて慣れ親しんだ言語を基準として新テクノロジーを評価しようとするからでしょうか。できなくなったことや、機能上の違いに目が行くのは致し方無いとしても、必要なのは総合的な判断なのだと思います。
既存RPGⅢプログラムを活用したDX推進は可能なのか
一方で、既存RPGプログラムの多くはRPGⅢで記述されている、という事実にも目を向けなければなりません。例えばごく近い将来のうちにDX推進を図ろうとする時、RPGⅢプログラムを前提とする基幹業務サーバーと、外部のクラウド・サービスとを直接連携させるにはどうすれば良いのか、という課題が生じます。インターネット越しのアプリケーション間連携を実現するために、業界標準テクノロジーであるREST APIの活用が必要になります。
RPGⅣ初期版またはFF RPGはREST APIをサポートしますが、RPGⅢは直接サポートしません。だからと言って既存のRPGⅢプログラムをより新しいRPGに変換するには、時間と手間を要しますので、おいそれと取り組めるものではありません。RPGⅣ初期版またはFF RPGで中継用プログラムを作るのが、現実的・短期的なソリューションだと言えるでしょう。
ここで超えなければならないハードルが二つあります。一つは同じRPGでありながらも世代が違えば仕様が異なること、もう一つはREST APIの利用方法は旧来の基幹業務プログラムとは異質のものである、ということです。開発を全面的に他社に委ねる考え方もありますが、DXにおいてはアプリケーションの柔軟性を維持するために、一般的には外注よりも内製の方が望ましいとされています。そこでこれらの解決のための早道として用意されているのは、サンプル・プログラムの提供とその後の技術サポートです。
「脱RPG」ではなく「脱RPGⅢ」でFF RPGへ
短期的にRPGⅢを活かすにしても、人材確保の懸念が解消されるわけではないので、長期的視野に立てば遅かれ早かれ「脱RPGⅢ」を検討する必要が生じます。世の中には数多くのRPGⅢプログラムが存在するので、少なくとも現時点においてIBMが出荷やサポートを取り止める兆候はありません。脱RPGⅢのデッドラインは各社独自の環境を見据えて決定することができます。ただ冒頭で述べたように、RPGⅢプログラム保守を委託していた先の会社が事業から撤退してしまうとなると、悠長なことは言っていられません。
このお客様では他の選択肢と比較した結果、FF RPGへの移行を決定されました。念のためですが、「脱RPG」ではなく「脱RPGⅢ」を目指したということです。このあたりは時々混同されることがあるので、注意いただきたい点です。
なぜ移行先としてFF RPGを選択されたのでしょうか。オープン系言語と親和性が高く、技術者確保が容易になる点と、変換率100%ではないとは言え、移行ツールが用意されているため、作業負荷とコストを抑制できる点が最大の理由でした。これ以外に、FF RPGであってもアプリケーションの後方互換性(資産継承性)が維持されることも考慮されました。長期的視野に立つならば、ハードウェアやOSバージョンのアップグレードの際に、アプリケーションの全面的見直しを強いられるとしたら、お客様の負担は極めて大きなものになります。またセキュリティが強固であることなど、システムとしての安定性はオープン系の比ではありません。是非長期的視野に立って、サーバーを選定いただければと思います。
移行を効率良く進めるためには、専用のツールを用います。RPGⅢからILE RPG初期版へは、OS標準のCLコマンド「CVTRPGSRC」(Convert RPG Source)を利用します。さらにILE RPG初期版からFF RPGへは、「ARCAD Transformer RPG」を用います。このツールの効果と優位性については、三和コムテックによる次章に委ねたいと思います。
つづく
【 続きは 】
三和コムテック株式会社「第2章:RPGソースをFF RPGに変換するツールARCAD Transformer RPGのご紹介」に続く