HTTPサーバーとWeb開発

29. ILE による開発手法

従来の OPM-RPG に対して V3 で IBM は ILE-RPG に代表される ILE を発表した。ILE は複数のオブジェクトを1つのオブジェクトにバインドしてオブジェクトの再利用が図れるためのシステム構造である。
特にWeb開発で CGI を開発しようと思えば QTCP/QTMHCGI をバインドしなければならないので ILE を使用することになる。

ILE 開発の基本は最終オブジェクトを1回のコンパイルなどで生成するのではなく、*MOD (モジュール)と呼ばれる中間オブジェクトを一旦生成して、これらをCRTPGM のときにバインドしてから最終的な実行形式のオブジェクトである *PGM を生成する。

RPG言語 CRTRPGMOD ・・・ CRTPGM
C言語 CRTCMOD ・・・ CRTPGM 

ILE を使って既に開発を行っている人であってもいくつか誤解があるようである。

*MOD は実行時には必要ない。

CRTRPGMOD では別のライブラリーに *MOD を入れて CRTPGM で初めて *PGM を本番のライブラリーに入れるようにすれば本番ライブラリーのサイズを小さくできる。

CRTPGM は *SRVPGM と *MOD をバインドするようにする。

CRTPGM ではなく CRTSRVPGM を使って *SRVPGM (サービス・プログラム)を生成することができる。
*SRVPGMは iSeries400 における DLL である。*SRVPGM で定義したメソッド(プロシージャー)をメインPGMでバインドする使用が本来のバインドの使用方法である。
参考までに*SRVPGM は実行時には存在していなくてはならない。
プロシージャーの増減がなければ *SRVPGM を修正しても、親の *PGMは再コンパイルする必要がない。*SRVPGM の利用ことがILE の基本である。