构建您的 SOA: 面向服务的统一过程
有一种方法可以帮助您构建面向服务的体系结构 (SOA)——并将其好处带到将来的开发工作中。本文将介绍面向服务的统一过程(Service-Oriented Unified Process,SOUP),这是一种适应性非常强的软件方法。在这种方法中,将首先使用 IBM Rational Unified Process® (RUP®) 创建 SOA,接着在构建了 SOA 的基础后使用极限编程(Extreme Programming,XP)对服务进行构建、装配和重用。
有一种方法可以帮助您构建面向服务的体系结构 (SOA)——并将其好处带到将来的开发工作中。本文将介绍面向服务的统一过程(Service-Oriented Unified Process,SOUP),这是一种适应性非常强的软件方法。在这种方法中,将首先使用 IBM Rational Unified Process® (RUP®) 创建 SOA,接着在构建了 SOA 的基础后使用极限编程(Extreme Programming,XP)对服务进行构建、装配和重用。
引言
虽然 SOA 可以带来许多好处,但同时也可能受到以下一个或多个问题的困扰:
- 高复杂性和短上市时间,这样会增加失败的风险
- 由于高成本和量化投资回报 (ROI) 困难而导致较难容忍出现错误
- 需要恰当管理的动态要求和业务需求
如果您使用了软件方法——软件开发的系统方法——来在初始 SOA 推出期间提供所需的严格控制和过程,并在优化 SOA 的过程中进行调整,就可以避免这些问题。在考虑此处给出的软件方法之前,请阅读本系列的第二篇文章,该文指出,在面向服务的体系结构成熟度模型的第 3 级或第 4 级的“面向服务的体系结构成熟度模型”组织应使用 RUP 等正式的软件方法进行开发工作。只要达到了第 5 级,他们就应该使用 XP 之类的灵活方法了。
您的企业如何在保持开发过程一致的前提下过渡到较高的成熟度级别呢?本文将介绍一种最佳组合的方法,面向服务的统一过程 或 SOUP,用于开展构建工作并随后进行持续优化。在继续阅读本文之前,您应当对 RUP 和 XP 的工作方式有基本的了解。请参阅参考资料,以获得可帮助您了解相关知识的链接。
什么是 SOUP?
SOUP (Service-Oriented Unified Process)是一种使用 RUP 和 XP 中的最佳部分来构建和管理 SOA 项目的软件方法。它的目标是任何组织中正在进行的 SOA 项目。
典型的软件开发项目包含应用程序开发过程、项目管理以及所使用的技术。此外,软件开发项目通常具有四个变量:时间、预算、范围 和质量。任何一个变量的变化对整个项目都有影响。不断变化的业务需求使得范围和质量成为两个最难管理的因素。技术复杂性可能导致时间和预算管理方面出现问题。
SOA 项目比通常的软件项目复杂得多,因为它们要求配备更大的跨功能的团队,并且还有因此而带来更复杂的团队间沟通和日常管理工作。
虽然 SOA 可以为组织带来许多好处,但同时也可能带来很大的成本支出和时间消耗。如果项目没有经过良好定义,并且在项目启动时没有关于最终结果的远景,则失败的可能性就非常大。
可以帮助 SOA 成功完成的关键因素有:
- 明确定义的开发过程
- 与业务相关的项目团队之间增强的沟通渠道
- 明确的支持和控制策略
在初始开发过程中,采用正式软件方法是尽可能地减少已确定的风险的最好办法。成功建立了 SOA 项目后,可利用正式的维护和增量开发方法来增加项目的 ROI。然而,XP 之类的灵活方法可能不够正式,不适合在初始阶段使用。SOUP 方法可帮助减少 SOA 推出阶段的风险,并能让您随后进行持续 SOA 优化工作。
SOUP 是一个由六个阶段组成的软件开发方法。每个阶段代表对于 SOA 成功推出非常关键的一组特有的活动。当然,和在任何项目中一样,您将需要根据所在组织的情况对相关过程进行调整。
图 1 显示了 SOUP 过程。此方法也没有非常特别的地方:所有软件或 SOA 项目都是采用类似的方式定义的。

图 1. SOUP 过程模型
我将 SOUP 过程分为两类:
- 用于初始 SOA 部署的 SOUP
- 用于后续 SOA 管理的 SOUP
用于初始 SOA 部署的 SOUP
图 2 显示了用于初始 SOA 部署的 SOUP 的各个阶段。

图 2. SOUP 与 RUP 模型
- 本文关键词:

