应用边界

2003年9月11日

软件开发中一个悬而未决的问题是确定软件的边界。(浏览器是操作系统的一部分吗?) 许多面向服务的架构的支持者认为应用程序正在消失 - 因此未来的企业软件开发将围绕着将服务组合在一起。

我认为应用程序不会消失,原因与应用程序边界难以界定的原因相同。本质上,应用程序是社会建构

  • 开发人员视为一个单元的代码体
  • 业务客户视为一个单元的功能组
  • 那些有资金的人视为一个预算的项目

所有这些都是社会性的。我们可以以数百种任意不同的方式绘制应用程序边界。但我们的天性是将事物归类在一起,并围绕这些类别组织人员。这种运作方式几乎没有科学依据,在许多方面,这些边界主要由人际关系和政治因素决定,而不是技术和功能因素。为了更清楚地思考这个问题,我认为我们必须认识到这个令人不安的事实。

(如果你有兴趣进一步思考应用程序及其相互关系,你应该看看领域驱动设计中的战略设计部分)