text:高橋 昌宏 ソリューション・ラボ・横浜
FF RPGの採用理由①
技術者問題の解決
フリーフォームRPG(以下、FF RPG)に興味をもつユーザーが増えている。RPG Ⅲの世界にはなかった華やかさがあるせいだろう。
RPG Ⅲは30年以上の歴史があるため、どこか古めかしく、時代遅れだと感じる点は否定できない。5250画面での開発、Z-ADD、MOVELなどの独自命令、固定フォーマットなどがそう感じさせるのだろう。
だからRational Developer for i(以下、RDi)を使用してソースコードを書き、言語スタイルもC言語を彷彿とさせるFF RPGであれば、一気にオープン系の世界に仲間入りした気分になる。
しかし、それだけの理由でFF RPGを採用するのは考えものだ。FF RPGにしたからと言って、プログラム言語としての性能が激変するわけではない。
言語としての性能向上を期待するのであれば、ILE RPG(RPG Ⅳ)で構わない。簡単に言えば、ILE RPGのフォーマットスタイルをC言語に近いフォーマットへ変更したのがFF RPGである。
では、FF RPG採用のメリットは何か。その1つは技術者問題の解決である(図表1)。
昨今、RPG技術者の高齢化をはじめ、RPG技術者の不足がユーザー、開発ベンダーともに共通の問題・課題となっている。
技術者を増やせば問題解決するのでは、と思うかもしれない。確かに30年前であれば、COBOL言語が主流で、新しく習得する言語としてRPGを選択することに何の弊害もなかった。しかし現在は多種多様な言語が生まれ、技術者の大半がオープン系言語を使用する。
技術者は1つの言語だけでなく、複数の言語を習得するのが当たり前であり、それが評価にもつながる。たとえばPHPを習得すれば、JavaやVB.Netといった言語の習得はそこまで難易度は高くない。
しかしRPG ⅢやILE RPGを習得してからのPHP、逆にPHPを習得してからのRPG ⅢやILE RPGの習得は難易度が一気に上がる。IDE(統合開発環境)と言語フォーマットがあまりにも違うからだ。
こうした状況から、RPG技術者とオープン系技術者の共存は難しい面がある。とくに開発ベンダーの場合、新人にRPGを習得させるには、モチベーションを維持する工夫が必要となる。5250画面での開発と固定フォーマット、そしてREADやCHAINなどSQLを使用しない開発は、技術者としての将来性に不安を抱かせる。そこには、この言語の流用性の低さや作成する画面のデザイン性、開発環境が横たわる。
とくに同期の技術者がオープン系のWeb開発に従事していた場合は、一見華やかに見えるため、ことさらに不安感が煽られる。
こうした背景が、若手RPG技術者減少の要因となっている。しかしFF RPGであれば、RDiはオープン系でお馴染みのEclipseとベースが同じであり、言語フォーマットもオープン系と同一であり、上記のような不安材料が解消できる。FF RPGでもREADやCHAINは使用可能だが、SQLの利用も重要となる。
ただし、作成する画面だけは5250画面となる点は残念である。5250以外の画面に正式に対応できれば、もっと可能性は広がるだろう。もちろんレスポンスのよさなど5250画面にもメリットは多いが、5250画面一択である点が悩みである。
また、同じようにオープン系の技術者をIBM iの開発要員に流用することも同様の理由で、RPG Ⅲでは不可能だったが、FF RPGでは可能である。
オープン系技術者の参入が可能となれば、一気に技術者の数は増え、技術者不足の問題解決につながる。
こういった点から、FF RPG採用は技術者不足の解消に大きな効果が期待できる。若手の参入、オープン系技術者の流用を検討する状況が、FF RPG採用の大きな基準の1つとなるであろう。
FF RPGの採用理由②
ソース管理の向上
FF RPG採用のもう1つのメリットは、開発ソース管理を大きく変革できる点である。
PDMを使用したソース管理では、修正時はソースメンバーをコピーして履歴管理を実行しているのが大半である。いつ、どのような修正を実施したかを把握するため、修正箇所を比較するなど、プログラム開発でのソース管理は大変重要である。
オープン系の世界では各種ソース管理ツールが登場しており、幅広く利用されている。IBM iのプログラムメンバーは、CRTSRCFで作成されたソースファイルにメンバーを追加してPDMで管理してきたが、現在ではIFS上のテキストファイルにコーディングすることも可能である。
こうすることで、Git等のバージョン管理システムが使用できるほか、エディタの選択肢も増えてくる。
固定フォーマットRPGでは、常にエディタにテンプレート行が表示されていないとコーディングが難しいが、フリーフォームであれば、そういった要件から解放され、各種テキストエディタでの開発が可能となる。
テキストエディタであれば、表示する文字数の拡大、検索・置き換え、コピーや貼り付け、テキスト比較など、開発作業の効率化が期待できる。もちろんRDiでも同様の効果はある。またソースファイルのやり取りも、SAV/RSTが不要となり、テキストファイルとして簡単にやり取りできる。
このように、固定フォーマットからの解放、つまりフリーフォームになると、開発環境を大きく変えられる(図表2)。
RPG Ⅲから離脱し
ILE RPG利用へ移行
ここまで読んで、FF RPGの採用にまだ戸惑いがあるのなら、FF RPGは採用しないとしてもILE RPGはぜひ利用してほしい。それは、RPG Ⅲは拡張が20年ほど前(1994年)に停止しており、言語として今後一切、機能拡張されないからだ。
一方、ILE RPGはOSのバージョンとともに拡張されている。IBM iの新しい機能は、ILE RPGを前提としている。RESTサービスを例にとっても、ILEプログラムまたはサービスプログラムのみで利用可能である(図表3)。
このほかにもXMLの対応やCSVファイルの作成など、RPG Ⅲで不可であった機能がILE RPGでは利用できる。
海外のIBM i関連サイトを回覧すれば、ILE RPGが前提(当たり前)で情報が記載されている。IBM i関連サイトも米国では日本に比べて活発であり、新しい技術を調べる過程で米国サイトにたどり着くこともしばしばある。そこでは、RPG Ⅲでの情報はほぼ皆無である。
日本ではRPG Ⅲがまだまだ健在だが、RPG Ⅲを使い続けている限り、IBM iの新機能の恩恵を受けられない。ゆえにIBM iはレガシーだと言われる。
しかしこれは使い手の問題であり、IBM iは使い手次第で最新のIT環境に対応できる優れたサーバーである。そのためにILE RPGやFF RPGが必要不可欠となる。
ぜひRPG Ⅲから離脱し、IBM iの備える機能を十二分に堪能してほしい(図表4)。
著者|高橋 昌宏氏
ソリューション・ラボ・横浜株式会社
ソリューション事業統括
西日本支店 支店長
福岡県生まれ 50歳。22年間、福岡のSIerでIBM i関連の仕事に従事。2020年に転職後も同様にIBM i関連の仕事を継続。長年、IBM iのテクノロジーに魅了され、技術者としてさまざまな取り組みを実施。近年はプロジェクトマネジメントに主軸に置きながら、Web対応をはじめとした新しいIBM i活用の取り組みを行っている。
特集 ILE & FF RPGのススメ
❶FF RPG採用のメリット|IBM i技術者問題を解決し、ソース管理を高度化する「ILE & FF RPGのススメ」 ~RPG Ⅲを脱却し、プログラム資産をより有効に活用
❷FF RPG導入の課題|FF RPGの技術者が乗り越えるべき課題
❸FF RPGの習得|ILE RPGの理解がFF RPGをより魅力的にする
❹FF RPGの導入と習得|RPG Ⅲ技術者とオープン系開発者 スキルに応じた習得ステップ
❺特別座談会|FF RPGをメインに据えたRPG研修サービスを展開
[i Magazine 2021 Autumn(2021年10月)掲載]