路线图:从 IBM SOMA 进行转换
提供此路线图的目的是为与 RUP 集成前的 SOMA 方法中所涉的 IBM 全球业务顾问提供方向指引。
主要描述

IBM 面向服务的建模和体系结构

已开发了 SOMA 方法作为 IBM 全球业务服务组中的约定模型,虽然提供了一些公开的白皮书及描述,但是该方法主要供该领域中的顾问使用,而不向 IBM 客户提供。另一方面,RUP 是 IBM 提供的商业产品,客户可使用它来开发自己的软件开发流程。已开发了 RUP/SOMA 作为所提供的集成方法,以将 SOMA 的特有方面融入RUP 商业方法,并提供给商业客户。

在 SOA 解决方案设计方面,令人惊异地发现在这两种方法中出现很多相似的元素,主要在以下三个主题区域。

为支持这些活动,SOMA 定义了一组技术和工作产品(如下图所示)来定义端到端解决方案模型。下面的方法元素是按颜色进行编写的,元素自上而下依次为:确定、规范和实现。RUP 在 2004 年和 2005 年包含了 SOA 内容,该内容向客户了提供已集成到现有 RUP 框架中的许多相似技术和一组工作产品。

 

集成的 SOA 方法

通过将 RUP SOA 内容和 SOMA 结合在一起,我们已根据以下框架将方法、技术和工作产品结合在一起。如您所见,核心活动保持不变,工作产品也保持不变(在该高级别详细程度上),我们将在此描述指导不同活动的主要影响(尽管大多数活动考虑其中大部分影响的某个方面)。同样请注意,这仍然是一种迭代方法,通常将在针对不同服务或不同领域中的服务的多个(且通常是重叠的)迭代中发生确定、规范和实现活动。

 方法概述

当前方法此时未涵盖服务的部署、供应和管理。

阶段:确定

如前所述,服务确定的核心方法对于 SOMA 和 RUP 都是相同的,但也存在一些差异,其中某些差异显现在生成的集成方法中。下表描述如何在集成的 RUP/SOMA 中实现 SOMA 的技术,以及这些主题可在所生成的方法内容的何处找到。除现有的 RUP 资料具有更强的优先顺序外,已从 SOMA 保留可能的名称。

SOMA 活动 SOMA 任务 RUP/SOMA 内容
领域分解 功能区域分析 此任务记录在 RUP/SOMA 任务:功能区域分析,并受到以下指导信息的支持:概念:功能区域分析概念:组件业务建模
  流程分解

此任务记录在 RUP/SOMA 任务:优化业务用例中,并受到以下指导信息的支持:概念:业务流程分解任务:业务流程分析

  面向差异的分析 此任务记录在 RUP/SOMA 指南:可变性分析
目标服务建模 确定目标和子目标

此任务记录在 RUP/SOMA 任务:确定业务目标和 KPI 中,并受到以下指导信息的支持:工件:业务目标指南:业务目标核对表:业务目标

  确定子目标的服务 此任务记录在 RUP/SOMA 任务:确定服务并将服务与目标关联中。
  确定子目标和服务的 KPI 和度量

此任务记录在 RUP/SOMA 任务:确定业务目标和 KPI 中,并受到以下指导信息的支持:工件:业务目标指南:业务目标核对表:业务目标

现有资产分析 现有资产分析 此任务记录在 RUP/SOMA 任务:现有资产分析中。

这将产生“确定”的“阶段”结构,该结构相似于下列内容:

同样,RUP 方法内容包含以下元素,这些元素在 SOMA 中没有相应的技术。

阶段:规范

按与“确定”相似的方式开发了“服务规范”,如下表所述。

SOMA 活动 SOMA 任务 RUP/SOMA 内容
服务规范 应用服务石蕊测试 此任务记录在 RUP/SOMA 任务:应用服务石蕊测试
  对服务依赖关系建模

此任务记录在 RUP/SOMA 任务:服务规范(步骤对服务依赖关系建模),并受到以下指导信息的支持:报告:服务依赖关系

  对服务组合和流程建模

此任务记录在 RUP/SOMA 任务:服务规范(步骤对服务组合和流程建模)中,并受到以下指导信息的支持:概念:服务组合和编排指南:服务实现 - SOA 应用程序中的 BPEL 服务

  记录服务的非功能需求 此任务记录在 RUP/SOMA 任务:服务规范(步骤记录服务的非功能需求)中
  指定服务消息

此任务记录在 RUP/SOMA 任务:服务规范任务:消息设计指南:消息附件中。

  记录状态管理决策

此任务记录在 RUP/SOMA 任务:服务规范(步骤记录状态管理决策),并受到以下指导信息的支持:指南:服务的状态管理

子系统分析 确定子系统依赖关系 此任务记录在 RUP/SOMA 任务:子系统设计(SOA)(步骤确定子系统依赖关系)中。
确定服务组件

此任务记录在 RUP/SOMA 任务:子系统设计(SOA)(步骤确定服务组件),并受到以下指导信息的支持:指南:服务组件模式

确定功能组件

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤确定功能组件),并受到以下指导信息的支持:指南:服务组件模式

确定技术组件

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤确定技术组件)中,并受到以下指导信息的支持:指南:服务组件模式

组件规范 指定组件属性

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤对组件属性建模)中。

  确定事件和消息

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤对组件事件和消息建模)中。

  对组件内部流程建模

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤对组件内部流程建模)中。

  创建组件类图

此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤对组件内部结构建模)中。

  面向差异的设计 此任务记录在 RUP/SOMA 指南:可变性分析中。

这将产生“规范”的“阶段”结构,该结构相似于下列内容:

 

同样,RUP 方法内容包含以下元素,这些元素在 SOMA 中没有相应的技术。

阶段:实现

按与上述两个活动相似的方式开发了“服务实现”,如下表所述。

SOMA 活动 SOMA 任务 RUP/SOMA 内容
实现决策  

此任务记录在 RUP/SOMA 任务:记录服务实现决策中。

  服务分配 此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤将组件分配给层)中。
  将组件分配给层 此任务记录在 RUP/SOMA 任务:组件规范(SOA)(步骤将组件分配给层)中。
  技术可行性探索 此任务记录在 RUP/SOMA 任务:构造体系结构概念验证(SOA)中。

这将产生“实现”的“阶段”结构,该结构相似于下列内容:

 

服务模型

在 SOMA 中,服务模型是使用下图描述的;它是一个基于文档的工作产品,包含项目期间已确定和指定的服务的不同技术和生命周期视图。在 RUP/SOMA 中,通过工件:服务模型更详细地列出了服务模型的不同部分。

SOMA 服务模型图示

以文档和 UML 两种格式(模板:用 Word 表示的服务模型模板:用 UML 表示的服务模型)对 RUP 工件:服务模型进行描述,然而项目更可能使用这两种格式的元素来显示工作结果。