目次 > 第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形式のレスポンスを生成する。

次章:第2章 Server(Rich)版チュートリアル

Copyright (C) 2009 NTT DATA CORPORATION