本文へジャンプ

System i スペシャリストが教えるV5 ちょっと、イイ話

第29回 WDSCご紹介

GUIベースの System i アプリケーション開発環境WDSC

今回はSystem i のアプリケーション統合開発環境WDSC(WebSphere Development Studio Client)についてご紹介します。System i の開発環境は、従来PDMやSEU等すべて5250端末画面から行うものでした。しかしOS/400 V4R5以降ではPCのGUIによる開発環境=WDSCがサポートされています。今回はこのWDSCをご紹介いたします。

WDSCのパッケージング

WDSCはEclipse(エクリプス)というオープンソースの開発ツールをベースに開発されています(図1)。Eclipse は元々Javaの開発ツールとして誕生し、現在は http://www.eclipse.org/ からフリーダウンロードが可能で、Javaアプリケーションの開発環境として一般の開発者に広く普及しています。 IBMはEclipseに独自の追加機能=プラグインを追加して自社ブランド製品として販売しています。例えばWASテスト環境などを付加してRAD = Rational Application Developer / RWD = Rational Web Developer(旧名称 WebSphere Studio)という製品名で販売しています。WDSCはRAD/RWDにSystem i用の開発環境を追加したものです。追加されたSystem i開発環境には、HATS Studio, WebFacing Toolのほかに、従来の5250開発環境を移植したRSE = リモートシステムエクスプローラーも含まれます。RSEを使用すると、WDSC上でRPGのコーディングやコンパイル、デバッグ等一連の開発作業を全てGUIベースで行うことができます。

図1

WDSCはRPGコンパイラー、COBOLコンパイラー、PDM等の開発ツールライセンスである5722-WDSに含まれています。一般的なSystem iユーザーはRPGコンパイラー、COBOLコンパイラー等を使用しています。つまり5722-WDSライセンスを持っていますので、ほとんどのOS/400 V5R1以降のユーザーはそのライセンス使用権を持っていることになります。また、導入用CD-ROM/DVDについても5722-WDSライセンスを持っている場合、OSと一緒に出荷されています。WDSCで開発したアプリケーションは、System i 上で稼動するアプリケーションを作成する場合にのみ5722-WDSライセンスのみで利用出来ます。たとえば、WAS (WebSphere Application Server) を System i 以外のサーバー上で実行させ、その上で稼動させるアプリケーションを開発する場合には、別途WDScスタンダード版 または WDSc アドバンスド版のいずれかの開発ライセンスを購入する必要があります。

* 補足 WDSCにはWDSCスタンダード版/アドバンスド版の2つのエディションが存在します。5722-WDSに付属しているのはスタンダード版です。WDSCアドバンスド版は、スタンダード版よりも開発可能なアプリケーション、機能が高くなっていますが、別途有償のライセンスとなります。(今回ご紹介する内容はWDSC スタンダード版を基本に説明しています。)スタンダード版と比較したアドバンスド版の主な機能拡張は、ポータル開発環境(Portlet Tools) 、eGL、WebFacingの拡張機能(OS/400画面,QUERY,DFU画面等の表示機能など)です。またチーム開発環境では必須となるバージョン管理ツール ClearCase LTを含みます。

WDSC V6の前提条件

WDSCで開発可能なアプリケーション

System i のアプリケーション開発ロードマップとして、2005年に下図が公表されています。WDSCを使用すると以下のようなアプリケーションを全て開発することが可能です。(図2、3)

図2

図3 System i における開発ロードマップ アーキテクチャー(2005.02版)

ここからWDSCで開発可能なアプリケーションのいくつかをご紹介します。

1. RSE(リモートシステムエクスプローラー) 5250端末画面PDMの移植ツール

RSE(図4)は5250端末上の開発ツールPDMをEclipseにポーティングしたもの、と考えることができます。RSEを使用すると、System i 上のライブラリーやソースファイル,データベースファイル等をツリー構造で表示させ、GUIで操作することが可能となります。またSEUのポーティングバージョンであるLPEXエディターによる編集、プログラムのコンパイル、オンラインデバッグを行うことができます。現在のWDSC V6では、5250対話型アプリケーションをデバッグする場合のみ、別途PCOMMやiSeries Access等のエミュレーターを起動してデバッグを行います。RSEを使用すると、RPG,COBOL,C,C++,CLPなどOS/400上のソースコードをエディット、コンパイル、デバッグできます。

図4

LPEXエディター(図5)は、SEUと同様のキー操作をサポートしています。例としてF4キーでコマンド入力ヘルプの表示、”C/CC”で行コピー、”D/DD”で行削除などです。マウスで範囲指定し、コピー/削除なども可能です。またLPEXエディターはGUIですので、5250端末のように80x24文字の制限もありません。大きなディスプレイを用意すれば、スクロールすることなくプログラムを編集するこができます。さらにLPEXエディターにはフィルターとよばれる機能があり、サブルーチン単位、DO-END, IF-ENDのようなループ構造などでプログラムステートメントを省略/展開表示させたりして生産性を向上することができます。

図5

2. iSeriesプロジェクト

上記のRSEがソースコードをSystem i上に置くというクラシックなSystem i スタイルの開発方法をサポートするのに対して、iSeriesプロジェクトを使用すると、一般的なJava等のオープン開発環境や.NET/VB等でお馴染みのソースコードをPCサイド(またはソースコードサーバー上)に置いて開発することが可能となります。RPG,COBOL,CLPなどの5250レガシープログラムを、一般的なオープン開発環境スタンダードと同様の手法でコード管理、開発できるということを意味します。

3. WebFacing Tool

WebFacing アプリケーションもWDSCのプラグインであるWebFacing Tool上で開発します。WebFacing Toolは、RPG, COBOL, CLPなど5250対話型アプリケーションのDSPF(画面定義ファイル)のソースファイルをプリコンパイルすることで、JSP,サーブレット,ビーン等を生成し、PCOMM等エミュレーターで実行中の5250アプリケーションを一切変更することなくブラウザーインターフェースから実行可能にできます。WDSC V6以上に含まれるWebFacing Tool V6では、OS/400システム画面(WRKxxxコマンド,DSPxxxコマンド等の画面)やQUERY, DFUなども使用可能になりました。これによりWebFacingアプリケーションからすべての5250画面を使用することが可能となりました。このWebFacing Tool拡張機能はWDSCアドバンスド版でのみ開発可能です。またWebFacing Tool拡張機能を使用する場合には、別途ランタイムライセンス=WDHTライセンスが必要となる点注意が必要です。

4. HATS

HATSもHATS StudioというWDSC上のプラグインで開発を行います。HATSはWebFacingとは別な方法を使用して5250対話型アプリケーションをWeb化するツールです。WebFacingでは、DSPFのソースファイルをプリコンパイルすることでWebアプリケーションを生成しましたが、HATSの基本形はアプリケーション実行時に生成される5250データストリームを直接ダイナミック変換することでWebアプリケーションを生成します。またHATSでは、WebFacingより強力なカスタマイズ機能を備えています。HATSアプリケーションを使用する場合には別途ランタイムライセンス=WDHTライセンスが必要となる点、注意が必要です。

5. Web対話ウィザード(Web呼び出しウィザード)

WebFacing , HATSは既存の5250画面をそのままWeb化する、というコンセプトです。これにより、アプリケーションロジックや画面遷移なども既存のものをそのまま利用できるため、開発期間やコスト、リスクを低減させることが可能となります。一方で、別なアプリケーションの開発方法としてはPCMLを使用したWebアプリケーションが挙げられます。PCML= Program Call Markup Languageとは、Javaプログラム(Bean)からRPGやCOBOLなどを呼び出すインターフェースの名称です。PCMLはXMLを使用して記述されるので、一般的なWebアプリケーションからも利用可能です。 一般的なWebアプリケーションでは、Java言語を使用してアプリケーションロジックを実装しますが、PCMLを利用すると、例えばBeanからRPG,COBOL等をプログラム呼び出しすることが可能となります。結果としてアプリケーションロジックをすべてRPGで記述し、HTMLやJSPなどの画面、サーブレットでの画面遷移等プログラムのフローのみをJavaとすることが可能となります。この手法は、特に高いRPGスキルをもっているユーザーが短期間でWebアプリケーションを新規開発する場合に役立ちます。また一般にJava = SQLを使用するよりもRPG,COBOLなどのレコードレベルアクセスは、バッチ系処理が高速でかつ必要なシステム資源が少ないため、バッチアプリケーションの実装に積極的に使用するといった理由もあります。Web対話ウィザードを使用すると、PCMLを利用したJava-RPGの呼び出しインターフェイスや、JSP、サーブレット等アプリケーションのWeb画面、コントローラー部分をツールで生成させることができます。つまり、RPG,COBOLしか知らない開発者であっても容易に新しいアプリケーションロジックを実装したWebアプリケーションを開発できることになります。

6. Webサービスウィザード

RPGやCOBOLプログラムをWebサービスから呼び出し可能にできるウィザードが用意されています。またRPG/COBOLプログラムを使用してSOA対応に拡張することも可能です。

7. 一般的なJavaアプリケーション

WDSCのコアであるEclipseは元来Java開発ツールであり、WDSでも当然Eclipseの基本機能を使用して一般的なWebアプリケーションなどJavaアプリケーションを開発できます。

参考URL

RSEの日本語のチュートリアルは上記ページ中の下記リンクより入手できます。