TOPシステム開発> ルーティング
徹底比較!!Ruby on Rails vs Javaフレームワーク
徹底比較!!Ruby on Rails vs Javaフレームワーク

第2回:JSFとRailsで比較(前編)

著者:DTS  五座 淳一   2006/9/6
前のページ  1  2  3  4  次のページ
ルーティング

   次に、ビジネスロジックの選択や画面遷移などを制御するルーティングの仕組みについて比較してみたいと思います。

ルーティング方式の違い
図2:ルーティング方式の違い
(画像をクリックすると別ウィンドウに拡大図を表示します)


JSFのルーティング

   JSFはイベントドリブン方式を採用しています。ボタン押下などのイベントが発生した場合、関連付けられたアクションやイベントリスナが実行されます。その処理結果と「faces-config.xml」という遷移ルールが定義された設定ファイルに従って、次のビューへと遷移していきます。

   このように、遷移先などアプリケーションのもっとも重要な動作を定義する「faces-config.xml」がJSFアプリケーションの中核を担っています。

faces-config.xml
<faces-config>
   <navigation-rule>
      <from-view-id>/index.jsp</from-view-id>
      <navigation-case>
         <from-outcome>success</from-outcome>
         <to-view-id>/success.jsp</to-view-id>
      </navigation-case>
      <navigation-case>
         <from-outcome>failure</from-outcome>
         <to-view-id>/failure.jsp</to-view-id>
      </navigation-case>
   </navigation-rule>
(中略)
</faces-config>


Railsのルーティング

   Railsの場合、図2のようにブラウザに指定されたURLによって、自動的に呼び出されるコントローラ/アクション/ビューが決定します。もちろん、これ以外の形で処理を行うことも可能ですが、この規約に従うことで設定ファイルなどの記述が一切不要となっています。


ルーティングの比較結果

   記述量ではRailsが勝っていますが、JSFは設定ファイルによって、ルーティングのルールをプログラムから切り離し、一括管理を実現しています。

   Railsの場合は、設定ファイルよりも規約を重んじており、ある程度は規約に従う必要があります。これによって無駄のないシンプルな処理を実現しています。このルーティングだけでなく、Rails全体として規約を重んじる考え方が採用されています。


ビューの比較

   次にビューの比較を行います。ビューについては、両者ともHTML構文に近い形で表現するということもあって、非常によく似ています。


JSFのビュー

   JSFのビューにはJSPが用いられます。JSFが提供するカスタムタグライブラリを使って、ボタンやテキストフィールドなどの画面要素を構築していきます。

JSFカスタムタグを使用したJSPの例
JSFカスタムタグを使用したJSPの例
(画像をクリックすると別ウィンドウに拡大図を表示します)

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


株式会社DTS  五座 淳一氏
著者プロフィール
株式会社DTS  五座 淳一
技術部所属。入社以来、交換機や携帯電話、Webシステムなど様々な開発を担当する。Ruby on Rails上に構築したオープンソースのCMS「Rubricks」(http://rubricks.org/)のコミッタ。


INDEX
第2回:JSFとRailsで比較(前編)
  はじめに
ルーティング
  Railsのビュー
  Railsのビュー/アクション連係