アーキテクチャコンセプト

開発者に優しい
選択したアーキテクチャ(Struts + Spring + Hibernate)に関して英語のマニュアルを読まなければわからないようなマニアックな使用方法を避けインターネットや書籍等を調べれば十分に理解できるような使用方法を選択する

管理がしやすい可読性の高いソースコード
開発者に公開するソースコードにはインナークラスなどの難解で使うメリットのない技術は使用せずわかりやすいソースコードを提供する。 またコーディング規約、ネーミング規約を遵守することで、担当者のレベルに依存した開発から脱却し、どの担当者でも一定の水準以上のソースコードを記述することができるようにする。

レイヤ独立
レイヤ間の依存性を極力減らした構成にすることにより変更による影響を局所化されメンテナンス性の高いアプリケーションの構築が可能になる。 特にDaoが完全に独立しているのでテストしやすく、Hibernate以外の他のフレームワークに変更することも容易

Actionの自動化
Session管理やTokenなどの処理を開発者が意識しなくても良いように自動化する その他決まりきった処理をAction基底クラス処理をさせることで開発者に余計な負担をかけない

レイヤに依存しない共通部品の提供
レイヤに依存しない共通部品を提供しどこでも使えるようにする。