TOP比較データ> Tapestry
徹底比較!!Javaアーキテクト
徹底比較!!Javaアーキテクト

第1回:Webアプリケーションフレームワークの比較
著者:シンクイット  山口 忠   2005/10/12
前のページ  1  2  3   4  次のページ
Tapestry

   TapestryはStrutsと同様にオープンソースのフレームワークで、Jakartaプロジェクトで開発されています。

   Viewの開発にはJSPを使わずに「HTMLテンプレート」と呼ばれるものにレイアウトを記述するところがTapestryの特徴です。

   デザイナーが作成したHTMLにプログラマが、後述するJWCと呼ばれるTapestryのコンポーネントを組み込むことでHTMLテンプレートを作成します。このHTMLテンプレートはJSPとは異なり、通常のHTMLファイルとほとんど同じで、HTMLとしてWebブラウザを使って表示できます。

   JSPに変換したHTMLはデザイナーにとって非常にわかりにくく、デザインの修正が困難ですが、TapestryのHTMLテンプレートはWebブラウザで表示できますし、JSPのスクリプトレットもありません。これによって、デザイナーとプログラマの分業を明確に行うことができます。
デザイナーとプログラマの分業の問題
図4:デザイナーとプログラマの分業の問題

   Tapestryを使ったシステム開発では「Java Web Component(JWC)」というコンポーネントをベースに開発を行います。

   JWCにはHTMLにレンダリング(HTMLを作成)するものやコレクションのループ処理といったロジックに役立つもの、そのほか便利なものが標準で用意されています。また、複数のJWCを組み合わせたJWCや業務システム用にカスタマイズした独自のJWCを作成することできます。

   また、GUIイベントに対して実行するメソッドを定義し、そのイベントに応じた処理を記述するため、イベントドリブン的な開発となり、VBやVC、AWT、Swing経験者にはとっつきやすいかもしれません。

Tapestryの概念図
図5:Tapestryの概念図
(画像をクリックすると別ウィンドウに拡大図を表示します)

   システム開発にTapestryの適用する場合、表2のメリットがあげられます。

  • HTMLテンプレートはWebブラウザでデザインの確認ができるため、デザイナーとプログラマの分業が可能
  • 再利用性の高いコンポーネントが開発しやすいため、生産性が高い
  • ServletAPIはTapestryで隠蔽ラッピングされているため、開発者はビジネスロジックの開発に専念が可能

表2:Tapestryのメリット

   また最新バージョンは4.0(2005年8月現在)です。

前のページ  1  2  3   4  次のページ


株式会社シンクイット 山口 忠
著者プロフィール
株式会社シンクイット  山口 忠
前職は大手SI企業にて、SEとして各種言語を使ったシステム開発を経験する。常に進化し続けるオープンソースソフトウェアの魅力にとりつかれて現職に至る。現在は某プロジェクトにてEJB、Webサービスを使ったシステムのフレームワークを開発しながら、Javaのプロフェッショナルになるべく、日々精進している。


INDEX
第1回:Webアプリケーションフレームワークの比較
  はじめに
  最近のアーキテクチャ
Tapestry
  Velocity