在本课程中,您将学习如何修改 XML Data Configuration 文件。XML Data Configuration 文件包含 ETL 所用数据的源与结构的信息,并将在运行时由 XML ODBC 驱动程序使用。在本课程中,将向 XML Data Configuration 文件添加新属性和资源。
对于本课程,您将使用 clearquest.xdc 文件作为起始点,并修改该文件以达到课程目标。将添加组件实体,并将其作为缺陷记录的属性。
在本课程中,将执行以下操作:
- 修改资源组的连接信息以与环境中部署的 Data Services 服务器相匹配
- 修改缺陷数据表以添加新的属性和值映射
- 为组件添加新资源和数据表
- 将多个项目添加至资源类别
为资源组配置服务器连接- 启动 XML Data Configuration。
- 单击。
通常,该文件位于 [rational_insight_installation_directory]/dataconfig/configs/configurations 目录中。
- 展开 XML Data Configuration 节点以列出资源组。双击 CQEnterprise。通常,CQEnterprise 位于 下文。
- 在资源组编辑器中,更改“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
- 保存配置。
此时已修改 clearquest.xdc 文件的连接信息以匹配在环境中部署的 Data Services 服务器。
将列添加到数据表- 展开 节点以列出数据表。
概念: ENTDefect 节点表示所有缺陷记录的 XML 文档(资源),这些缺陷记录是通过将父资源组中定义的 URL 连接到分配给资源的相对路径而返回的。
- 双击 ENTDefect 数据表。
- 单击列选项卡,选择优先级列所对应的行,然后单击编辑器右上角的值映射链接。
概念: 使用值映射,可以在抽取过程中将源实例值变换为新值。这是对来自多个源的数据进行公共定义标准化的一个便利方法。例如,如果您的公司使用“高”、“中”和“低”来定义优先级,而公司内某些组使用 P1、P2 和 P3,那么可以定义值映射以标准化该定义。
- 在值映射窗口中,指定以下值:
保存数据表。
- 要打开相关联的数据表模板,请在列选项卡中,单击右上角的修改链接。选择优先级行定义,并在 XML 模式部分中选择业务优先级列,然后单击更新 XPath。
概念: XML Data Configuration 将使用现有列映射自动验证从数据服务中返回的模式。将突出显示任何无效的映射。
在该情境中,定制的模式具有与当前“优先级”列相同的信息,但该信息处于不同属性中。在该步骤中,将无效的现成/优先级 XPath 重新映射至有效的/业务优先级 XPath。
- 在“列映射”部分中,展开 XML 模式部分下的缺陷根节点以列出缺陷下的属性。
在接下来的几个步骤中,将从 XML 源中创建新的表列映射。左侧的树结构表示与数据表相关联的可抽取节点内所包含的子节点。
- 单击状态,然后单击创建。
请确保表列的名称为“Status”,SQL 类型为“Varchar”。
保存表模板。
- 在“映射列”部分中,展开 XML 模式部分下的缺陷根节点以列出缺陷下的属性。
选择节点。
- 单击 dbid,然后单击创建。
请确保表列的名称为“Component_dbid”,SQL 类型为“Integer”。保存表模板。
概念: 在本教程的已定制“企业”模式中,需要为 ETL 过程提供足够的信息才能创建从“缺陷”记录至“组件”记录的关系。将通过展示“Component_dbid”属性(ClearQuest 记录的唯一键)来执行该操作。
- 返回至 ENTDefect 数据表编辑器。系统提示更新时,请单击确定。
- 选择两个新列 Status 和 Component_dbid,然后单击装入。
概念: 数据表定义可以在相关联数据表模板中包含列映射的子集。使用“装入/卸装”功能,可以控制列对 ODBC 客户机的可视性。
- 保存数据表。
此时已通过添加新属性和值映射修改了缺陷数据表。
接下来,您将定义新的数据表以展示来自 XML 源的组件数据。第一步是定义新资源以表示包含组件信息的 XML 文档。
创建数据表- 右键单击 CQEnterprise 资源组,选择并选择使用数据服务查找。
概念: 如果不知道该资源的 URL,可以使用使用数据服务查找来定义该资源。
- 将名称指定为 ENTComponent,并单击下一步。
- 展开节点,并在元素属性部分中选择 href 复选框,然后单击下一步。
现在使用向导可检索从资源组级别返回的 XML 文档的模式。PersonalQueries 和 PublicQueries 文件夹包含在 ClearQuest 用户数据库中定义的相关查询。RecordQueries 文件夹包含动态生成的 ClearQuest 数据服务查询,这些查询将返回特定类型的所有记录。使用向导页面,可将您关注的焦点限定为所有可能的记录,而不必查看实际数据。
- 选择以 /Record+Queries/Component 结尾的 URL。
此时将显示通过上一个向导页面选择的节点的所有实例。单击完成。
- 右键单击新创建的资源,并选择,然后将其名称指定为 ENTComponent。单击下一步。
- 将可抽取节点指定为 /Query/results/Component。
单击下一步。
- 选择创建新模板。输入数据表的名称和描述并单击下一步。
在下一步中,将在 XML 树中选择想要显示为表列的那些节点。
- 选择以下节点:
- dbid(SQL 类型为 Integer)
- Component(SQL 类型为 VARCHAR)
单击完成。
此时已在 CQEnterprise 资源组中定义了必需的数据表。目前它仅适用于单个 ClearQuest 数据库。但是,可以从单个资源类别下的多个资源组中抽取数据。要能够执行该操作,需要在资源类别下为每个 ClearQuest 数据库创建资源组。
在接下来的几个步骤中,将在 ClearQuest Enterprise 资源类别下创建新的资源组。
要执行该操作,将使用 CQEnterprise 资源组作为起始点。
为其他项目创建资源组- 拖动 CQEnterprise 资源组,并将其放至 ClearQuest Enterprise 资源类别中。
- 单击复制。
- 选择复制的资源组并通过更改 URL 对其进行修改,以与其他项目的 ClearQuest 用户数据库的 Data Services URL 相匹配。在本教程的第一课中,您已学习了如何执行该操作。
概念: 在 ETL 中,通过将资源组组织为类别,可以批处理方式装入具有相同配置的多个资源组。
- 选择现有资源组链接,选择 CQEnterprise,单击确定,然后保存更改。
概念: 资源组可以链接到现有资源组。所创建的新资源组具有自己的名称和连接信息,但是共享现有资源组 CQEnterprise 中定义的所有资源和数据映射表。
这表示仅保留资源和数据映射表的一个副本。
如果您更改 CQEnterprise,那么链接的所有资源组将自动使用更新后的资源和数据映射表。