TOP比較データ> これまでのまとめ
徹底比較!! PHP & Java 〜 フレームワーク編
徹底比較!! PHP & Java 〜 フレームワーク編

第7回:StrutsとMojaviの今、そして未来
著者:ワイズノット  土橋 芳孝   2006/5/29
1   2  3  4  次のページ
これまでのまとめ

   これまでJavaのWebアプリケーションフレームワークであるStrutsと、PHPのWebアプリケーションフレームワークであるMojaviについて簡単な機能の実装を通じてそれぞれの仕組みを見てきました。

   JavaにはJavaのメリット、PHPにはPHPのメリットがあり、それらは開発言語のレベルで利用すべきシチュエーションが変わります(詳しい内容に関しては、「徹底比較!! PHP & Java」を参照してください)。

   今回はStrutsとMojaviそれぞれのメリットについて、これまで述べてきた内容をまとめつつ筆者なりに総合的な比較考察を行います。

   まずStrutsとMojaviに対する筆者の見解を表1に示します。機能のある・なしではなく、筆者が特にメリットを感じている点は○と表記しています。

  Struts Mojavi 3
画面遷移制御
入力値チェック
例外処理 ×
DBアクセス
ログ出力
ビューのテンプレート化
開発生産性の高さ
開発者確保の容易さ
サポート体制の充実度 ×
導入実績の多さ

表1:StrutsとMojaviの違い

   それでは、上記について筆者の見解を解説していきます。


画面遷移制御

   Webアプリケーションフレームワークにおいて画面遷移制御の仕組みは最も重要な仕組みだといえるでしょう。

   画面遷移制御のための枠組みが決まっていれば、すべての開発者がその枠組みに従って開発を行うことができ、Webアプリケーションのアーキテクチャやコードの統一性が確保され、Webアプリケーションの開発生産性や保守性が向上します。

   それではStrutsとMojaviそれぞれの画面遷移制御の仕組みについて見ていきましょう。

   下記に示す通り、Strutsの画面遷移制御の設定はstruts-config.xmlというXMLファイルによって行います。一方Mojaviの画面遷移制御は各クラスやテンプレートの名前と配置するディレクトリで決まります。

Strutsにおける画面遷移制御の定義(struts-config.xmlの抜粋)
<action-mappings>
   <action
      path="/Login"
      type="LoginAction"
      name="loginForm"
      scope="request"
      input="/pages/login.jsp"
      validate="true">
      <forward name="success" path="/pages/top.jsp" />
      <forward name="error" path="/pages/login.jsp" />
   </action>
   <action
      path="/Logout"
      type="LogoutAction">
      <forward name="success" path="/pages/login.jsp" />
   </action>
</action-mappings>

Mojaviにおける画面遷移制御の定義(Mojaviディレクトリ構成の抜粋)
図1:Mojaviにおける画面遷移制御の定義(Mojaviディレクトリ構成の抜粋)

   StrutsではXMLによって画面遷移制御の設定を行うため、Struts自体に独自のカスタマイズを行ったとしても、struts-config.xmlのスキーマ定義を変更し、設定項目を改造することで柔軟に対応できるといったメリットがあります。

   一方、Mojaviの画面遷移制御はクラスやテンプレートの名前と配置するディレクトリで決まるため、非常にシンプルでわかりやすく、Webアプリケーションの仕様変更に迅速に対応できるというメリットがあります。

1   2  3  4  次のページ


ワイズノット 土橋 芳孝
著者プロフィール
株式会社ワイズノット  土橋 芳孝
以前はJavaを利用したWebアプリケーション開発とオブジェクト指向設計を得意としていたが、ワイズノットに入社以来、PHPの魅力にとりつかれる。現在はワイズノットのプロジェクトマネージャーとして、PHPをはじめとしたオープンソースの普及に力を注いでいる。


INDEX
第7回:StrutsとMojaviの今、そして未来
これまでのまとめ
  入力値チェック
  例外処理
  Strutsの今後