内容


业务与 IT 并重:主数据驱动业务词汇表解决方案

Comments

简介

Master Data Management (MDM) 存储库(例如 IBM InfoSphere MDM Server 所用的存储库)不仅对于了解所托管的数据,而且对于了解数据的逻辑域定义,都非常重要。如果认为 MDM 数据是惟一正确的,那么元数据在很大程度上也应该被认为是 MDM 系统所在的组织的已认可词条。因此,能在组织内轻松访问 MDM Server 的域定义及其与企业资产的关系就非常重要。

为了支持 MDM Server 的 SOA 和对象模型中心,MDM Server 以逻辑和物理数据模型的形式提供支持的预定义,以保证能自定义和扩展这些域。

从数据建模角度看,Logical Data Model (LDM) 通常表示一个组织的数据的独立的、业务驱动的视图。LDM 实体和属性及其描述通常先是源自,然后又成为组织的业务词汇。 另一方面,InfoSphere 数据架构中扩展的物理数据模型(PDM),要考虑给定的数据库管理系统的限制和能力。在项目生命周期中,PDM 通常来源于 LDM。

为了保证逻辑和物理表示的可追踪性,像 IDA 这样的数据建模工具提供了在转换过程中自动在逻辑模型对象与物理模型对象之间建立链接(依赖关系)的功能。其中,逻辑模型对象作为 Attribute,物理模型对象作为 Column

如前所述,逻辑数据模型中的信息,以及这些业务定义在物理上部署的信息,对于整个业务流程生命周期都是十分理想且相关的。因此,组织应该尽可能让广大受众能够获取那些信息。但是,要让广大的或是业务驱动的受众获取信息,数据建模工具并不是最适合的接口。

为了能让业务定义以及与企业资产的关系在整个企业的日常通信中可访问,IBM 提供了 IBM InfoSphere Business Glossary (BG),它是 IBM 的 InfoSphere Information Server(IS)平台的组件,它支持用户管理和构建他们自己的词条和关系的权威词典,这其中包括对实现、部署或进一步描述业务词条的 IT 资产的引用。尽管业务词汇表可以从头开始创建,组织通常会想要利用现有的资产和词条,包括保存在 MDM Server 数据模型中的。

挑战是什么?

IBM 提供了很多 IS 和 IDA 之间的集成点,以加速建立基于认可逻辑实体和属性的业务词典的过程。例如,逻辑模型可以导入 BG,它们可以表示为类别和词条(IDA MetaBroker),或者 Business Glossary 词条可以直接在 IDA Eclipse 环境中使用 BG Eclipse 插件分配给数据模型对象。尽管有广泛的集成,但仍有一些场景,无法做到开箱即用。

在本文的 “主数据驱动” Business Glossary 用例中,目标不仅是从 LDM 创建 Business Glossary,更重要的是,在导入 Information Server 后,保存基于 LDM 的 Business Glossary 与底层的物理数据模型之间的依赖关系,如 图 1 所示。维护这些关系对于全面成功和业务和 IT 受众的价值体现都至关重要。

图 1. 用例目标
用例目标的图片

从 Information Server 角度来看,挑战是,只有 PDM 和 NDM 之间的跨模型的关系会自动重新创建。而 MDM Server 依赖关系存在于 PDM 和 LDM 之间。这意味着,尽管模型本身可导入 Information Server,但固有的模型依赖关系无法导入,因此会丢失。

解决方案提供了什么?

图 2 所示,此解决方案创建了一组符合标准的并在语义上相等的 IDA 模型(一对 NDM/PDM 模型),它基于已有的 LDM/PDM 模型对,与您的 MDM Server LDM 和 PDM 设置类似。这些生成的 NDM 和 PDM 模型然后会提供所需的跨模型关系,以能够自动重新创建 Information Server 中原有的依赖关系。

图 2. 解决方案概要
图形化解决方案概要的图片
图形化解决方案概要的图片

解决方案概要

  1. 验证系统需求
  2. 下载并解压缩提供的 Dependency Mapping
  3. 创建 IDA Glossary 模型
  4. 执行Dependency Mapping 工具软件
  5. 输出 IDA 数据模型到 Information Server
  6. 复查 Business Glossary 中的已输出资产

第 1 步:验证系统需求

为了能成功执行上述解决方案,您的系统必须满足以下需求:

  • 客户端系统运行支持的 Windows 操作系统(Windows XP SP2、Windows Vista、Windows 7 或 Windows Server 2003),并安装了以下组件:
    • IDA v7.5.2 或更高(包含特性:Information Server Integration)
    • Information Server 8.1.x 或 8.5 Metadata Broker for IDA
    • Java JRE v1.5 或更高,系统路径中包含 Java.exe
  • 系统必须能连接到 Information Server 8.1 或 8.5 服务器以输入到 Information Server。

第 2 步:下载并解压 Dependency Mapping 包

下载 DependencyMapper_SourceCode zip 文件并将文件解压缩到 C:\ 文件夹。这将会创建名为 DeveloperWorks 的子文件夹。

尽管 DeveloperWorks 目录不一定要在根目录下,甚至可以在 Windows C:\ 驱动器下,但建议您最好这么做,因为映射工具所使用的 sample.properties 文件使用的是绝对路径名。如果将包解压缩到不同位置,那么需要调整 sample.properties 文件中的路径设置。

文件解压后,您会看到 DeveloperWorks 目录下包含以下子目录:

  • DependencyMapping — 此文件夹包含 Dependency Mapping 工具文件
  • IDA_Workspace — 此 IDA 工作区文件夹包含一个名为 DeveloperWorks 的 Data Design 项目,此项目中包含两个数据模型样例,其中的数据模型表示的是 InfoSphere MDM Server 中的 Customer 数据模型。
    • Logical Data Model 名为:MDM_CUSTOMER_SAMPLE.ldm
    • Physical Data Model 名为:MDM_CUSTOMER_SAMPLE.dbm

第 3 步:创建 IDA Glossary 模型

将会使用 IDA 从 MDM_CUSTOMER_SAMPLE 逻辑数据模型创建一个 IDA Glossary Model 文件(NDM)。
将 LDM 转换成相等的 NDM 的功能是在 IDA 中的 Information Server MetaBroker for IDA 和 Information Server 集成中提供。
为了生成与 LDM 相等的 IDA Glossary 模型,您实际上是 “假装” 将 LDM 文件输出到 Metadata Server。

  1. 打开 IDA 启动工作区:C:\DeveloperWorks\IDA_Workspace
  2. 在 Data Project Explorer 中,展开 Data Models。右键单击 MDM_CUSTOMER_SAMPLE.ldm 文件并选择 Export,打开 Export 向导。
  3. 展开 Data 文件夹并选择 Export aGlossary Model to the Metadata Server,如 图 3 所示。然后单击 Next
    图 3. 将 Glossary / LDM 导出到 Metadata Server
    图片显示将 Glossary / LDM 导出到 Metadata Server
    图片显示将 Glossary / LDM 导出到 Metadata Server
  4. Select the Model to Export 屏幕,如 图 4 所示,单击 Transform and export a logical or domain model into a glossary model in Metadata Server 单选按钮,让 LDM 文件可见。选择 DeveloperWorks 项目中的 MDM_CUSTOMER_SAMPLE.ldm,并单击 Next
    图 4. 选择逻辑模型
    选择逻辑模型
    选择逻辑模型
  5. 在 Transformation Messages 窗口,单击 Finish
  6. 在 Status 窗口,单击 Cancel,如 图 5 所示。

    在第一步已经生成了 IDA Glossary 文件。因此可以安全取消 Export 过程余下的部分。

    生成的 IDA Glossary 可在 %TEMP% 文件夹下找到。

    图 5. 转换状态
    显示转换状态的图片
    显示转换状态的图片
  7. 打开 Windows Explorer 在 Address 字段输入 %TEMP% 类型,然后单击 Enter,如 图 6 所示。
    图 6. 导航至 %TEMP% 目录
    导航至 %TEMP% 目录
    导航至 %TEMP% 目录
  8. 在您的 %TEMP% 文件夹下,找到已生成的 IDA Glossary 文件(图 7)。已生成的文件扩展名是 .ndm ,例如,lTon_1289524238643.ndm
    图 7. 已生成的 IDA Glossary 文件
    图片显示已生成的 IDA Glossary 文件
    图片显示已生成的 IDA Glossary 文件
  9. 将文件重命名为 MDM_CUSTOMER_SAMPLE.ndm。
  10. 将重命名的词汇表文件拷贝到 IDA DeveloperWorks 项目文件夹下,完成后应该像这样:C:\DeveloperWorks\IDA_Workspace\DeveloperWorks。
  11. 回到 IDA Data 透视图。右键单击 Data Project Explorer 视图中的 DeveloperWorks 项目,并选择 Refresh,如 图 8 所示。
    图 8. 刷新 IDA 项目,看看已复制的 Glossary 文件
    刷新项目,看看已复制的 Glossary 文件
    刷新项目,看看已复制的 Glossary 文件

第 4 步:执行 Dependency Mapping 工具

现在要执行 Dependency Mapping 工具(MapModels.bat)来重定向依赖关系链接。在 MDM Server 模型(包括模型样例)中,依赖关系从物理模型对象指向逻辑模型对象,如 图 9 所示。映射工具运行后,物理模型中的依赖关系将指向前一步生成的 IDA 词汇表模型中语义相等的对象。
请注意:映射工具不会修改原来的数据模型文件。它生成了一个新的 PDM。原来的模型使用以下模式重命名:<PDM File Name>_ORIGINAL.dbm。

图 9. Column: name 和 Attribute: Product Name 之间的依赖关系
图片显示 PDM / LDM 依赖关系
图片显示 PDM / LDM 依赖关系
  1. 打开 Windows 命令行解释器(cmd.exe)并导航至:C:\DeveloperWorks\DependencyMapping
    • 如果您使用自己的数据模型文件,或将压缩文件解压缩到不同位置,可以通过调整 sample.properties 文件中的参数进行设置。
    • 如果 java.exe 1.5 或更高版本不在系统路径中,以编辑模式打开 MapModel.bat 文件,在 JAVA_EXE 环境变量中设置完整的 java.exe 完整路径。
  2. 在 DependencyMapping 文件夹下执行 MapModels.bat 批文件,如 图 10 所示。
    • 映射工具不会覆盖原有的物理数据模型。原有的数据模型被重命名为 MDM_CUSTOMER_SAMPLE_ORIGINAL.dbm,由映射工具生成的物理数据模型将被重命名为 MDM_CUSTOMER_SAMPLE.dbm
    • 在映射过程最后,原有的和新建的文件都可以在 IDA Data Design 项目中找到:DeveloperWorks。刷新项目,查看更新。
    图 10. 执行映射工具
    所执行的映射工具屏幕图片
    所执行的映射工具屏幕图片

第 5 步:将生成的 IDA 数据模型导出到 Information Server

此处任务是将 IDA Glossary 和修改后的物理数据模型导出到 Information Server(也称为 Metadata Server)。可以通过使用 Physical Model to the Metadata Server 导出向导将两者同时导出。

  1. 要打开导出向导,在 IDA Data Project Explorer 中,右键单击 MDM_CUSTOMER_SAMPLE.dbm 然后单击 Export
  2. 展开 Data 文件夹并选择 Export a Physical Model to the Metadata Server,如 图 11 所示。然后单击 Next
    图 11. 将 PDM 和 Glossary 导出到 Metadata Server
    图片显示将 PDM 和 Glossary 导出到 Metadata Server
    图片显示将 PDM 和 Glossary 导出到 Metadata Server
  3. Select the Model to Export 屏幕,如 图 12 所示,执行以下操作:
    • 选择 DeveloperWorks 中的 MDM_CUSTOMER_SAMPLE.dbm
    • 单击 Set classified objects for business terms based on 复选框。选择此项非常重要,因为此项将保证词汇表和物理模型都导入到 Metadata Server 并且对象保持连接。
    • 在 Host System name 字段,设置一个 Host name,在 Information Server 中导入的物理模型将据此分组。
    • 单击 Finish
    图 12:选择要输出的模型
    图片显示如何选择要输出的模型。
    图片显示如何选择要输出的模型。
  4. 在以下的 Status 窗口,单击 Select All
  5. 在 Parameter Selection 窗口,设置 Information Server 连接参数,如 图 13 所示,设置以下内容:
    • Host Name / Port Number:Metadata Server 的主机名和端口号。
    • User Name / Password:Information Server Administrator User Id 和 Password。
    • 为了加速导入过程,如果您还未导入,清除 Check for Duplicates 复选框。
    • 单击 OK,开始导入 Metadata Server.
    图 13:Information Server 连接参数
    图片显示 Information Server 连接参数屏幕。
    图片显示 Information Server 连接参数屏幕。

第 6 步:复查 Business Glossary 中的导出资产

在这最后一步中,将使用 InfoSphere Business Glossary Browser 来确认词汇表和和物理模型已成功导入。

  1. 打开一个 web 浏览器,在地址栏输入 Business Glossary Browser URL。
    • Business Glossary Browser 使用以下的 URL 模式:http://<InformationServer host name>:<InformationServer port number>/bg
    • 对于主机和端口号,使用与输出过程相同的主机名和端口号,例如:http://localhost:9080/bg
  2. 要在登录页验证,可以使用与输出那一步相同的用户名和密码。
  3. 成功登录到 Business Glossary 以后,单击 Category Tree。在顶级类别 MDM Core Table.ER1 下面,您会看到 MDM_CUSTOMER_SAMPLE 逻辑数据模型的实体(现在是分类)和属性(现在是词条),如 图 14 所示。
    图 14:导入的 MDM Customer Sample Glossary
    图片显示导入的 MDM Customer Sample Glossary
    图片显示导入的 MDM Customer Sample Glossary
  4. 单击 PARTY 分类,会列出右侧 Category Tree 视图中包含的词条。
  5. 在右侧,单击 Party ID 词条。将会打开 Party ID 词条的明细页。
  6. 通过展开 Assigned Assets 部分,您会看到 Party ID 包含与其物理实现的依赖关系,如 图 15 所示。
    图 15:词条(Attribute)与其物理列之间的关联
    图片显示 Term(Attribute)与物理列之间的关联
    图片显示 Term(Attribute)与物理列之间的关联

结束语

能够利用 MDM Server 的逻辑域定义作为公认的业务词汇表,并能保留与物理资产的依赖关系,用于审计和数据分析,这非常重要。
尽管本文只讲解了 MDM Server 数据模型应用于此场景,但此解决方案可用于所有 IDA 7.5.x LDM/PDM 模型对。

致谢

作者感谢 Paul van Run 的反馈及对本文的评审。


下载资源


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=646342
ArticleTitle=业务与 IT 并重:主数据驱动业务词汇表解决方案
publish-date=04112011