« [Tapestry] キャッシュ無効 | Main | ゲーム伝説、買った »

13 February 2005

[Tapestry] 構造

Tapestryについて構造の理解が出来たような気がするのでエントリしてみる。
Tapestryは1サーブレットとして存在する形となる。(シーケンス図)つまりTomcatなどのサーブレットコンテナさえあれば動作可能というわけである。Tapestryを使うことは、web.xmlに記述することになる。


<servlet>
<servlet-name>workbench</servlet-name>
<servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>workbench</servlet-name>
<url-pattern>/app</url-pattern>
</servlet-mapping>

これはTapestryに付属しているサンプルアプリケーションworkbenchの例であるが、普通のサーブレットベースのアプリケーションと同じだと思う。
以降はTapestry独自の形式になる。Tapestryにページを登録することになる。これはsample.applicationという拡張子applicationのファイルにページやサービスを記述していく。この辺りはAppendix C. Tapestry Specification DTDsを参照すると良い。
各ページは、ページ仕様(拡張子:page)、HTMLテンプレート(拡張子:html)、アプリケーションクラス(拡張子:class)となる。アプリケーションクラスはjavaで記述されるビジネスロジックと考えてよい。HTMLテンプレートは、ビジネスロジックが埋め込まれる雛型になるHTMLファイルである。タグの属性にjwcid(Java Web Component IDの略)を付加することで、動的な処理の埋め込みが可能となる。そしてそのjwcidの振る舞いを記述するのがページ仕様となる。ページはそれぞれ最大で3つのファイルから成立することになるが、その関係は以下の図の通りである。

Tape_Structure.gif

Strutsがスタンダードになりつつあり、Tapestryは影になっているような気がするが、Tapestryの利点として、HTMLで雛形を作成しておくと、ページフローが非常に分かりやすい。デザイナとデベロッパの分離が明確になるし、イメージも伝わりやすい。jspでも同様のことは可能であるが、Tapestryでは拡張子もhtmlだし、直感性に優れていると思う。まだまだどの辺りがオーバヘッドになるかなど分析できていないが、この構造さえ理解できてしまえば、結構Tapestryを扱いやすくなるのではないかと思う。

では、本日はこのくらいで。またTapestryについて、アップしますね。

TrackBack

TrackBack URL for this entry:
http://bb.lekumo.jp/t/trackback/517129/31023833

Listed below are links to weblogs that reference [Tapestry] 構造:

Comments

Post a comment

Access Ranking

Powered by Six Apart
Sponsored links