United Front 2 のアーキテクチャ(レイヤ構成)を示します。データアクセス層とドメイン層がモデル (Model) を形成していると考えれば、一般的な MVC パターン と言えます。

各レイヤの Java コードは次のようにパッケージ分割されています。

コントローラ層とドメイン層の間に サービス層 を設けるべきでしょうか?サービス層は サービス指向 の API を備え、Web などのアプリケーション固有の技術からは分離されま す。サービス層を設ける最大のメリットは、複数のプレゼンテーション実装に対して API を再利用できる点です。デメ リットは、一つ層が増えるということです。これは、システムを複雑化させます。United Front 2 では、サービス層 を採用しませんでした。United Front 2 のドメイン層は十分強力な API を提供しており、サービス層の役割は非 常に薄いものになってしまうからです。
United Front 2 は以下のフレームワーク、ライブラリを参照しています。詳細は 依存ライブラリ で確認できます。
| ライブラリ名 | 用途 |
|---|---|
| Spring Framework | DI コンテナ |
| Spring JDBC | データアクセス実装 |
| Spring Security | 認証とセキュリティ |
| Spring Web Flow | Web の画面遷移実装 |
| Apache Tiles | Web 画面のテンプレート |
| JSP + JSTL | Web 画面の実装 |
| dojo | Web のリッチインターフェースの実装 |
| Rome | RSS の実装 |
| Apache Commons Lang | インフラとして全般的に利用 |
| Apache Commons Logging | インフラとして全般的に利用、実装は Log4j を利用 |
| JUnit | テスティングフレームワーク |
| Spring Test | テスティングフレームワーク |