OS/400のインターフェースを構成しているオブジェクトとは何であろう。
ユーザープログラムで DSPF で開発された画面アプリケーション に比べて
OS/400 のユーティリティー画面はバランスも統一されていてパフォーマンスも
ユーザー画面より優れている。
これらのほとんどは 「パネル・グループ」と呼ばれるオブジェクトで構成されている。
パネル・グループについては、知らなくてもWRKOUTQ の画面は毎日のように
ご覧になっているだろう。
WRKOUTQ, WRKACTJOB, … OS/400の画面や印刷のインターフェースのほとんどが、
パネル・グループである。メニューもパネル・グループである。
「AS/400摘要業務画面プログラミング」を見てほしい。
第2部 表示装置ファイル以外はヘルプも含めて、パネル・グループの解説が大半を占めている。
それでは、なぜ OS/400 は DSPF でなくパネル・グループによって開発されたのだろうか?
パネル・グループには次の特徴がある。
- 項目の行や桁位置を正確に指定するのではない。大まかなバランスのみ指定しておけば、
OS/400が つねに最適な表示位置を決定する。
DSPF の場合は表示項目数の増減があれば、画面を再デザインしなければならない。
しかし、パネル・グループでは、項目を追加/削除するだけで良い。画面上の再配置を
考慮する必要は全くない。 - 表示テキストはメッセージ・ファイルに代替することが可能であり、
メッセージ・ファイルの入れ替えによって容易に国際言語に対応できる。 - 表示とくに再表示のパフォーマンスが良く、オンラインや低構成の AS/400 でも
十分なパフォーマンスを得ることができる。 - すべての画面表示と操作を容易に統一化できる。
- パネル・グループは 完全なオブジェクト指向の開発体系を提供する。
このことについては もう少し説明が必要である。
画面 DDS を使用する場合は、恐らく 1本のプログラムがそれを処理しているはずである。
ところがバネル・グループを処理するには、複数のプログラムが必要になる。
そんな面倒な、と思うかも知れないが、例えば「F21=すべての選択」 というオプションがある。
DFUにもあるし、QUERY にも用意されている。すべてのアプリケーション のこのオプションを
処理するのは、同じ1本のプログラムである。
すなわち 1本の 「F21=すべての選択」 を処理するプログラムを開発すれば、
どのような新しいアプリケーション を作成しても F21の処理を改めて開発する必要はないし、
既に十分テスト済みのF21 のプログラムを再利用できるわけである。
さらに操作面ではユーザーが F21キーを押して初めてこのプログラムが起動される
完全なイベント・トリガー的な体系で処理されるので初期プログラム・サイズは、
最初のパネル・グループを表示するだけのきわめて小さなものにできるので、
起動時のパフォーマンスが良くなるのは当然である。
見てきたようにパネル・グループは良いことづくめにも思えるが、
- 複雑な画面構成には適していない。
- 大規模システムの開発には効果を発揮するがごく小規模の開発には手間どる。
- 表示やアクセスに API を必要とする。
「システム API 解説書」のユーザーインターフェースAPI がパネルグループのための API である。
大規模な アプリケーション 開発や変更が予想されるパッケージ開発を予定しているのであれば
パネル・グループによる開発に挑戦して欲しい。
弊社の製品「PANEL-WORKER」は Query や DFUと同じ操作で項目を選択するだけで画面や
ポップアップ・ウインドウ、印刷帳票などを生成できるツールであり、パネル・グループの性格を
最大限に発揮している。