アプリケーションの境界
11月9日 2003年
ソフトウェア開発における未解決問題の1つは、ソフトウェアの境界はどこにあるかという決定である。(ブラウザはオペレーティングシステムの一部か否か?)サービス指向アーキテクチャの支持者の多くは、アプリケーションは消滅しつつあると考えている。つまり、将来の企業ソフトウェア開発はサービスの統合についてになるだろう。
私はアプリケーションは消滅しつつあるとは考えていない。それは、アプリケーションの境界線を引くことが非常に難しい同じ理由による。本質的にアプリケーションは社会的な構成概念である
- 開発者にとって単一のユニットとして認識されるコード本体
- ビジネス顧客にとって単一のユニットとして認識される機能のグループ
- 資金提供者が単一の予算として認識するイニシアチブ
これらはすべて社会的なものである。私たちはさまざまな100の方法でアプリケーションの境界線を引くことができる。しかし、物はグループ化し、それらのグループの周りに人々のグループを組織するという性質がある。この仕組みには科学的な根拠はほとんどなく、多くの点で、これらの境界線は技術的または機能的な考慮事項というよりも、主に人間関係や政治によって引かれている。これについてさらに明確に考えるためには、この不都合な事実を認識する必要があると思う。
(アプリケーションとその相互関係についてさらに詳しく考えてみたい場合は、ドメイン駆動設計の戦略設計セクションをご覧ください。)