Xwork 1.0 and WebWork 2.0 Released

おなじみTSSより
以下にいい加減な訳。

Xwork 1.0 and WebWork 2.0 Released
Posted By: Dion Almaer on February 09, 2004 @ 08:11 AM


OpensymphonyのXwork 1.0とWebWork 2.0がリリースされた。これは,階層型プルMVCフレームワークWebWorkを一から書き直したものの最初のリリースである。Xworkは,ウェブ関連のライブラリに依存しない,汎用のコマンドパターンの実装である。WebWork 2.0は,Xwork上に構築され,"ウェブ"関連機能を提供している。

Xwork
"Xworkは,ウェブ関連のライブラリに依存しない,汎用のコマンドパターンの実装である。Xworkはコマンド処理に対して,インターセプタ,OGNL式言語,IoCコンテナ,柔軟な型変換,そしてバリデーションフレームワークといった強力な機能を提供する"

  • インターセプタを使えば,Actionの処理の前後に任意のコードをコールスタックに積めるので,コードが大幅に簡略化され,再利用しやすくなる。XworkとWebWork 2の機能の多くはインターセプタとして実装され,外部の設定を通じて,あなた自身のインターセプタとともに,どのようなActionのセットに対してでも,どのような順序ででも適用できる。
  • OGNLは,動的なグラフ解析とメソッド実行のために,Xwork全体で使われている。そして,VlalueStackを使った複数のビーンのプロパティに対して透過にアクセスできる。
  • Xwork IoCは,Actionコードをシンプルにしたまま,コードの依存性を明示化し,集中管理する。アクションに必要なコンポーネントはこれらのスコープ(アプリケーション<セッション<リクエスト)内でインスタンス化され,管理される。アクションに対してコンポーネントが自動的に与えられるので,必要なサービスをレジストリから探しだすコードは不必要になり,サービスの実装クラスに対するハードワイヤードな依存性も除去することができる。
  • Xworkバリデーションフレームワークは,クラスに対するバリデーションを外部のXMLファイルで定義して,ランタイムに自動的に(インターセプタを使って)適用できる。これは非常に柔軟なフレームワークで,デフォルトおよび継承したバリデーションでも,同じクラスに対して異なるコンテクストで異なるバリデーションが許される。バリデーションコンテクストをドメインオブジェクトに渡して,ドメインオブジェクトが独自のバリデーション定義を使ってバリデーションすることもできる。
"Xworkは完全に汎用であり,いかなるリクエスト/レスポンスパラダイムにでも適用できる。JPublishプロジェクトは,自分のコマンドパターン実装に加えて,Xworkアクションのサポートを追加した。Xwork上の将来の実装には,JSR-168のポートレットXworkのディスパッチャとしての実装,JMSディスパッチャ,コマンドラインディスパッチャ,JSF統合などが含まれている。"
WebWork
"WebWork2は,Xwork上で,インターセプタ,リザルト,そしてディスパッチャのセットとして構築されている。WebWork2のビュー技術は,JSP,Velocity,JasperReports,XSLTFreeMarkerを含んでいる。WebWork2には小規模ではあるが強力なJSPタグとVelocityマクロのセットが付属している。これらはOGNLの式言語パーサとXworkのVlaueStackを利用して,簡単に印象的なWebページ開発ができるようになっている。WebWork2JSPタグとVelocityマクロは柔軟なテンプレートシステム上に構築されており,独自のテンプレートを使うことで,出力をカスタマイズできる。またWebWork2には強力な構築済みコンポーネントがあり,例えばJSPタグやマクロと送信のダブリを抑制するインターセプタの組み合わせなどで,webアプリケーション開発を迅速かつ容易にしている。またWebWork2は,サーブレットのリダイレクト,ディスパッチャリザルトのリクエスト,ファイルアップロードなどの標準的なwebアプリケーションフレームワークの機能も提供している。"