タブの始まり
項目をクリックすると、該当箇所にリンクされます。
RPG Open Access とは
2010年、Rational® Open Access RPG Edition (以下RPG Open Access) が発表されました。RPG Open Access はRPGプログラミングだけでWebアプリケーションを作成することができます。RPG Open Access のアプリケーションはブラウザーのほかiPad/iPhoneのようなモバイル端末からも利用可能なアプリケーションとしても利用可能です。
RPG Open Access の特徴
【図1 Rational Open Access:RPG Edition】

- プログラムはILE RPGで作成する必要がありますが、従来のRPGⅢレベルのプログラムコーディングの知識でWebアプリケーションを作成することができます。
- ブラウザーをはじめ現代的なデバイスを利用可能なアプリケーションをRPGプログラムからアクセスすることが可能となります。
- RPG Open Accessはブラウザー以外にもiPadやiPhoneのような最新のデバイスにも対応しています。
- 使用するWeb画面は通常のHTMLなどを利用するので、Ajaxはじめ市場で流通しているAPIを組み込んで使用することができます。
RPG Open Access の前提条件
実行環境
- IBM i 6.1以降
- 5733-OAR Rational Open Access RPG Edtion ライセンス
またRPG Open Accessを使用してハンドラー(後述)を開発する必要があります。ハンドラーは自社開発も可能ですがIBM製やサードベンダー製のハンドラーを購入して利用することも可能です。既製ハンドラーの例としてIBM製のFFMハンドラー(PCブラウザー、iPad/iPhone対応)があります。
開発環境
以下のいずれかの開発ツール
- Rational Developer for Power for i (RDPower for i)
- Rational Developer for i SOA Construction (RDi SOA)
- Rational Application Developer (RAD)
RPG Open Access の開発手順
【図2 Rationalオープン・アクセス:RPGエディション】

RPG Open Access の大まかな開発手順の例をあげると以下のようになります。
1. ユーザー・インターフェース(UI)対象デバイスの決定
ユーザーが使用するデバイスを決定します。たとえばPCのブラウザーやモバイル端末のブラウザーなどがあげられます。
2. ハンドラーの準備
UIに合わせたハンドラーを用意します。ハンドラーは自社開発、またはベンダー製のハンドラーを購入することで用意します。
3. ハンドラー・オブジェクトの作成または定義
個々のILE RPGプログラムが使用するハンドラーを作成する。ハンドラーの作成方法はハンドラーや提供ベンダーにより異なりますが、FFMハンドラーの場合はライブラリーQZRDOARPGのプログラムQZRDOASRVをILE RPGアプリケ―ション・プログラムのD仕様書、F仕様書にハンドラーとして指定します。(下記)
【図3 Open Accessのコーディング例】

4. ILE RPGによるプログラム開発
前述の開発ツールを導入したPCから、RPG Open Access ライセンスを導入したIBM i サーバーに接続してRPGによりプログラム開発を行います。
FFMハンドラーをはじめ、ブラウザー用のハンドラーの場合、従来の5250ディスプレイファイルと同じWORKSTATIONタイプのファイルとして入出力命令をコーディングします。上記の例のように基本的には5250アプリケーションと同じロジック・フローを作成し、一部ブラウザー用に入出力命令を修正する、というイメージになります。
5. クライアント側UIモジュールの作成
最後に作成するのが、UIとなるHTML画面やHTML画面とILE RPGアプリケーションを連携させるモジュールの作成です。FFMハンドラーの場合はGENCLSOAコマンドを実行することでクライアント側(FFMハンドラーではJava)のアプリケーションコードを生成します。GENCLSOAコマンドは5250アプリケーションのDSPF定義に相当する定義をICFFとして定義したソースファイルから読み込み,Javaのクライアントコードを生成します。JavaのクライアントコードはPOJO(Plain Old Java Object)で表され、setter、getterメソッドによりここのフィールドへのアクセスが可能となります。
【図4 GENCLSOAコマンド 入力用のICFFファイル】

【図5 GENCLSOAコマンド 出力のJavaソースコード】

6. クライアント用UI画面の作成
5.で作成したクライアント・アプリケーションコードが利用するHTMLなどの画面を作成します。画面はJSFやStrutsなどの標準的なフレームワークを利用することも可能です。また今回はご紹介していませんがEGLというRDi SOA, RADに含まれるツールを利用するとより簡単な手順で容易にクライアント用コード、UI画面を生成することが可能です。
以上でRPG Open Accessのアプリケーション開発は完了です。
RPG Open Access のサンプル画面
RPG Open AccessのUI画面は通常のHTML等で生成しますので、例えばJava, や他の言語で作成したのと同様にAjaxはじめさまざまなWebアプリケーションとしての機能を実装できます。
以下はiPadを利用したアプリケーション画面の例です。


IBM、IBMロゴ、ibm.com、Rationalは、世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、www.ibm.com/legal/copytrade.shtml(US)をご覧ください。
JavaおよびすべてのJava関連の商標およびロゴは Oracleやその関連会社の米国およびその他の国における商標または登録商標です。