IBM InfoSphere Master Data Management Reference Data Management Hub V10 简介

IBM® InfoSphere® Master Data Management (MDM) Reference Data Management Hub v10.0 (RDM) 是 2012 年 7 月发布的一款新产品,提供跨不同业务领域在信息世界中无缝管理参考数据所必不可少的一系列功能,其中包括全面的程序 编写和生命周期管理功能、版本控制模型、基于角色的安全性和访问控制。

Fenglian Xu, 软件工程师, IBM

Fenglian Xu 的照片Fenglian Xu 是位于英国 IBM Hursley 软件实验室的 IBM Reference Data Management 开发团队的一名首席开发人员。她拥有 15 年的 IT 行业经验,为 IBM 中间件产品组合做出了极大的贡献:WebSphere Service Registry and Repository、WebSphere Enterprise Service Bus 和 WebSphere Process Server 等。她的专长包括面向服务架构中的 IBM 中间件产品集成、J2EE 和 Web Services。她还是 IBM developerWorks 的一名作者,发表过 20 多篇文章。她于 1989 年在中国获得了西安交通大学的应用数学和软件工程的学士学位,并于 1998 年在英国获得了南安普敦大学的计算机科学的博士学位。您可以通过 xufengli@uk.ibm.com 联系 Fenglian。


developerWorks 投稿作者

Sushain Pandit, 软件工程师, IBM

Pandit 的照片Sushain Pandit 是 IBM Austin 实验室的一名 IBM 发明人和杰出工程师,专长领域是行业领先的企业信息管理解决方案和产品。目前,他从事主数据管理产品组合研发,致力于参考数据管理产品的开发、架构、客户服务和采用。他申请了超过 15 项美国专利,与人合作发表了 5 篇论文,拥有爱荷华州立大学的计算机科学硕士学位。他的兴趣广泛,涵盖结构化和非结构化数据、信息提取和集成、语义 Web 和机器学习。



Dan Mandelstein, 产品开发经理, IBM

Mandelstein 的照片Dan Mandelstein 是一名 IBM 认证的 IT 架构师,在 IT 行业拥有 20 多年的从业经验。目前他致力于主数据管理产品组合,是 IBM 参考数据管理产品的架构师兼开发经理。他从位于达拉斯的德克萨斯大学获得了计算机科学学士学位和硕士学位。



2012 年 12 月 24 日

本文描述了关键参考数据概念、数据模型概述和高层次架构,详细介绍了一个创建参考数据集和映射的场景,就如何将参考数据导出和分发到外部系统提供了一些初步见解。

简介

尽管企业 MDM 系统本身注重主数据管理,不过有一种称为参考数据的特殊类型可用来定义所捕获的主数据实体的各个方面(比如允许某个属性使用的值的范围)。参考数据的示例包括状态代码集、员工类型、州/省/国家代码、账簿代号等。由每个属性的一系列允许值组成的这种参考数据集通常位于一些专用表中,比如查找表、代码表、检查表或域表。

参考数据与元数据和主数据有所不同。首先,元数据描述了一个实体的结构,而参考数据仅描述实体属性的一系列允许值。与主数据相比,参考数据随时间的推移变化得不那么频繁。此外,参考数据往往在行(或实例)级有语义含义,而主数据有实体级语义。最后,参考数据语义更能会随时间而发生变化。例如,与数据仓库(存储过去十年的记录)中一个实体相关的组织代码可能是指兼并前或兼并后的组织。

参考数据代码在以下领域得到了应用:控制数据库列的允许值,相关实体的分类,执行域查询,或将受控的术语词汇表与其有效范围相关联。

尽管在由各个操作系统和应用程序使用之前,往往会将企业参考数据标准化,但在不同的孤立应用程序之间,表示法或语义通常是不同的。这一语义差别是无法避免的,因为应用程序通常需要其本地表示法才能提高处理效率。例如,在图 1 中,Source 和 Target 中的列 C2 表示国家代码集,这是一种参考数据。但是,经观察发现,源表和目标表对同样的国家代码有不同的表示法。

图 1. 国家代码的不同表示法
国家代码的不同表示法

鉴于这个原因,在执行数据集成或分发之前(将数据从源系统迁移到目标系统),需要将源系统中的表示转换为目标系统能理解的表示。这一过程称为参考数据转码,是主数据集成和分发管道中的在一个重要步骤。

这一通用场景激发了一组需求,任何全面参考数据管理解决方案都应基于这组需求。下一节将探究一个参考数据管理系统的高级模型。


参考数据逻辑模型

一个参考数据管理系统有一组关键实体,帮助管理总体参考数据生命周期。图 2 显示了这些关键实体及其高层关系。这一节将详细介绍这些实体和相关概念。

图 2. 参考数据逻辑模型
参考数据逻辑模型

托管实体

一个托管实体是一个抽象实体蓝图,该抽象实体包含足够的必要信息(属性),以便管理对其进行扩展的任何实体的生命周期。

这些属性包含名称和/或描述、所有者、版本、生命周期状态、时间戳(有效、过期、审核等)和类型。前面的图 2 显示的模型中的实体(数据集、映射集、层次结构)都共享了托管实体定义的常见属性,如图 3 所示。

图 3. 托管实体
描述、所有者、版本等托管实体

参考数据集

参考数据集形成了参考数据管理系统的核心,可使用它来存储参考数据值。一个参考数据集(比如参考数据管理系统中的所有其他一等公民)表示为一个专门的托管实体,该实体由图 2 中所示的一个或多个参考数据值组成,属性包括 Code、Name、Description 等。

图 4. 参考数据集示例
具有 Code、Name、Description 等属性的参考数据集示例

一些属性(比如 Code、Name)被设计为必需的,在这种情况下,在创建参考数据值时必须设置其初始值。

每个参考数据值通常应当有一个序列号,以及相关的审计信息,比如审核日期、有效日期和到期日期。

可以使用一个分组方案将参考数据集组织为一个文件夹层次结构,比如按用户分组、按主题分组,等等。

翻译

参考数据值有多种语言翻译,这些翻译也可以有相关的描述。参考数据管理系统能够让您定义这些翻译并将它与参考数据值相关联。

参考数据类型

如前所述,在参考数据管理系统中创建的每个参考数据集在数据集和数据值级别都有关联属性集。有一个默认的核心或固定属性集,还有一个可选的动态或自定义属性集。在参考数据集级别维护的(默认或自定义)属性被称为数据集属性,而在参考数据值级别维护的那些被称为数据值属性。

核心数据值属性的示例包括 Code、Name、Description、Sort order、Review date、Effective date、Expiration date 等。在数据集级别,核心属性往往是 Name、 Description、Owner、Version、Lifecycle process、State、Type、Review date、Effective date、Expiration date、last update date 等。

动态或自定义属性使用名为参考数据类型的实体定义,每个参考数据集定义都与这样一个类型或默认类型有关联。

总而言之,参考数据管理系统为其所有高级实体(数据集、映射集、层次结构等)定义数据类型。通常一些默认数据类型以开箱即用的方式供用户使用。这些默认类型可用于创建仅需要默认属性的简单参考数据实体(比如数据集)。带有其他(自定义)属性的自定义类型可用于定义更复杂的实体。

自定义属性

如前所述,可在参考数据集和/或数据值级别创建自定义属性。自定义属性通常支持的数据类型如下。

  • String:任何字符数据。可以应用正则表达式验证内容,达到约束内容的目的。
  • Text:跨越多行的一个或多个字符串。
  • Integer:有效整数。
  • Date:有效日期,包括年、月和日。
  • TimeStamp:由两个部分组成的一个值,包含一个有效日期和当日的有效时间。
  • Reference data set:与另一个参考数据集的关系。这一关系采用的值的范围由它指向的参考数据集来决定,比如 City 或 State 数据集中一个名为 hasState 的关系。
  • Boolean:表示 truefalse 状态的一个值。
  • URL:有效的 URL 字符串。

有关属性类型数据验证的更多信息,可在 参考资料 部分的 RDM 信息中心中找到。

参考数据映射

参考数据映射是跨参考数据集和数据值定义关系的一种方式。参考数据映射(以及数据集)也作为一等公民加以维护,在参考数据管理系统中被定义为托管映射集实体。除了继承自托管实体的属性之外,一个映射还有表示源集和目标集的其他属性。

创建好一个映射集之后,可以通过分别从源集和目标集中选择源值和目标值来创建数据值映射。与参考数据值很像,一个参考数据值映射可能包含所有必要的信息和属性。


架构概述

本节提供 InfoSphere MDM Reference Data Management Hub 的架构概述,并展示它如何实现之前描述的概念。

InfoSphere Master Data Management (MDM) Reference Data Management Hub 构建于成熟的 InfoSphere MDM 平台之上,提供一个主数据管理方法来管理企业参考数据。它可以帮助降低业务风险,提高企业数据质量,增强运营效率。RDM 基于一个三层组件架构,由一个客户端和一个与后端数据库交互的服务器应用程序组成,其中托管应用程序特定数据和所需的元数据。图 5 显示 RDM 的一个高层次概览。

图 5. 图 5 RDM 逻辑架构
RDM 逻辑架构包含三层组件,由一个客户端和一个与后端数据库交互的服务器应用程序组成。

客户端是一个 Web UI 应用程序,其主要设计目标是支持协作式创作、拥有一个灵活的数据模型。业务用户可以使用 Web UI 定义新参考数据集并管理参考数据标准,而无需大量 IT 干预。Web UI 还旨在供基于角色的用户查看、创作、映射和批准一个中央存储库中的参考数据集。这支持以受控方式创建和管理参考数据集。Web UI 上的用户操作触发请求,该请求由 REST 层中的适当服务控制器加以处理。REST 层服务调用服务器端事务,以在 RDM 数据库上管理 CRUD 过程。图 6 显示高层次组件架构。

图 6. 图 6. RDM 组件架构
RDM 组件架构概览

通过定义参考数据域模型以及参考数据管理服务,基于基础 Custom Domain Hub (CDH) 构建了服务器端。这能够让 RDM 重用 CDH 的许多开箱即用功能,比如业务规则、事件通知、数据质量和审计历史。此外,还实现了很多特定于参考数据管理的服务,以实现一些关键功能,比如导入和导出、参考数据集生命周期管理、转码和分发、版本控制,等等。

客户端和服务器端企业档案驻留在一个 WebSphere Application Server 实例中。虽然支持集群化,但建议客户端和服务器驻留在相同的节点上。当前受支持的数据库是 IBM DB2 和 Oracle。


示例场景:利用 RDM Hub 创作和映射参考数据

下面一节展示一个典型的参考数据转码场景,表明客户可以如何使用参考数据管理管理系统。

RDM 提供一个 Web 界面,支持数据管理员创建其参考数据集以及数据集之间的映射。业务分析师和知识管理人员可以通过该界面管理数据实体的整个生命周期。

以下演示使用 IBM RDM v10 的一个工作实例开发。

创建参考数据集

  1. 打开 Firefox 10 或 IE 9 等 Web 浏览器,使用有效 URL(例如 https://localhost:9043/RefDataClient)登录到 RDM 应用程序。然后会出现由多个标签组成的一个 Web 页面。
  2. Reference Data Sets 标签默认情况下是选中的,它由文件夹视图和列表视图组成。可以在 Folder 视图内的文件夹中组织参考数据集。您可以创建一个新文件夹或选择一个现有文件夹,比如 Examples,如图 7 所示。
    图 7. 图 7. Create a set 向导
    在 create a set 向导中您可以创建一个新文件夹或选择一个现有文件夹,比如 Examples。
    对于该场景,所有数据集都会被创建到 Examples 文件夹中。如果您愿意的话,还可以创建一个新数据集,有两种创建方法,一种是右键单击调出上下文菜单,另一种是单击 Reference sets list 下的 New Set。图 7 中所示的 Create a Set 页面提供以下属性值:
    • Name:MDMStates(要创建的参考数据集的名称)。
    • Version:1(数据集的第一个版本)。
    • Type:CountryType(用户定义的数据类型,包含默认设置和集值属性,另外还有一个自定义属性 Country,该属性指向一个名为 Country 的参考数据集,带有默认数据类型。此处假设在此之前已经创建了参考数据集 Country)。
    • Lifecycle process:简单的批准流程(用于管理参考数据集的一个简单状态生命周期模型)。
  3. 单击 OK,一个名为 MDMStates 的新数据集就创建好了。然后您可以选择 MDMStates 数据集并手动创建集值,即从 UI 添加新值,或使用导入向导将一个预定义的 CSV 或 XML 格式 MDMStates 代码值文件导入到数据集中。
  4. 右键单击 MDMStates set 打开 Import 向导,将 MDMStates.CSV 文件导入到 MDMStates 数据集中。Import 向导可通过一组引导式导航面板直观地将数据导入 RDM 应用程序。要执行的各种操作都列示在左侧。这些操作包括:选择导入定义,将文件列映射到参考数据集属性,在执行导入之前进行数据预览,在导入完成后显示一个摘要。
  5. 向导的第一页提示您提供日期格式、文件格式、分隔符和 CSV 文件路径,如图 8 所示。
    图 8. 选择导入文件
    在 Import reference data set 向导中选择导入文件,提供日期格式、文件格式等。
  6. 单击 Next,使用如图 9 所示的 Map File Columns 页面将参考数据集属性映射到 CSV 文件中的列名。
    图 9. 映射文件列
    映射 CSV 文件中的文件列名。
  7. 检查自动映射的列,手动纠正任何不正确的映射。默认情况下,RDM 应用程序使用匹配逻辑尝试映射属性文件列名与参考数据集属性之间的明显匹配项。如果除了数据集属性,CSV 文件还有参考数据值的翻译,那么翻译语言、翻译值和翻译描述也会被自动映射到导入文件中的对应列。
  8. 单击 Next 会出现一个 Preview File 页面,其中显示警告、异常等信息。在该文件中,由于没有警告和异常,Preview File 页面是空的。如果一个行中的列值有错误,比如日期格式与指定日期格式不匹配,那么导入流程会跳过整个行。
  9. 单击 Next 获取 Summary 页面,该页面显示有关成功导入的项目数量的摘要,如图 10 所示。
    图 10. 摘要
    Import Reference Data Set 的 Summary 部分,显示成功导入的项目数量。

    上图显示,有 51 个值被成功导入到了 MDMStates 数据集中。

  10. 单击 Summary 页面上的 Done,完成导入过程。MDMStates 数据集的全部 51 个参考数据集值都得到创建,且列示在 Reference value 下。您可以单击值查看每个值属性,如图 11 所示。
    图 11. 参考值属性
    图中显示了 MDMStates 数据集的参考值属性。

类似地,创建另一个名为 CRMStates 的数据集,可以手动创建或将代码值导入其中。

在数据集之间创建参考数据映射

下面使用参考数据映射功能,在 MDMStates 和 CRMStates 数据集中的值之间创建一个映射。

  1. 导航到 Mappings 标签,单击 New 创建一个新映射,如图 12 所示。
    图 12. 创建映射
    图中显示了 Create Mapping 向导,您可以在其中单击 NEW 创建一个新映射。
  2. 将源集和目标集指定为之前创建的两个数据集(MDMStates 和 CRMStates),并且指定如图 12 所示的其他属性。
  3. 单击 OK,然后会创建并打开一个新的映射集以供编辑。
  4. 单击 Value Mappings 框中的 New 开始创建值映射,如图 13 所示。
    图 13. 创建值映射
    在 Create Mapping 向导中开始创建映射。
  5. 从源集和目标集中选择值,并单击 Create Mapping
  6. Create Value Mapping 上指定任何属性并单击 OK,如图 14 所示。
    图 14. 源集和目标集中的值
    在 Create Mapping 向导的 Create Value Mapping 中指定属性。
    如图 15 所示,在所有值映射定义好之后,映射集会包含将参考数据值从源系统转码到目标系统所需的知识。
    图 15. 定义好的值映射
    图中显示了所有已定义好的值映射

导出参考数据集

作为转码过程的下一步,数据管理员或用户可以导出之前创建的映射,使用它在信息集成管道中的源集和目标集之间转换值,实现语义等价性和一致性。RDM Web 界面提供一个导出功能,可导出参考数据集或映射为一个文件(字符分隔文件或 XML 文件)。为完成该操作,在映射视图内,右键单击之前创建的映射,调出上下文菜单,然后选择 Export,将其导出为 XML 或 CSV 文件。对于需要通过编程导出映射的应用程序,RDM 提供一个易于理解的 Web 服务 API,可通过应用程序调用该 API。RDM 还提供一个批量导出工具,可以直接从命令行加以调用。最后还有一个功能可供系统订阅它们感兴趣的参考数据集,并直接将对这些数据集的变更发布出去。


结束语

本文介绍了关键参考数据概念、底层模型和高层次架构,通过一个简单的编码场景了解了如何创建参考数据集和映射。

致谢

我们要感谢 Erik O'Neill 在本文编撰过程中给予审阅、提出反馈和意见。


下载

描述名字大小
本文样例Sample.zip3KB

参考资料

学习

获得产品和技术

  • 使用可以直接从 developerWorks 下载的 IBM 试用软件 构建您的下一个开发项目。
  • 以最适合您的方式 评估 IBM 产品:下载产品试用版,在线试用产品,在云环境下使用产品,或者在 SOA Sandbox 中花费几个小时来学习如何高效实现面向服务的架构。

讨论

  • 加入 developerWorks 中文社区。探索开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户进行交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=853296
ArticleTitle=IBM InfoSphere Master Data Management Reference Data Management Hub V10 简介
publish-date=12242012