http://martinfowler.com/bliki/ApplicationBoundary.html

アプリケーションの境界をどのように定義するのか?

ソフトウェア開発における未決着の問題のひとつに、ソフトウェアの境界をどのように決定するのかということがあります(ブラウザはオペレーティングシステムの一部でしょうか、それとも違うのでしょうか?)。 サービス指向アーキテクチャの提唱者の多くは、現在のアプリケーション開発はいずれなくなり、未来のソフトウェア開発は「複数のサービスを組み立てるもの」になると信じています。

私は、アプリケーションがなくなるとは思いません。それは、アプリケーションの境界を決めることが非常に難しいことと同じ理由からです。 もともと、アプリケーションとは社会的構築物なのです

  • 開発者グループにとって、アプリケーションとは「コード」
  • 業務部門のユーザにとって、アプリケーションとは「機能群」
  • 予算を持っているひとにとって、アプリケーションとは「予算決議の単位」

これらは全て「社会的な事柄」です。アプリケーションの境界の引き方は人それぞれなのです。ただ、物事をグループ化し、その周りに人々のグループを作り上げるというのは、我々(人間)の性分です。こうしたことがうまくいく上で、科学は殆ど出番がありません。多くの点で、技術面あるいは機能面での配慮によるではなく、主として人間の相互関係や政治によって、アプリケーションの境界は決められるのです。 アプリケーション境界についてもっと明瞭に考えるためには、このなんとも嫌な事実を認識することが必要です。

(もし、アプリケーションとその相互関係についてさらに考えることに興味をお持ちであれば、ドメイン指向設計の戦略的設計に関する節に目を通されるのがよいかと思います。)

comment

  • 2004-02-19 (木) 14:21:58 ‘’[[keis]]’’ : 訳してみました。「アプリケーション開発がなくなろうとしているか」ということと「アプリケーションは社会的構築物である」ということの関連がわかりにくいですね。
  • 2004-02-19 (木) 14:49:47 ‘’[[kdmsnr]]’’ : 中間部分を直してみました。何をもって「アプリケーション開発」というのか、という意味でしょう。そこが決まらない限り、「なくなる」わけもない、と。