目次 > 第1章 概要 > 1.6 Server(Rich)版概略
1.6 Server(Rich)版概略
フレームワークが規定しているクラス構造
Server(Rich)版では、Springフレームワークを拡張し、以下の機能や仕組みを提供する。
- アクセス制御
- XML形式のリクエストデータをJavaBeanにバインドする機能
- JavaBeanの値をチェックする機能
- POJO及び定型インタフェースを持つ業務ロジッククラスを起動する仕組み
- J2EE/JDBCの詳細な知識がなくともデータベースアクセスが可能な仕組み
- リクエスト処理で使用する共通の情報を保持する機能
次に、Server(Rich)版が提供するクラスについて説明していく。
(1) DispatcherServlet
Spring-MVCで使用されるServlet。リクエスト処理フロー全体を司る。
(2) HandlerMapping
サーバに送られたリクエストが、どのControllerを使用するか判断するインタフェース。
- SimpleHandlerMappingEx
HandlerMappingの実装クラス。リクエストヘッダに設定されたリクエスト名をキーにして、(Bean定義ファイル内の)コントローラID と対応付けを行う。
(3) Controller
リクエスト処理フローを司るインタフェース。DispatcherServletから呼び出される。
ビジネスロジックの入力となるJavaBeanの生成および入力値検証、ビジネスロジックの実行、業務出力JavaBean及びビューの返却を行う。
- TerasolunaController
Server(Rich)版で拡張したControllerの実装クラス。
本クラスは抽象クラスとして定義しているため、実際に使用するためにはサブクラスを生成する必要がある。ビジネスロジックがBLogic インタフェースを実装する場合は、BLogicControllerを使用する。
POJOの場合は、コントローラを個別に生成する必要がある。
- BLogicController
TerasolunaControllerの継承クラス。BLogic インタフェースを実装したビジネスロジックを実行する。
(4) DataBinder
リクエストデータを業務入力JavaBeanにバインドするクラス。
- ServletRequestDataBinder
Binderの実装クラス。クエリ形式のリクエストデータを業務入力JavaBeanにバインドするクラス。
- XMLServletRequestDataBinder
ServletRequestDataBinderの継承クラス。XML形式のリクエストデータを業務入力JavaBeanにバインドするクラス。
(5) Validator
業務入力JavaBeanに対して入力値検証を実行するインタフェース。デフォルトでは、Commons Validatorを用いた設定ファイルベースの入力チェックを提供している。
(6) ビジネスロジック
ビジネスロジックを実行するクラス。ビジネスロジックはPOJO とBLogicの2種類の実行方式から選択することができる。
入出力クラスは、POJO とBLogicの2種類ともJavaBeanになる。
ビジネスロジックのポータビリティを保つ場合はインタフェースが自由なPOJOで実装を行い、ビジネスロジックのインタフェースを固定する場合はビジネスロジックにBLogic インタフェースを実装させる。
- BLogic
Server(Rich)版が提供するビジネスロジックのインタフェース。BLogicControllerから呼び出される。
(7) DAO
データベースにアクセスするオブジェクトのインタフェースが3種類(QueryDAO、UpdateDAO、StoredProcedureDAO)用意されている。データベース接続等のJDBC リソースの取得と開放はフレームワーク側が行うため、フレームワーク利用者が意識する必要はない。
- QueryDAO
参照系のデータベースアクセスを行うDAO インタフェース。
- UpdateDAO
更新系のデータベースアクセスを行うDAO インタフェース。
- StoredProcedureDAO
ストアドプロシージャを実行するDAO インタフェース。
(8) HandlerExceptionResolver
コントローラで発生した例外のハンドリングを行うインタフェース。例外の型とビューの対応付けを行う。
- SimpleMappingExceptionResolverEx
HandlerExceptionResolverの実装クラス。例外の型とエラーコード及びエラー種別の対応付けを行う。
(9) View
ビジネスロジックの実行結果として返却されたJavaBeanからレスポンスを生成し、クライアントに送信するインタフェース。
- CastorView
オブジェクト-XML変換ツールCastorを利用した、View実装クラス。業務出力JavaBeanからXML形式のレスポンスを生成する。
- VelocityView
テンプレートエンジンVelocityを利用したView実装クラス。テンプレートファイルをもとに、業務出力JavaBeanからXML形式のレスポンスを生成する。