AFP Package(仮称)は開発ツールとして生産性/保守性を高めるため、画面遷移をグラフィカルに構築できる機能です。この新機能はBiz/FormFlowシステムの一部です。
開発者は開発ツールであるBiz/Designerのプラグイン機能としてAFP Packageを利用します。画面遷移図はプロジェクトの新規作成において「フォーム」や「ダイアログ」と同様に「フローエディタ」として作成できます。
フローエディタで作成した画面遷移図(Biz/Designer内)の例が図1です。このシステムは株式会社ヴァイタスが提供している「ME&i」(呼称:ミー・アンド・アイ「メディカル・エンタテインメント・アンド・インフォメーション」)サービスの画面です。
図1:画面遷移図の例(ME&i) (画像をクリックすると別ウィンドウに拡大図を表示します)
「ME&i」は、ベッドサイドに設置した情報端末により、医療機関向けVOD配信をはじめ院内アメニティ環境と医療環境の融合をはかるとともに、患者さんや関係方々の笑顔を創造していくプロジェクトの総称です。
画面遷移図の各画面はプロジェクトの「Form」や「Dialog」と一体で管理されます。図1において、「F001」のIDを持つ画像をダブルクリックすると、図2のフローエディタの左上に表示されている「Form(top.crs)」がデザインビュー上に開かれ、修正/設計を行えます。
図2:ME&iのForm (画像をクリックすると別ウィンドウに拡大図を表示します)
全体の流れを見ながら個別画面を設計していくことができるため、グラフィカルに透明性の高いシステムを構築することができます。また、以前のようにいちいちフォームなどを開いて開発する画面を選択する必要がなくなったので、開発時のオペレーション効率も高まります。
また、AFP Packageは画面遷移の実行そのものをパッケージ機能を利用して行うことができます。例えば「Form1.crs」から「Form2.crs」に遷移し、「Form1.crs」に戻る図3があるとします。
図3:画面遷移図
このとき、「Form1.crs」には、「次へ」ボタンがクリックされたときのスクリプトが次のように記述されています。
図4:AFP Package機能を利用した場合のスクリプト
「afp.〜」の2行がAFP Packageを利用した記述です。この2行の中に、画面入力値のエラーチェックなどの遷移前処理、次の画面へのデータの引き渡しなどが含まれています。またAFP Package機能を利用しない場合は、通常次のようなスクリプト記述になります。
図5:AFP Package機能を利用しない場合のスクリプト
図4の例では単純に画面を切り替えているだけですが、実際のアプリケーションではAFPパッケージが自動処理する画面遷移に関連する様々な処理を記述する必要があります。両者の違いは、ボタンが押されたことによる画面遷移をAFPパッケージにより意味付けされた定型様式で記述するか、画面遷移を実行するための手続きを直接記述するかという点です。
新規に「Form3.crs」を作成し、矢印を以下の図6のように画面遷移図上で移動させると、「Form1.crs」のスクリプト記述は同じまま、実行遷移が「Form1.crs」から「Form3.crs」になります。
図6:移動後の画面遷移図
また、画面遷移時はデータに対する受け渡しや保存、またデータ内容によって遷移を制御するなどの処理も必要となります。
図7:画面遷移TextBox
例えば、図7のように「Form1.crs」にTextBoxがある場合、入力された内容が"123"のときは画面遷移し、そうでない場合は遷移しないといった記述は「Form1.crs」において図8のようなスクリプトになります。
図8:「Form1.crs」内のスクリプト
画面遷移時に呼び出されるOnTransitionValidateにより、Trueを返されれば遷移が行われ、Falseが返されれば遷移は行われません。単項目チェックとは別に、画面遷移時に総合/複合チェックを行う場合は利用できます。
なお画面遷移図は1個のドメインとして扱われ、遷移図に従ってドメイン内の画面間を遷移し、別の画面遷移図(bfdファイル)に遷移することも可能です。
画面遷移図は印刷にも対応しておりますので、ドキュメントとしても利用できます。個別の画面での開発でなく、視認性よく全体を把握できる点で生産性や保守性が高まるでしょう。ただ、前回ご紹介しました「MDFrame/X」のような上流設計ツールからモデルドリブン開発の中でプログラムを作りだす仕組みとは異なります。
|