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