集成 IBM 元数据存储库,第 1 部: APIs for accessing Rational Asset Manager
通过将您的应用程序与 IBM? Rational? Asset Manager 集成,学习如何支持基于资产的开发。本文主要介绍用于检索和修改基于存储库资产的各种 API 的功能,其中包括使用 Web service 和 HTTP API 进行常见存储库操作的示例代码。
?
IBM 为资产生产、消耗和管理提供一套构建 ABD 流程的产品,包括 Rational Software Architect、Rational Clear Case/Clear Quest 和 Asset Manager。
在套件中,Asset Manager 是资产管理解决方案,在 ABD 流程中处于中心地位。除了资产管理之外,还提供一个协作机制用于资产重用,一个本体系统(ontology system)用于更好地进行资产分类,以及一个管理流程用于资产生命周期。应用程序需要同 Asset Manager 交互来加入 ABD 流程。
资产数据包含基本资产信息,一个资产清单、已扩展元数据和资产内容(图 3)。
图 3. 资产数据模型
基本资产信息包含:
资产 ID 和资产版本,这是唯一识别资产的资产最后一次更改的日期资产的管理状态资产的名称和简要说明资产清单是核心元数据;遵循 RAS ,包含以下部分:
分类部分 — 一组描述符用于对资产进行分类,以及资产相关背景的描述。解决方案部分 — 构件集合的索引,描述资产中构件的层次结构。使用部分 — 安装、定制和使用资产的规则。相关资产部分 — 该资产与其他资产的关系。已扩展元数据是被 Asset Manager 定义的,用来提高使用体验和方便用户重用。这些元数据包括:
User Tags — 关于该资产用户定义的描述性信息,是附加在资产清单的分类部分的。Change History — 一个资产修改的日志,能被用于资产版本和管理状态跟踪。Usage Metrics — 一些用户对资产评价的统计信息,是一种常见的资产度量方法。度量体系对于提高资产重用是很有用的。资产内容是解决方案的实现。它包含在目录层次结构中组织的一组构件。层次结构与资产清单中的解决方案部分是一致的。
系统元数据是 Asset Manager 中所有资产实例共享的必要公共元数据。它包含资产类型、类别模式和相关类型。它也是操作资产时重要的信息。
一个资产 ZIP 文件包含资产清单文件(manifest.rmd)和构件。清单文件描述解决方案分类、使用和相关资产。图 5 显示了一个样例清单文件。
图 5. 一个样例资产清单文件
您可以使用标准 ZIP 和 XML 处理技术根据 RAS 来操作资产内容及其清单,这给您完全的资产控制,但是同时也意味着较少的直觉和更大的风险。例如,为了向资产添加一个分类术语,您必须在相应的 descriptorGroup 元素下添加一个 nodeDescriptor 元素,然而如果 descriptorGroup 不存在,您必须同时添加 descriptorGroup 和 nodeDescriptor 元素。(见 访问系统元数据 获取如何通过添加一个新 descriptorGroup 元素来检索所需信息。)为了向资产添加一个构件,您首先必须在 ZIP 文件中的正确位置添加该构件,然后向资产清单相应的解决方案部分添加一个构件实体元素。所有这些在核心资产文件上的修改必须遵从 RAS。
一个资产被创建或修改之后,您可以使用 HTTPS POST 请求向 Asset Manager 存储库提交新资产。HTTP POST 参数在 Asset Manager InfoCenter(见 参考资料)中予以说明。
清单 1 说明了如何使用 HTTP 接口来访问一个资产。
清单 1. 使用 HTTP 接口访问资产
类别模式包含一个分类实体的层次结构,每个实体是一个特定的元素,有两个属性:@xmi:id 和 @name。@xmi:id 是惟一的,并能识别在类别模式中使用哪些分类实体来对资产清单中的资产进行分类。
检索实体模式的另一种方法是通过递归调用 getSubCategories
方法来遍历类别模式。当用户从顶层查看类别层次结构时,这种风格对他们来说更为直观。
Asset Manager 不允许自定义资产生命周期。然而,在真实开发环境,用户有自己的生命周期定义,并为资产审查流程。该生命周期不能完全与 Asset Manager 的默认生命周期保持一致。为了填补这一空缺,应用一个外部驱动的生命周期机制。首先,您可以定义自己生命周期和转换规则,然后将定制生命周期的状态映射到 Asset Manager 中的默认资产生命周期。最后,当资产的外部状态达到一个预定义传输点时,您可以在 Asset Manager 中使用一个外部触发器来传输一个资产状态。
清单 4 说明如何用一个外部触发器来管理一个资产生命周期。
清单 4. 列出 Asset Manager 存储库中的关系类型
?
?
原文:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0905_cfengli/0905_cfengli.html?ca=drs-
?
?