| ||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||
| はじめに | ||||||||||||||||
第2〜3回のRailsと比較するJavaフレームワークは、「JavaEE標準」のプレゼンテーション層のフレームワークであるJSF(Java Server Faces)です。 JSFは、JCP(Java Community Process)によって策定が行われている仕様であり、2004年3月に正式リリースされ、最新版はバージョン1.2となっています(2006年8月現在)。 このJSFの仕様に準拠したフレームワークもいくつかリリースされています。中でもオープンソースであるApache MyFacesが有名です。 多くのフレームワークで、プレゼンテーション層として提供している共通した機能は表1の通りです。今回はこれらの機能ごとに、JSFとRailsを比較していきます。
表1:フレームワークが提供する機能(プレゼンテーション層) | ||||||||||||||||
| アーキテクチャ | ||||||||||||||||
機能ごとの比較をはじめるまえに、RailsとJSFのアーキテクチャを比較してみましょう。 両フレームワークともMVCモデルを採用したアーキテクチャであり、MVCモデルを構成するそれぞれのコンポーネントと対応するレイヤは図1のようになります。 | ||||||||||||||||
| JSFのアーキテクチャ | ||||||||||||||||
JSFはプレゼンテーション層のフレームワークです。ビジネス層やインテグレーション層には、EJB/Spring/Hibernateといったフレームワークを組み合わせて使用します。 | ||||||||||||||||
| Railsのアーキテクチャ | ||||||||||||||||
Railsは、プレゼンテーション層からインテグレーション層までを網羅しています。 とくにRailsのコントローラであるActionControllerは、Faces Servlet/Java Bean/Service Layerが扱う範囲までをサポートしています。 | ||||||||||||||||
| アーキテクチャの比較結果 | ||||||||||||||||
両フレームワークのアーキテクチャの大きな違いであるレイヤの扱いの違いからは、下記のようなメリットが生まれます。
表2:レイヤを分割するメリットと分割しないメリット | ||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||


