WebWork2(Ver2.0)

2005/5/9
WebWork2(Ver2.0)
(1)概要
WebWork2はHMVC(階層型MVC)モデルと呼ばれるフレームワークを提供し、サーブレット以外のSwingベースの
アプリケーションもMVCモデルで開発できるOpenSymphonyによって開発されているWebアプリケーションフレームワークです。
WebWork2では簡単・手軽にコンポーネント化を実現するために
「インターセプタ」
「パッケージカスタムUIコンポーネント」
JSPやVelocityに使用できる独自のカスタムタグなど
「IoCコンテナ」
協調して動作するコンポーネント間の依存性を緩くし、再利用性を高める。
Inversion of Controlはデザインパターンの一種で最近はDI(Dependency Injection)と呼ばれるようになっています。
「パッケージング」
などの機能で実現しています。
また、「コマンドパターンフレームワーク」(※デザインパターン参照)を担当する部分がXWorkという別プロジェクトに
分離されており、Webに依存する部分とそれ以外との切り分けが明確になっています。そのため、アクションクラスが
ServletAPIに依存しないということで、ユニットテストが簡単にできます。
(2)構造
① ビューからサーブレットディスパッチャが全てのアクションに対するリクエストを受け取ります。
② ディスパッチャはURIとxwork.xml(設定ファイル)に記述されているアクション定義情報を元に実行するアクション
クラスを決定します。
③ アクションの実行前にxwork.xmlに記述されているインターセプタが実行されます。
インターセプタとはフィルタ処理のようなものでパラメータの設定や入力チェック、ロギングなどの処理を行います。
④ インターセプタを独自に定義したり、アクションの実行後に実行を定義したり、アクションごとに自由に定義できる
ところが大きな特徴です。
図.WebWork2の動作原理
ビューA
(JSP/Velocity)
①
/A.action
サーブレット
ディスパッチャ
③
インターセプタ
(入力チェック
やパラメータ
設定などの事
前処理)
②
xwork.xml
(設定ファイ
ル)
ビューB
アクションA
アクションB
/B.action
ビューC
明細レイア
ウトなど可
変的部分
ビューCの一部レイアウトを変更
するような場合、直接アクション
を起動してデータを取得すること
も可能。
アクションC
④
インターセプタ
(コネクション
クローズなど
の事後処理)
Copyright©2003-2005 YODOQ Co.,Ltd. All Rights Reserved.