|
||||||||||||||||
| 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 次のページ |
||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||


