“SOA and DDD”について

再度InfoQの記事についての感想です。

  1. SOA and DDD

SOAにおけるサービスと、少し前のコンポーネントベース開発(CBD)のコンポーネントを比較検討しており、サービスはビジネスよりの制約を持ったコンポーネント(ビジネスコンポーネント?)相当だとし、むしろSOAのサービスはDDDでり扱う概念(Ubiquitous Language)相当に近いのでは、と言っているようです。

元々SOAの議論には、サービスを一般的なサービスと捉える人からビジネスサービスに限定して捉える人まで、かなり幅広い捉え方があります。この記事はビジネスサービスに近づけたほうが良いと言う主張を紹介しています。DDDで取り扱う概念に近づけ、ビジネスサービスだと言うと、確かにそれはそれで一つの世界になりますが、閉じた世界になるかどうかが問題のように思います。

主題から少し離れますが、このようにするとビジネスサービスのプロセスとの関連が曖昧になってきそうです。ビジネスサービスを実現するのがビジネスプロセスなのか、ビジネスプロセスを実現するためにビジネスサービスが使われるのか、それともそのハイブリッド形態なのか、というような話です。また別の課題として、DDDの考え方に基づくと、どうしてもドメインエンティティ中心の比較的単純なUI設計になってしまい、ユーザから何でも出来る(複雑な)UIを要求されるとマッピングを取るのが大変かなという気がします。

元の記事の結論部分まで飛ぶと、結局皆の合意できる「これこそがSOAのサービスの定義」というものが無いことが問題とされています。余り面白くない結論です。タイトルにある「サービス指向アーキテクチャ」と「ドメイン駆動設計」は言葉としては別の世界を記述するもののように思えますが、この記事はそれらを合体させた「ドメイン駆動サービス指向アーキテクチャ設計」といったものを示唆しているようです。

“SOA and DDD”について

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中