|
||||||||||||||||||||||||||||||||
| 前のページ 1 2 3 4 | ||||||||||||||||||||||||||||||||
| Velocity | ||||||||||||||||||||||||||||||||
|
VelocityはTapestryと同様にJakartaプロジェクトで開発されている汎用テンプレートエンジンで、作成したテンプレートから何らかの出力を行うものです。 フレームワークとは、少し意味合いが違うかもしれませんが、プレゼンテーション層の開発を行う際に、有用な技術ですので紹介したいと思います。 テンプレートの作成にはVelocity Template Language (VTL)というテンプレート言語を使用します。Velocityは作成したテンプレートにビジネスロジックの結果や画面から入力された値などをセットして出力を行います。出力先としてはHTMLに限らず、テキスト形式であればどのようなものにも出力できるのが特徴です。 この特徴を利用すれば、ソースコードの生成や、SQLファイル、定義ファイルの生成、Webブラウザの種類によってテンプレートを切り替えることも容易になると思います。 VelocityにはVelocity ToolsとよばれるVelocityの機能を補完するツールが提供されています。このツール群にはツールやユーティリティを集めたGenericTools、Web アプリケーションでVelocityを使用するためのVelocityView、StrutsのビューとしてVelocityを使うのに役立つVelocityStrutsがあります。VelocityStrutsを使えば、JSPの代わりにVelocity のテンプレートを適用することができます。 システム開発にVelocityを適用する場合、表3のメリットがあげられます。
|
||||||||||||||||||||||||||||||||
|
表3:Velocityのメリット |
||||||||||||||||||||||||||||||||
| また最新バージョンは1.4(2005年9月現在)です。 |
||||||||||||||||||||||||||||||||
| フレームワークの比較 | ||||||||||||||||||||||||||||||||
|
最後にこれまで紹介したStruts、Tapestry、Velocityについて特徴をまとめてみます。 |
||||||||||||||||||||||||||||||||
表4:各フレームワークの特徴 |
||||||||||||||||||||||||||||||||
| 今回の説明では触れていませんが、項目に「テストのしやすさ」をあげました。テストのしやすさを考えればTapestryがおすすめです。Servlet APIにも依存していませんし、UIとロジックが分離していることを考えればテストは比較的容易といえます。 Strutsは日本語ドキュメントも多いので導入はしやすいと思いますが、やはりServlet APIに依存した作りになってしまいますので、テストが難しくなると考えられます。CactusやHttpUnitなどのテストツールもありますが、ツール自体の普及率も考えるとまだまだテストをしやすいとはいえません。 VelocityはServlet APIには依存していませんが、Velocity自体単体で使用することは少なく、Strutsなどのコントローラ重視のフレームワークと連携して使うことが多いようです。それにともなってテストも難しくなると考えます。 以上のことをふまえて、今後のシステム開発におけるWebアプリケーションのフレームワークの選定に役立てていただければと思います。 次回はPOJOを実現するDIxAOPコンテナの「Spring」「Seasar2」「PicoContainer」について紹介しています。 |
||||||||||||||||||||||||||||||||
|
前のページ 1 2 3 4 |
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||


