本節では、Webcoordinatorアプリケーションの設計時の考え方を説明します。機能設計、画面遷移設計については、Webcoordinator特有の項目はありません。
この段階では、以下を明確にしておく必要があります。
各画面の入出力項目
各画面からの画面遷移(ボタン名)
処理の概要
ボタン名はサーバーの処理の契機となり、以下コマンドと呼びます。
次に部品化設計を行います。部品化設計は以下の手順で実施します。
データのグループ化
Webcoordinatorでは、画面の入出力項目をデータBeanとして表現します。データBeanのクラス名、各項目(Beanのプロパティ)の型と名前を決めていきます。
単純には1画面を1データBeanとします。
類似のデータの組が複数の画面で使われている場合があります。例えば、照会画面と登録画面では同じデータが使われていて、入力が可能か不可能かの違いとなっているでしょう。このような画面では、同じデータBeanを利用します。画面の区別が必要なため、表示モードによって画面を区別します。言い換えれば、表示モードはひとつのデータBeanに対して複数の画面が対応する場合、どの画面を選択するかを指定する文字列です。表示モードは任意の文字列で表現します。
画面領域の分割
画面のヘッダなどの領域は、処理内容とは独立に設定する場合が多くあります。このような部分に対しては画面領域を分割してデータBeanを分けます。分割した領域には領域名を設定しておきます。領域分割の例を以下に示します。
分割した領域のデータBeanの項目は、分割に従って、それぞれのデータBeanに振り分けます。なお、領域名については、Javaの予約語、JSPの既定の語(application、outなど)は使用できません。JSP規定の語については、JSPの解説書を参照してください。
部品の領域の設定
処理本体(上記ではbody)の中でも、共通部品として使用する領域については、領域名を設定しておきます。共通部品に含まれる項目は共通部品用のデータBeanとして作成し、処理本体に対応するデータBeanは部品のデータBeanを型とするプロパティとして持つように設計します。
繰り返し部品の検討
表、ツリー、リストといった構造を持つ部分については、Webcoordinatorの画面部品タグが利用できます。これを利用するためにはWebcoordinatorのAPIに合わせたインターフェイスが必要です。データBeanの項目をこのインターフェイスを持つクラスに置き換えます。
ビジネスクラスの設定
画面の送信ボタンには、ビジネスクラスを対応付けます。画面で入力した内容はデータBeanとしてアプリケーションに渡されます。送信ボタンの名前はサーバーのアプリケーションでコマンドとして認識されます。このデータBeanとコマンドに対応するビジネスクラス名およびメソッド名を設定しておきます。
設計情報のまとめ
設計した情報をまとめておきます。JSPファイル名やビジネスクラス名、メソッド名を設定します。
例を示します。
□□登録画面
画面構成
領域名 | データBean | 表示モード | JSP名 |
---|---|---|---|
head | HeadBean | - | head.jsp |
body | SomeDataBean | entry | someentry.jsp |
body_hiduke | HidukeBean | input | hidukein.jsp |
foot | FootBean | normal | foot.jsp |
ボタン
データBean | コマンド | ビジネスクラス | メソッド名 | 遷移先 |
---|---|---|---|---|
SomeDataBean | check | SomeDataHandler | check | □□チェック |
SomeDataBean | ok | SomeDataHandler | exec | □□メイン |
SomeDataBeanの内容
プロパティ名 | 型名 | 備考 |
---|---|---|
name | String | 名前 |
phone | String | 電話番号 |
address | String | 住所 |
この設計データを元にアプリケーションを作成します。アプリケーションの作成については、次節以降で説明します。
ポイント
JSPはJavaに変換されて実行されるため、JSPのサイズはメソッドのサイズに関するJavaの制約を受けます。Javaのメソッドのサイズには以下の制約があります。
コードサイズの制約: コンパイル後のメソッドのサイズは64Kバイト以下である必要があります。
分岐範囲の制約: コンパイル後のメソッドにおいて、前後に最大32Kバイトの範囲までしか分岐できません。
JSPのサイズが大きく、Javaに変換された結果が上記の制約を満たさなくなった場合、実行時にエラーが発生する場合があります。
また、実用的な開発、保守を考えた場合の目安として、JSPファイル1個につき200行(内、タグ50個)以内で作成することを推奨します。
JSPサイズが大きくなる場合は、JSPを分割してuji:includeタグでインクルードすることにより、JSPファイル1個あたりのサイズを小さくすることができます。