NEWS
【激論】RPGは残す?残さない? 【激論】RPGは残す?残さない?
2018.01.17

【激論!】RPGは残す?残さない?~第1回 株式会社アイエステクノポート

【激論!】RPGは残す?残さない?~第1回 株式会社アイエステクノポート

RPGの進化を知らずにいるのは多大な損失。ほとんどの基幹系アプリケーションはちょっとした工夫で刷新できる

【激論!】RPGは残す?残さない?の第1回の登場は、IBM i向けパッケージやツールなどのソフトウェア製品、受託アプリケーションの開発・販売を主事業とするアイエステクノポートだ。RPGに精通した多数のエンジニアを擁する同社は、「単に5250エミュレータ画面が『古くさい』という理由だけでRPGに見切りをつけ、Webアプリケーションやクライアント/サーバーへの移行を考えているのなら、その前にしっかり検討すべきことがある」と主張する。実際にIBM iおよび5250エミュレータの標準機能のみを利用し、GUIにも劣らない操作性と表示を備えた業務システムを構築した同社の事例を参考に、今後もRPGを使い続ける意義とメリットを探る。 <お話を伺った人> 株式会社アイエステクノポート 代表取締役社長 金澤 廣志 氏 ソリューション開発部 スーパーバイザー 矢作 英幸 氏

RPGは時代遅れという大きな誤解。標準機能だけでウインドウ表示やマウス操作も簡単に実現できる

安易にRPGに見切りをつけるのは短絡的

IBM iの主力プログラム言語として使われてきたRPGだが、もはや時代遅れと言わざるを得ないのだろうか―。 この問いかけに対して、「IBM i オペレーティング・システムと5250エミュレータが標準で提供する機能を十分に理解せず安易にRPGに見切りをつけ、GUI化やWeb化を検討するのは、あまりにも短絡的と言わざるを得ません。同じ機能しかもたないアプリケーションを、わざわざ別のプログラム言語で作り直すのはコストの無駄です」と主張するのは、アイエステクノポートの代表取締役社長である金澤廣志氏だ。 IBM iのミドルウェア専門メーカーであるアイエステクノポートの社名と卓越した技術力を広く知らしめるきっかけとなったのは、プリンティングソリューションの「UT/400ファミリー」である。OSやスプールファイル、PDFなどに関する技術とノウハウを結集した同ファミリーは、IBM iの印刷環境に変革を起こしたとも評価されている。 さらにアイエステクノポートは、IBM iのアプリケーション開発を支えるさまざまなツールでも実力を発揮してきた。たとえば「SS/TOOL-ADV」というツールは、非常にシンプルな操作でアプリケーションの構成情報の可視化、プログラムやデータベースの解析を可能とした。また、「S/D Manager Project管理」はシステム開発から本番移行までの運用管理を実行し、内部統制のニーズにも応える。 特筆すべきは、これらの製品のすべてをIBM iのみで完結し、開発していることだ。このように徹底してIBM iを使いこんできた金澤氏だからこそ、先のような「安易にRPGに見切りをつけるのは短絡的」という言葉にも説得力があり、耳を傾ける価値がある。

5250エミュレータの設定を少し変更するだけで、さまざまなGUIパーツを使用できる

なぜRPGは時代遅れのプログラム言語であるという“誤解”を受けてしまうのだろうか。最大の原因として金澤氏が挙げるのが5250エミュレータで、単なる出荷時設定に過ぎない「黒バックにグリーンの文字、80桁×24行の画面サイズをRPG自体の“限界”と認識していることが、誤解の元なのです」と指摘する。 たしかに80桁×24行の画面サイズでは表示できる情報量があまりにも少なく、マウスさえも使えないとなれば、Windowsはもとより昨今のスマートフォンやタブレットの洗練されたGUIに慣れ親しんでいる若手にとって、窮屈で古臭く見えてしまうのは仕方のないところだろう。だが、繰り返すがこれは認識不足なのだ。 「5250エミュレータの設定をほんの少し変更するだけで、さまざまなGUIパーツを使用できるのです。たとえばマウスも利用できますし、ウインドウやラジオボタン、スクロールバーといった機能も組み込むことができます。そして画面サイズも拡大(132桁×27行)することが可能です。もちろん追加のソフトウェアを購入したり、GUI用ライブラリを開発したりといった特別な作り込みを行う必要はまったくありません」と金澤氏は説く。「各種GUIパーツは20年以上前からDDSの標準機能としてサポートされており、SAA RPG(RPG/400)やCOBOLからも利用可能です。」 では画面の“見た目”はどうだろうか。黒バックの“エミュレータ感”を色濃く残したままでは、ユーザーの意識を変えることは難しい。 実はこれにも打つべき手がある。クライアント側で5250エミュレータの機能を最大限活用すればよい。もちろん既存のAccess for Windowsでも良いが、この機会に後継ソフトウェアであるACS(IBM i Access Client Solutions)を検討してはいかがだろう。ACSはWindows 10をはじめLinuxやMacなど、主要なOS上で稼働するJavaベースの製品であるため、各ユーザーにモジュールをインストールさせるといった手間を強いることもない。ファイルを配布するだけでIBM iへのアクセスならびに5250エミュレータの利用が可能となる。 これによりどんな変化が起こるのか。「エミュレータ画面の背景に任意のイメージ画像を設定することができます。マウスホイールも利用できますし、ホットスポットによるPCとの連携も強化されています。」と金澤氏は語る。単純なことだが、たったこれだけの工夫でもエミュレータ画面に対する印象は劇的に変わるのである。

論より証拠!アイエステクノポートの社内業務アプリケーション画面の操作性向上例

5250エミュレータの制約の多い画面表示やキーボード中心の操作性を改良したい

実際にアイエステクノポートでは、RPGを使ってGUIと同等の操作性を体現した社内システムを運用している。長年にわたりIBM i上で運用してきた独自開発の販売管理システムにCRMや保守管理情報、製品に関するFAQなどの機能を追加するにあたり、「5250エミュレータの制約の多い画面表示やキーボード中心の操作性を改良したい」という声が多くのユーザーから寄せられた。この要望に応えるべくアイエステクノポートは、1章で述べたようなRPGの標準機能を最大限に活用するという方法をとったのである。 実のところアイエステクノポートでも、Web化やクライアント/サーバー化をまったく検討しなかったわけではない。社内にはRPGだけでなくJavaやC++などのプログラム言語を使いこなすスキルをもったエンジニアも多数在籍しているため、仮にその方向で決断したとしても何のハードルもなく開発をこなすことができただろう。 だがアイエステクノポートはそうしなかった。RPG+5250エミュレータをベースとしたアプリケーションをWeb型やクライアント/サーバー型に作り直した場合、必然的にクライアントOSへの依存度が大きくなるからだ。例えばWindows 10は年に2回メジャーアップデートが行われており、そのたびにプログラムの検証や修正が必要となる。 金澤氏は「弊社のエンジニアにとって本来の仕事は製品開発やお客様向けシステムの開発であり、その貴重なリソースを社内システムの開発やメンテナンスのために、たびたび投入することはできません」という経営判断を示す。

アイエステクノポートが具現化した社内アプリケーションのGUI化と操作性向上

アイエステクノポートの新しい販売管理システムは約半年をかけて開発され、2015年2月より本番稼働を開始した。開発を担当したのは3人のエンジニアで、本来の仕事である製品開発や顧客サポートの合間を縫って交代で作業を進めたという。 操作環境の向上だけでなく、先に述べたようなCRMや保守管理情報、FAQなどの機能追加を行ったにもかわらず、これだけの短期間かつ省工数で開発を成し遂げることができたのも、IBM iならびに5250エミュレーターの拡張機能を上手く活用した成果と言えそうだ。 以下はアイエステクノポートの社内システムをベースにしたデモの画面である。同社 ソリューション開発部 スーパーバイザーの矢作英幸氏に、そのポイントを解説してもらった。
  • メイン画面(ビフォー/アフター)

<画面1>旧画面のイメージ

<画面2>新メイン画面

新旧のメイン画面を並べてみると、変化は一目瞭然だ。新メイン画面は132桁×27行に拡大され、従来よりも多くのメニューを表示できるようになった。しかもその選択はカーソルキーやファンクションキーなどではなく、すべてマウスのクリックで行うことができる。 背景にイメージを置き、文字色を変えたことで見栄えも大きく変わった。ちなみに背景イメージについては透過設定を行うことも可能だ。  
  • 高度なマウス操作

<画面3>

大量のデータを一覧表示する際など、スクロールバーを設定し、マウスホイールでロールアップ&ダウンの操作を行うことができる。そのほかにも次のようなマウス操作を設定することができる。 ■プッシュボタン(マウスクリックで機能実行) ■ラジオボタン、チェックボックス、メニューバーの設定および選択 ■プルダウンメニュー(マウスの右ボタンでサブメニューのウインドウを呼び出す) ■ホットスポット(ファンクションキーを表示し、マウスクリックで機能実行)
  • ブラウザやメーラー、PDFとの連携

<画面4>

画面内のURLをクリックすることでダイレクトにブラウザを起動できる。同様にメールアドレスをクリックすればメーラーが起動する。さらにPDF作成ボタンのクリックにより、PDF形式のレポートをIBM i 上で作成し、クライアント側に自動転送して表示することも可能だ。
  • BIダッシュボードのような応用

<画面5>

RPGおよびACSの標準機能のみを使用し、あたかもBIダッシュボードのような画面を作り込んだ。簡易的な全国マップ画面から都道府県マップへと地域を絞り込み、さらに明細データにドリルダウンできる。

<画面6>

同様に各年度の受注実績のグラフから、月別の実績へドリルダウンすることもできる。

最小コストでモダナイゼーションを実現。RPGを長く使って“得する”ための勘所

システムのモダナイゼーションはILE RPGの利用が前提となる

いかがだろうか。IBM iとACSの標準機能を利用するだけで、5250エミュレータ画面の操作性や表示に関する画期的な改善を図ることができる。ただし、さらに踏み込んで既存システムのモダナイゼーション(近代化)を実現するためには、満たしておかなければならない条件もある。それはRPGのバージョンに関するもので、RPG IV 言語のインプリメンテーションである「ILE RPG」を利用することが前提となる。 ILEとは「Integrated Language Environment(統合化開発環境)」の略で、IBM i上の複数のモジュールを組み合わせてプログラムを作り上げられるというものである。すでに運用を通じて品質が実証されているモジュールがあれば、それらを再利用して組み合わせることで短期間のうちに品質の優れたアプリケーションを実現できるのだ。「さらにILE RPGはフリーフォーマットやサブプロシージャーを採用しており、これまでJavaやC++でプログラミングを行ってきたエンジニアも違和感なく覚えることができます」と金澤氏は補足する。 加えてILE RPGでは、豊富に用意された組み込み関数を利用できるのも大きな魅力だ。組み込み関数は一般的な命令コードと異なり、結果のフィールドに値を入れるのではなく直接値を戻してくるのが特徴だ。さまざまな式の中に組み込んで利用できるほか、引数として変数や定数、式、プロトタイプ、プロシージャー、あるいは他の組み込み関数を設定するなど非常に柔軟な使い方が可能なのだ。 上記のようなILE RPGのメリットによりアプリケーションの開発生産性が大幅に向上する。「私たちも以前はSAA RPG(RPG/400)でシステムを開発していましたが、ILE RPGに移行したおかげでソースコード量は2/3以下に削減されました」と金澤氏は強調する。 なお、いま現在も旧バージョンのRPG Ⅲを利用しているという場合も心配はない。既存のソフトウェア資産を簡単にILE RPGに移行することが可能だ。IBM iオペレーティング・システムに用意されている標準コマンド「CVTRPGSRC」を実行するだけで、旧来のRPGソースコードの部分をRPG III または RPG/400 ソース・コードに変換することができる。

可能な限りRPGを活用することがシステムの新たな価値創造にもつながる

IBM iを基盤にILE RPGとACSを組み合わせれば、一般的な基幹システムのほとんどは問題なく開発することができるだろう。定型項目の数値を大量に扱う基幹システムでは、むしろILE RPGとACSによって実現されるシンプルな画面のほうが快適に操作でき、ユーザーの生産性を高めることができる。繰り返すがそこに別途ソフトウェアを購入・インストールしたり、特別なプログラミング・テクニックを駆使する必要はない。エミュレーターの設定を変更し、5250画面でGUI部品を利用するように小規模な変更を加えるだけの誰でも実践できるレベルだ。 「単に5250エミュレータの画面が『古くさい』という理由だけでオープン系サーバーへの移行を考えているのなら、その前にもっと少ないコストで対応できる方法がないかどうかをしっかり検討すべきです。そしてIBM iは決してレガシーなシステムではなく、新しい時代のニーズに対応するための多彩な機能が現在も拡充されていることを、ぜひ知っていただきたいと思います」と金澤氏は語る。 もっとも5250エミュレータの画面はあくまでもキャラクタベースであるため、どうしても実現できることに限界があるのは事実だ。たとえば3Dグラフィックスを駆使してビジュアライゼーションを行う本格的なBIツールや、モデリングツールなどアナリティクス系アプリケーションの要求まで満たせるわけではない。逆にいえば、そうした専門特化された情報系システムにのみ的を絞ってオープン系サーバーによるGUI化を検討することで、ITシステムのモダナイゼーションに費やす時間やコストを最適化できる。 「また、クライアント側をGUIベースのアプリケーションに移行した場合も、バックエンドのデータ処理は引き続きILE RPGを活用することができます。ILE RPGはIBM i標準のデータベース(DB2 for i)に最適化されており、非常に取り回しが良いのです。慣れ親しんだRPGのスキルとノウハウを活かすことで、新しいシステムの開発生産性や保守性を高めることができます」と金澤氏は訴求する。 このようにアイエステクノポートのメッセージは一貫して明確だ。安易にRPGを捨て去ることはリターンの少ない無意味なコスト増を招く恐れがある。システムが対象とする業務要件やユーザーのニーズを考慮し、可能な限りRPGを活用することがコストや工数を抑えつつ、システムの新たな価値を生み出していくことにもつながるのだ。 <Company Information> 株式会社 アイエステクノポート 本社:〒105-0012 東京都港区芝大門1-3-4 ラウンドクロス芝大門 8階 設立:1990年7月17日 事業内容:IBM i 搭載Power Systems(System i,i5,iSeries,AS/400)向けパッケージ・ツールの開発・販売、IBM製品の販売、アプリケーションソフトの開発・販売、情報システムのコンサルティング、情報システム運用・保守、インターネット/イントラネット構築 URL:www.istechnoport.co.jp
いいねと思ったらシェア
twitter
facebook
hatena
【激論】RPGは残す?残さない? 目次を見る

この連載は…

【激論】RPGは残す?残さない?
関連記事
【激論!】RPGは残す?残さない?~第2回JBCC株式会社
【激論!】RPGは残す?残さない?~第2回JBCC株式会社
【激論!】RPGは残す?残さない? をうけて(3)
【激論!】RPGは残す?残さない? をうけて(3)
【激論!】RPGは残す?残さない? をうけて(1)
【激論!】RPGは残す?残さない? をうけて(1)
あなたにオススメの連載
できるIBM i 温故知新編
9記事
できるIBM i 温故知新編
IBM i の”新”必須言語 〜FFRPG入門〜
14記事
IBM i の”新”必須言語 〜FFRPG入門〜
IBM i アプリの第二の柱 OSS
15記事
IBM i アプリの第二の柱 OSS
PAGE TOP