缺陷管理常常需要多种软件产品。在本文中,学习如何使用 IBM® Mashup Center 轻松地整合来自不同数据源的数据。分析整合后的数据可以更深入地了解缺陷和项目状态。
缺陷管理对于任何软件项目都很重要,而且不同的工具负责不同的任务。在通常情况下,用一种工具跟踪缺陷,用另一种工具跟踪源代码版本,用此外的其他工具进行代码覆盖分析。尽管这些工具完成的任务不一样,但是它们提供的数据都与软件质量控制有关。如果能够把所有这些数据集成在一个位置来进行分析,不是很棒吗?如果能够按照一种有意义的方式把数据链接在一起,就能够发现这些看似散乱的数据之间的关系。
IBM Mashup Center 恰好可以满足这个需求。通过使用 IBM Mashup Center,可以轻松地对来自多个数据源的数据进行转换和合并。IBM Mashup Center 可以使用许多不同的数据源,包括 XML 文档和 feed。大多数缺陷管理工具提供 XML 或 ATOM feed 格式的报告,可以构建 mashup 应用程序,它们以缺陷跟踪指示板的方式使用这些 feed。
本文在高层面讨论如何构造这样的应用程序。本系列的 第 2 部分 介绍实现这种应用程序的细节,并分步讲解如何在 IBM Mashup Center 中创建和配置每个 mashup。
![]() ![]() |
![]()
|
对于无法只使用任何其他单独工具的软件开发环境,mashup 应用程序可以提供非常有价值的特性。例如,Bugzilla 这样的工具提供基本的分析和图形绘制功能。但是,您能够完成的工作受到 Bugzilla 提供的特性的限制。通过使用 IBM Mashup Center,就可以利用来自其他工具的 XML feed 中的信息。IBM InfoSphere™ MashupHub 是 IBM Mashup Center 的一个关键组件,可以使用它非常轻松灵活地转换、增强或分析 feed。另外,mashup 应用程序可以把来自不同数据源的数据组合在一个地方。通过集成来自不同数据源的数据,就可以发现这些数据之间原本很难发现的关系。集成相关数据可以提供新的视角,有助于改进软件开发过程。
![]() ![]() |
![]()
|
要想创建一个缺陷指示板 mashup 应用程序,需要创建以下两类 feed/mashup:
- 缺陷细节列表 feed:这个 feed 提供缺陷及其细节的列表。您指定一个条件(例如,自某一日期以来的所有缺陷或某一组件的所有缺陷),这个 feed 就会获取满足这个条件的所有缺陷。
- 缺陷分析 mashup feed:可以为不同类型的分析创建不同的 feed。通过创建 mashup 来对缺陷列表 feed 进行分组、排序或过滤,就能够回答下面这样的问题:
- 每个组件有多少个缺陷?有多少个缺陷仍然很严重?
- 在过去几个月中,每周发现多少个缺陷?
- 文件数量和缺陷数量之间是什么关系?
把缺陷细节列表 feed 与其他 mashup feed 分开,这有助于轻松地为不同的分析重用这个 feed,并且对性能有利。根据缺陷数量的不同,从 Bugzilla 获取数据可能要花费很长时间。创建一个单独的缺陷细节列表 feed,就可以把结果缓存起来,供其他 feed mashup 使用。
这个 feed 的目的是获取分析所需的所有缺陷细节。缺陷管理系统通常包含多个产品和版本的缺陷信息,而且在典型场景中,并不需要分析所有缺陷。Bugzilla 提供一个用来过滤缺陷的 Web 界面。在这个界面上,可以根据产品名称、版本、bug 的产生日期和大量其他信息来过滤缺陷。
图 1. Bugzilla Web 搜索界面

单击搜索按钮之后,Bugzilla 会在一个 Web 页面上显示结果。它还以 ATOM feed 的形式提供相同的输出。IBM MashupHub 可以使用这个 feed 的 URL。这种方法也适用于以 ATOM feed 或 XML 文档作为输出的其他工具。
要想让这种方法发挥作用,URL 必须包含所有搜索条件。例如,在下面的 Apache Bugzilla 的 URL 中可以看到 URL 参数形式的过滤条件:
IBM MashupHub 能够使用相似的 URL 获取 feed 数据。
IBM InfoSphere MashupHub 提供许多用来转换 feed 输出的操作器。例如,Transform 操作器允许修改 XML feed 的内容,或者过滤掉 feed 中不必要的元素。这个操作器还提供各种文本处理函数(例如 Trim、Concatenate、SubString)和算术函数(例如 Add、Max、Count),有助于进一步处理 feed 内容。
图 2. MashupHub 操作器
本文转自IBM Developerworks中国