<< 関心事は、エンタープライズアプリケーション | main | 育成型のソフトウェア >>

PoEAA 関心事の分離の戦略

マーチンファウラーの PoEAA ( Petterns of Enterprise Application Architecture ) の関心事の分離の戦略。
戦略というか、分離の定石かな?

レイヤ

最初の戦略兵器は「レイヤ」パターン。
これはお約束ですね。

Eric Evans の ドメイン駆動設計 ( DDD : Domain-Driven Design ) でも、まず、ドメインとそれ以外の関心事の分離の基本や「レイヤ」から。

ドメイン層

関心事の中心は、ドメイン層。ドメイン層から出発する。ドメイン駆動ですね。

ドメイン層の中で、さらに関心事を分離するパターンは、Evans の DDD が必読。

 ビジネスパターンによるモデル駆動設計 や「アナリシスパターン」もビジネスの関心事を分離するパターンカタログとして、参考になりますね。

データソース層

次に進むのは、データソース層の課題。

ファウラーの PoEAA では、永続化、それも、リレーショナルデータベースとオブジェクトとのマッピング ( O-R マッピング ) にフォーカスしている。

ファウラー自身が PoEAA の「まえがき」で書いているように、アプリケーション連携、特に、メッセージングによる連携が、永続化とならぶ、重要な関心事。

メッセージングとアプリケーション連携のパターンカタログとしては、
EIP : Enterprise Integration Pattern
が参考になります。

データソース層のアーキテクチャパターンの実装は、オープンソースのフレームワークがいろいろ使える。

Webプレゼンテーション層

次の重要課題は、ユーザインタフェース、特にWebアプリケーションのプレゼンテーションの課題。
利用者から見たら、プレゼンテーション層だけが、ソフトウェアシステムの実体。

プレゼンテーション層のパターンの実装も、フレームワークとか、ライブラリがありますね。
データソース層に比べると、構造や振舞が、ぎこちないものが多く、未成熟な分野かな?

その他の関心事

PoEAA ではパターン化されていない主な関心事は、

・セキュリティ
・バリデーション
・エラー処理
・リッチクライアント
・クラスタリング
...

まあ、ここらへんは、自作することも多いし、Spring フレームワークや、オープンソースのライブラリが利用できる。(実際に動くパターンとして使える)

ドメイン駆動

基本は、ドメイン層中心。
他の関心事も、ドメインの概念や要求を中心に、設計、実装、検証をしていく。

結果的に、ドメイン以外のレイヤにも、ドメインの概念(用語)がたくさん登場する。
ユビキタス言語です。

アプリケーションのアーキテクチャ全体が、ドメイン駆動で、ユビキタス言語。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM