< 上一课 | 下一课 >

第 1.1 课:定制用于 ETL 作业的源数据

在本课程中,您将学习如何修改 XML Data Configuration 文件。XML Data Configuration 文件包含 ETL 所用数据的源与结构的信息,并将在运行时由 XML ODBC 驱动程序使用。在本课程中,将向 XML Data Configuration 文件添加新属性和资源。
先决条件:开始该课程之前,请备份 clearquest.xdc。 缺省位置是 [rational_insight_installation_directory]/dataconfig/configs/configurations 目录。

对于本课程,您将使用 clearquest.xdc 文件作为起始点,并修改该文件以达到课程目标。将添加组件实体,并将其作为缺陷记录的属性。

在本课程中,将执行以下操作:
  • 修改资源组的连接信息以与环境中部署的 Data Services 服务器相匹配
  • 修改缺陷数据表以添加新的属性和值映射
  • 为组件添加新资源和数据表
  • 将多个项目添加至资源类别
为资源组配置服务器连接
  1. 启动 XML Data Configuration。
  2. 单击文件 > 打开配置 > clearquest.xdc。 通常,该文件位于 [rational_insight_installation_directory]/dataconfig/configs/configurations 目录中。
  3. 展开 XML Data Configuration 节点以列出资源组。双击 CQEnterprise。通常,CQEnterprise 位于 XML Data Configuration > 资源 > ClearQuest Enterprise > CQEnterprise Enterprise 下文。
    XML Data Configuration 文件的导航树
  4. 在资源组编辑器中,更改“Data Services URL”以与环境中部署的 Data Services 服务器的 URL 相匹配,并更改认证类型和用户名及密码以与 Data Services 服务器中的认证设置相匹配。
    概念: 资源组应该定义一组 XML 文档的基本 URL。按产品列出的资源组的建议作用域是:
    • Rational® ClearQuest®:指向用户数据库的 URL
    • Rational RequisitePro®:指向 RequisitePro 项目的 URL
    • Rational ClearCase®:指向 ClearCase VOB 的 URL
    • Microsoft® Project:指向 Project 文件的 URL
    • Rational QualityManager:指向 RQM REST 服务的根 URL
    • Rational TestManager:指向 TestManager 项目的 URL
  5. 保存配置。
此时已修改 clearquest.xdc 文件的连接信息以匹配在环境中部署的 Data Services 服务器。
将列添加到数据表
  1. 展开 CQEnterprise > ENTDefect 节点以列出数据表。
    ENTDefect 节点下的数据表
    概念: ENTDefect 节点表示所有缺陷记录的 XML 文档(资源),这些缺陷记录是通过将父资源组中定义的 URL 连接到分配给资源的相对路径而返回的。
  2. 双击 ENTDefect 数据表。
  3. 单击选项卡,选择优先级列所对应的行,然后单击编辑器右上角的值映射链接。
    概念: 使用值映射,可以在抽取过程中将源实例值变换为新值。这是对来自多个源的数据进行公共定义标准化的一个便利方法。例如,如果您的公司使用“高”、“中”和“低”来定义优先级,而公司内某些组使用 P1、P2 和 P3,那么可以定义值映射以标准化该定义。
  4. 值映射窗口中,指定以下值:
    P1
    P2
    P3
    保存数据表。
  5. 要打开相关联的数据表模板,请在选项卡中,单击右上角的修改链接。选择优先级行定义,并在 XML 模式部分中选择业务优先级列,然后单击更新 XPath
    更新 XPath
    概念: XML Data Configuration 将使用现有列映射自动验证从数据服务中返回的模式。将突出显示任何无效的映射。 在该情境中,定制的模式具有与当前“优先级”列相同的信息,但该信息处于不同属性中。在该步骤中,将无效的现成/优先级 XPath 重新映射至有效的/业务优先级 XPath。
  6. 在“列映射”部分中,展开 XML 模式部分下的缺陷根节点以列出缺陷下的属性。

    在接下来的几个步骤中,将从 XML 源中创建新的表列映射。左侧的树结构表示与数据表相关联的可抽取节点内所包含的子节点。

  7. 单击状态,然后单击创建。 请确保表列的名称为“Status”,SQL 类型为“Varchar”。 保存表模板。
  8. 在“映射列”部分中,展开 XML 模式部分下的缺陷根节点以列出缺陷下的属性。 选择节点缺陷 > 组件
  9. 单击 dbid,然后单击创建。 请确保表列的名称为“Component_dbid”,SQL 类型为“Integer”。保存表模板。
    概念: 在本教程的已定制“企业”模式中,需要为 ETL 过程提供足够的信息才能创建从“缺陷”记录至“组件”记录的关系。将通过展示“Component_dbid”属性(ClearQuest 记录的唯一键)来执行该操作。
  10. 返回至 ENTDefect 数据表编辑器。系统提示更新时,请单击确定
  11. 选择两个新列 Status 和 Component_dbid,然后单击装入
    概念: 数据表定义可以在相关联数据表模板中包含列映射的子集。使用“装入/卸装”功能,可以控制列对 ODBC 客户机的可视性。
  12. 保存数据表。
此时已通过添加新属性和值映射修改了缺陷数据表。

接下来,您将定义新的数据表以展示来自 XML 源的组件数据。第一步是定义新资源以表示包含组件信息的 XML 文档。

创建数据表
  1. 右键单击 CQEnterprise 资源组,选择新建 > 资源并选择使用数据服务查找
    概念: 如果不知道该资源的 URL,可以使用使用数据服务查找来定义该资源。
  2. 将名称指定为 ENTComponent,并单击下一步
  3. 展开数据库 > RecordQueries > 查询 > 查询节点,并在元素属性部分中选择 href 复选框,然后单击下一步

    现在使用向导可检索从资源组级别返回的 XML 文档的模式。PersonalQueries 和 PublicQueries 文件夹包含在 ClearQuest 用户数据库中定义的相关查询。RecordQueries 文件夹包含动态生成的 ClearQuest 数据服务查询,这些查询将返回特定类型的所有记录。使用向导页面,可将您关注的焦点限定为所有可能的记录,而不必查看实际数据。

  4. 选择以 /Record+Queries/Component 结尾的 URL。 此时将显示通过上一个向导页面选择的节点的所有实例。单击完成
  5. 右键单击新创建的资源,并选择新建 > 数据映射表,然后将其名称指定为 ENTComponent。单击下一步
  6. 将可抽取节点指定为 /Query/results/Component。 单击下一步
  7. 选择创建新模板。输入数据表的名称和描述并单击下一步

    在下一步中,将在 XML 树中选择想要显示为表列的那些节点。

  8. 选择以下节点:
    • dbid(SQL 类型为 Integer)
    • Component(SQL 类型为 VARCHAR)
    单击完成
此时已在 CQEnterprise 资源组中定义了必需的数据表。目前它仅适用于单个 ClearQuest 数据库。但是,可以从单个资源类别下的多个资源组中抽取数据。要能够执行该操作,需要在资源类别下为每个 ClearQuest 数据库创建资源组。

在接下来的几个步骤中,将在 ClearQuest Enterprise 资源类别下创建新的资源组。 要执行该操作,将使用 CQEnterprise 资源组作为起始点。

为其他项目创建资源组
  1. 拖动 CQEnterprise 资源组,并将其放至 ClearQuest Enterprise 资源类别中。
  2. 单击复制
  3. 选择复制的资源组并通过更改 URL 对其进行修改,以与其他项目的 ClearQuest 用户数据库的 Data Services URL 相匹配。在本教程的第一课中,您已学习了如何执行该操作。
    概念: 在 ETL 中,通过将资源组组织为类别,可以批处理方式装入具有相同配置的多个资源组。
  4. 选择现有资源组链接,选择 CQEnterprise,单击确定,然后保存更改。
    概念: 资源组可以链接到现有资源组。所创建的新资源组具有自己的名称和连接信息,但是共享现有资源组 CQEnterprise 中定义的所有资源和数据映射表。 这表示仅保留资源和数据映射表的一个副本。 如果您更改 CQEnterprise,那么链接的所有资源组将自动使用更新后的资源和数据映射表。