摘要:所有伟大的架构师都掌握了在抽象的不同层次上概念化解决方案的技能。通过将解决方案组织到离散的层次,架构师可以专注于解决方案的单个方面而忽略所有剩余的复杂性。展示将抽象层次应用到 IT 解决方案的技术,并将其与其他工程学科相比较。
本文内容
将抽象层次应用到 IT 解决方案 抽象层次:所有工程师的强大武器 应用抽象层次时的核心原则 将抽象层次应用到 IT 系统 简单框架:四个抽象层次 通过迭代发展层次 重访抽象层次核心原则 扩展层次以支持企业解决方案 优点 小结 自我评估 将抽象层次应用到 IT 解决方案
企业架构师正受到其所面临的大量复杂性的挑战。开发一个能够自动处理企业任务的独立的部门应用程序是一回事。而设计并组成一个支持上万 IT 使用者的满是应用程序、服务器和数据库(全都支持多种企业活动)的 IT 实验室全球网络,则完全是另外一回事。要组合这些复杂性,IT 网络必须随时可用、响应迅速并保护企业宝贵的信息资产。除所有这些之外,IT 网络还必须足够灵活以支持企业永远变化的需要,并且采用出现的新技术。
为了让系统按预期方式运行,每个后续的层必须是其父层的适当改进。如果计算机系统设计师从 IDE 总线切换到 SCSI 总线,那么所有设备的接口规范也必须切换到 SCSI。如果层次没有同步,那么系统就不会按预期方式在顶层执行。
将抽象层次应用到 IT 系统
既然我们已经分析了其他学科是如何应用抽象层次的,现在就让我们将此技术应用于 IT 解决方案1。下列部分展示了应用抽象层次为典型 IT 应用程序的需求、设计和实现建模的技术。这些技术是通过一个针对假想零售商的简单的、指导性的在线定单系统示例来展示的。在我们的示例中,我们不仅包括了体系结构,而且扩展了范围以包括系统需求和业务环境 — 如同由零售业所定义的。
物理抽象层次捕获系统实现的结构。系统作为一个节点的网络实现,每个节点都配置有硬件和软件。逻辑视图中的三个软件层(表示层、业务层和数据层)是以代码形式被物理实现,并部署到这些节点上。逻辑视图中的持久类物理存储在 SQL Server 数据库的关系表中。
动态视图
动态视图跟踪经过物理配置节点的消息流。ConfirmOrder HTTP post 从客户的浏览器通过 Internet 通过零售商的防火墙流动到 Web 服务器,在那里 Microsoft Windows 将其转发到 IIS,IIS 又将其传递到 Microsoft ASP.NET,然后 ASP.NET 调度 ConfirmOrder.aspx。幸运的是,现代开发工具将我们与多数物理网络隔离开来。但是,架构师需要了解物理层以避免网络瓶颈和安全暴露。
静态视图
静态视图(图 8)将逻辑视图中的持久类改进为其物理表示形式。在我们的零售示例中,业务层类存储在下列 SQL Server 表中。
Cockburn, Alistair. Writing Effective Use Cases. New Jersey: Addison-Wesley, 2001
Kroll, Per and Kruchten, Philippe. The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP. Boston MA: Pearson Education and Addison-Wesley, 2003
DeMarco, Tom and Plauger, P J Structured Analysis and System Specification. Prentice Hall PTR, 1979
1 很多人已经成功地将抽象层次应用于软件。Ed Yourdon 和 Tom DeMarco 在 1979 年提出了结构化分析和结构化系统设计的概念。美国政府的许多分支机构标准化了 DoD 的 2167A 标准,它要求系统由有层次的硬件和软件配置项组成。DBA 社区经常应用细节层次为关系数据库建模。特别地,Bachman 工具集和 James Martin 的信息工程方法学 (Information Engineering Methodology,IEM) 先为数据库逻辑建模,然后再为其物理建模。在 Google 上键入"software levels of abstraction"进行搜索会返回若干个结果,但其中大多数来自于学术社区,而且其内容看起来集中在正式计算机语言方面。
关于作者 自定义软件工程公司揭开伟大架构师的秘密 Don Awalt 是 RDA Corporation 的创始人和 CEO,该公司是一家自定义软件工程公司,成立于 1988 年,在华盛顿特区、巴尔的摩、亚特兰大、费城和芝加哥都设有办事处。作为微软认证金牌伙伴 (Microsoft Gold Certified Partner),该公司专注于使用 .NET Framework 开发企业 Web 和富客户端系统。Don 目前是 Microsoft 华盛顿特区的区域总监,他以前曾经担任费城首任区域总监。Don 经常在行业活动中演讲,这些活动包括 Tech Ed、Developer Days、MSDN 活动和各种 SQL Server 及 Windows 活动。他是 SQL Server Magazine 和 PC Tech Journal Magazine 的特约编辑,并且也为其它出版物撰写稿件。Don 所擅长的技术领域包括 Web 服务、SQL Server、现代编程语言的发展,以及在 Microsoft 的 Prescriptive Architecture Group (PAG) 中可以看到的许多体系结构和处理工作。可以通过 AWALT@rdacorp.com 联系到 Don。