IBM iのアプリケーション開発には、グリーン・スクリーンなどのCUI画面も利用できるが、昨今はJavaなどと同様に、Eclipseベースのツールを使用することが多い。EclipseにIBM i固有の機能が追加され、RPGやCLのみならず、Javaなどの開発も可能になっている。ここでは、IBM iにおける開発環境について説明する。
15年の歴史をもつ
Rational Developer for i
IBM iの開発では、ADTS(Application Development Toolset)と呼ばれる開発用ツール群が古くから提供され、PDM(プログラミング開発管理機能)やSEU(原始ステートメント入力ユーティリティ)などは、今でもベテラン・ユーザーに愛用されている。開発オブジェクトの管理や、ソース編集ツール、画面デザイン・ツールなど、開発に必要な要素を凝縮したツールではあるが、CUIである5250環境で使用するため、IBM i初心者にとっては少々ハードルが高い。
そこで、5250操作に慣れていないユーザーでも容易に開発が行えるGUIベースのツールが提供されている。15年近い歴史をもつこの開発ツールは、複数回の名称変更を経て、現在は「Rational Developer for i」、通称RDi(以下、RDi)と呼ばれている。
起動すると、ワークベンチと呼ばれる画面(図表1)が表示される。Javaなどの開発者に親しまれているEclipseがベースである。
【図表1 画像をクリックすると拡大します】
図表1の左上にあるように、IBM iリソースにアクセスするための「リモート・システム・エクスプローラ」というモジュールが組み込まれ、IBM i上の各種オブジェクトにはエクスプローラ形式でアクセスでき、管理可能である。フィルタリング機能もあるので、各ユーザーで表示するオブジェクトのカスタマイズも可能。フィルタリングは、ライブラリ・オブジェクトのみならず、IFS上のオブジェクトについても設定できる。そのため、Javaやスクリプトの開発オブジェクトをIFS上に置いている場合など、RDiからも管理・編集が可能だ。
さらにRPGなどのソースをホット・キーやコンテンツ・アシストを使いながら開発するための「LPEXエディタ」と呼ばれるIBM i用エディタもある。ヘルプも表示されるので、RPGの構文などを確認し、CUIでのSEUと同等の機能性を活用し、開発を進められる。プログラムのデバッグ機能も組み込まれ、デバッグに必要な情報であるソース、ブレークポイント、変数モニターなど、1画面で確認できる。これに加えて、RDi V9.5から5250エミュレータが搭載されたので、5250プログラムの実行も容易に行えるようになり、ソースの編集から実行まで一連の開発の流れを、RDiだけで実現可能である。
このように、IBM iでの開発に必要なツールがRDiに実装されているが、そのほか、システム操作ツールとして紹介した「Access Client Solutions」と連携し、スプールの出力やSQL文の実行などを開発するうえで有用な機能を補完している。
オープンソースの開発環境
Orion
RDiのほかに、最近ではオープンソースのツールもサポートしている。
その1つに、クライアントツール・レスの開発環境である「Orion」がある。IBM Bluemixでも使用されているOrionは、Webブラウザ・ベースの開発ツールである。IBM i上に5733OPSのオプション8を導入し、PTFを適用後、ブラウザさえあれば、2025ポートからアクセスして使用できるのが特徴である。
こちらもEclipseベースなので、クライアント上のIDEに似たインターフェースで(図表2)、コンテンツ・アシスト機能もあり、JavaScriptについては構文のエラーも表示される。
【図表2 画像をクリックすると拡大します】
OrionにはRDiと違い、コンパイルするためのビルド機能はないので、コンパイルが必要となるRPGなどは、ビルドのためのスクリプトを別途作り込むなどの考慮が必要である。
RPGの開発を主とする、もしくはRPGとJavaの両方を開発する場合は、RDiが効率的だが、IBM i用のフロント部分だけならOrionで十分にまかなえる。開発するプログラム種別に合わせて、使用するツールを選択してほしい。
RTCやGitなどの
構成管理ツール
開発をしていくうえで不可欠なのが、バージョン管理や成果物管理など、一般的に「SCM」(Software Con figuration Management)と呼ばれる構成管理機能である。IBM iでサポートされている構成管理ツールとしては、「Rational Team Concert」(以下、RTC)が挙げられる。RTCを使うことで、RDiやOrionで開発したプログラムを定期的にビルドし、必要なモジュールをパッケージや、対象のIBM iサーバーにデプロイすることが可能である。
また、依存関係ビルドと呼ばれる機能もあるため、編集したソースと関連性のあるソースを自動的に検出し、一緒にビルドしてくれる。これにより、ビルド漏れなどもなく、成果物のバージョン管理もしやすくなる。
オープンソースの構成管理機能としてはGitが主流だが、IBM iでもサポートされている。こちらも、5733OPSのオプション6の導入、およびPTFの適用により使用できる。
Gitの特徴は、分散管理方式ゆえの軽量さである。RTCとは違いバージョン管理のみを実装するので、ビルドやデプロイなどは別のツールを併用し補う必要がある。
これらにより、IBM iでもDevOps、CI(Continuous Integration)など最新の開発環境が利用できる。[藤村 奈穂]