アーキテクチャ

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

     
レイヤ構成
Domain
ドメイン層 。United Front 2 の世界をオブジェクト指向によってモデル化したクラス群が配置されます。
Data Access
データアクセス層 。ドメインロジックにおけるデータアクセスロジックの API とその実装を提供します。
Controller
コントローラ層 。クライアントからのリクエストを受け付け、ビュー層とドメイン層を調整します。
View
ビュー層 。画面を構成するためのテンプレートを提供します。

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

     
パッケージ構成
Note: サービス層

コントローラ層とドメイン層の間に サービス層 を設けるべきでしょうか?サービス層は サービス指向 の 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 テスティングフレームワーク

システムの動作環境

United Front 2 は、以下の実行環境で動作することを想定しています。

言語 Java SE 6
アプリケーションサーバ Tomcat 6
データベースサーバ MySQL 5.0
サーバ OS Linux or Windows