作者 Ali Arsanjani, Simon Johnston, John Smith, IBM © Copyright 2005, 2006 by IBM Corporation. All Rights
Reserved.
主题
本文描述对 Rational Unified Process(RUP)所作的第三次更新,此次更新的重点是面向服务的体系结构(SOA)。此次更新代表了关于 SOA 的 RUP
指导信息中的一个重要里程碑,因为它提供了一种统一的方法,用于将先前的 RUP for SOA 内容与 IBM 全球业务服务(GBS)面向服务的建模和体系结构(SOMA)方法中的内容结合在一起。IBM 已成功地将 SOMA 方法用于众多客户合约,虽然该方法最初是利用现有 IBM 全球业务方法(GS 方法)开发的,然而曾认为在 SOA
方面 IBM 和客户双方从统一方法中获得的益处要比两个单独方法更多。查看这两个方法时可以清楚地发现,它们的作者曾怀有非常相似的目标,并以相似的方式对方法进行结构安排 - 事实上,这两个团队在 2004
年有过会面,并且对两个方法都作了一些更改来统一术语。虽然这次术语统一不见得会令人奇怪(因为两种方法都将重点放在开发面向服务的解决方案的实务活动上),然而当时已注意到可以抽取出一个一般框架,该框架能够在高级别描述这两个活动。
对于熟悉传统 RUP 的客户,可能想查看概念:开发面向服务的解决方案。
对于熟悉 SOMA 的 IBM 员工,可能想查看路线图:从 IBM SOMA 进行转换。
下图说明了上面提到的框架。它表示了一组与方法无关的活动,这些活动是开发面向服务的解决方案的任何流程所必需的。现在该图已就这两个方法的内容作了重大的简化,然而能够清晰地表示两个方法的主要活动 -
服务确定、服务规范和服务实现。 在工作产品方面,已清楚地知道有过许多概念上的统一。相似的工作产品曾经被要求具有相似的角色和项目干系人,然而在某些情况下实现方式是不同的,例如:作为 UML 模型或 Word
文档。这曾经被认为是一种待执行的相对简单的统一。同样地,总体而言重要影响与活动之间有着很好的对应,尽管实际情况确实是所有的需求对所有活动提供某种程度的支撑作用。
图 - 统一 SOA 方法框架
可以将该框架作下一级别的扩展,因为此处确定的活动受到许多技术的支持,并且这确实是所详述的技术中发生方法集成的区域。
本文不会提供关于技术集成的详细信息,然而重要的是要注意到:开发单一而一致的方法已导致两个方法中都发生了一些变化,这些变化作为起点,可确保读者看到的是一致的概念、方法、任务和工作产品定义。例如,用于提供某种程度的内容一致性的一个决策是使用现有的“RUP
for SOA 工作产品:服务模型”作为主要来源,从中可以生成许多文本报告和表来提供 SOMA 从业人员所期望的工作产品。总体而言,这种更改是有价值的:UML
服务模型具有更多语义,可用于开发服务规范和服务实现模型;然而必须扩展服务模型来捕获现有 SOMA 工作产品所需的更多信息,例如:“工作产品:服务规范”已作了扩展,带有更多的属性源和状态,可捕获 SOMA 从业人员日常使用的信息。
该插件内容基于以下指导思想:
-
允许将来发展变化;最大限度地减少或者避免对将来添加活动、工作产品和角色等的约束。
-
保持向当前或将来的商业方法添加专用扩展的能力:例如 SOMA 中特定于行业的扩展或资产,还可将专用内容添加到框架中进行服务利用
-
向着面向客户的内部 IBM 消息传递会合
-
方法必须保持与工具无关,但是对工具向导的集成提供用于支持 IBM 产品服务组合的指南
-
支持方法活动的能力,而不是根据 GS 方法或 RUP 或者其他传统方法对它们进行限制。
Rational Unified Process(RUP)的此次更新在范围上引入了关于开发服务模型(该模型表示了可用作 RUP 中现有实施任务的基础的一组服务)的软件设计人员和设计人员的指导信息。此外,我们还会描述业务建模和服务模型之间的连接。
许多面向服务的体系结构(SOA)项目都使用业务流程模型来了解其业务、功能需求以及支持流程所需的服务。
此更新的内容已在介绍中简要地指出,但以下还有一组用于指导项目的需求和范围限定声明。
-
利用现有的 RUP;在此情况下表示只要有可能,我们就应当参照 RUP 中现有的任务和工作产品来描述新任务和工作产品,而不必增加新的概念。 另外,应添加新元素以便它们能够适合 RUP 的整个流。
-
期盼未来的工具功能;虽然 RUP 与具体工具无关,但我们应当了解不使用工具而进行开发是毫无意义的,因此有必要撰写一个主题,因为这样的工具尚未面市,但我们期望它尽快出现。
-
在 SOA 中集成其他 IBM 经验;很明显,其他 IBM 团队具有可利用、可接受以及可添加到我们所介绍的概念、指南和实践中的经验。
-
对分析和设计的范围变更;我们参阅了介绍将 SOA 应用于业务设计,以及 SOA 在业务模型、操作组织和业务集成方面所涉问题的文献。 我们还考虑了 SOA 在实施、部署和操作管理方面的差异。
对于第一个迭代而言,并不需要考虑这么多问题,因此我们只将重点集中在体系结构和设计问题上。
-
交付基础;这是第一个迭代。我们希望将更多的指导信息添加到这里提出的框架和此内容与 RUP 后续迭代中剩余内容间的联系中。
-
注意需要对基础进行的变更(但将推迟到将来的发行版);我们知道所介绍的某些概念更适合于基本 RUP 的术语或其他较小的变更。 希望对 RUP 进行变更时,这会产生广泛和深远的影响。
我们规划在该产品的下一个商业发行版中将此内容作为基本 RUP 的一部分。同时,我们要向客户提供该内容,以使此处所述的内容作为 RUP 插件内容包含并可供下载。
正以并行方式对业务建模(BM)规程作出更改,以使 BM 和 SOA 之间的关联更强;然而先前的决策是在 SOA 插件完成前等待发生 BM 更改。这两组变更的集成将在商业发行版中提供。
将融入 GBS 面向服务的建模和体系结构(SOMA)中的许多重要概念。然而,在 SOMA
中汇集所有的概念和指导信息是不可能的,主要是由于它超出了我们的讨论范围,虽然在指导我们的工作时它很有用。
引入了某些新原理,包括对我们探讨剩余内容时所用的方法产生影响的概念,其中之一就是服务组合以及从企业范围的角度看待企业内提供的服务。
作者在此要感谢以下人员对本书所做的可贵贡献。感谢 Alan Brown 和 Sky Matthews 对本书内容提供支持并进行了复审。 感谢 Eoin Lane、Steve Graham、Ed Kahan 和 Grant Larsen
不仅为本书进行注释,还提供了许多对我们有帮助的示例(有时候也难住了我们)。 还要感谢我们的同事 Ali Arsanjani、Luba Cherbakov 和 Kerrie Holley 在 SOMA 方面所作的工作。此修订版中包含了
IBM Web service 安全性架构设计师 Maryann Hondo 提供的其他资料。
最后我们要感谢 Danske Bank 的 Claus Torp Jensen 和他的团队,感谢他们态度开放而坦诚的对话,为我们提供了银行在现实世界中应用 SOA 的经验。
|