元数据驱动的主数据管理平台

标签: IT咨询 | 发表时间:2016-04-21 21:50 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
前面谈MDM主数据管理的文章也比较多,本篇文章主要还是想谈下元数据驱动下的MDM主数据管理平台的核心构建思路。因为对于一个MDM系统更多应该理解为结合了元数据驱动和建模,结合了流程引擎和ETL服务能力的一个快速开发和配置平台。

这个思路和原来我们谈到IBM-CQ变更和缺陷管理系统的构建思路完全是一致的。即在当前我们要想做一个覆盖所有业务场景的快速开发和配置平台是相当困难的,但是在某一个业务领域类似变更管理,类似表单化工作流,类似主数据管理等,这些业务场景本身已经对可能出现的需求和规则范围进行了限制,如果理解清楚实际的业务场景和底层核心模型是比较容易实现一个快速开发和配置平台的。

再次强调下主数据管理平台的核心是元数据建模,这和快速开发平台里面的对象建模是类似的。因此我们还是要首先谈下元数据和对象建模的核心内容。

在这里拿供应商主数据来举例,我们常规做法可能是在后台建立供应商数据库表和相关的关联子表,然后再根据需求进行供应商CRUD各自管理功能,流程处理功能的开发。那么在对象建模思想下,我们要考虑的是供应商是一个完整的主数据对象,应该通过什么方式把这个对象建模清楚。通过完整的对象建模一方面是可以直接生成后台数据库表,一方面是用于后续的界面建模和主数据质量管理。

1. 对象就有属性,即首先应该清楚的定义出对象的属性信息。对应到具体的字段。
2. 每个对象属性我们应该清楚的定义出属性的业务完整性和数据约束规则。
3. 对象本身可能有子对象,我们应该可以进一步对某一个对象的子对象进行详细定义。子对象将对应到后台数据库表中主表下的关联从表。
4. 对象和对象之间有关联和映射信息,我们应该可以对应对象间的关联和映射。
5. 对象属性和对象之间存在关联信息,应该可以定义属性和对象之间的关联和映射。

其中可以看到对象建模的核心还是在于对象和子对象,对象属性的业务规则定义,对象和对象之间的关联映射等内容。当然我们也可以通过数据库表逆向生成对象。在对象建模完成对象建模的相关信息都应该存储到元数据管理的相关数据表中,这是最核心的内容。完整的元数据可以做到基本基于对象的简单CRUD功能都可以完全自动生成。

在对象建模完成后接着要考虑的就是表单建模,通过表单建模来实现主数据对象的CRUD功能界面是可以灵活配置的。这个类似于快速开发平台中的自定义表单,即详细的定义CRUD各自表单的布局,表单中每一个属性元素具体呈现的UI组件。通过表单建模就可以实现一个具体的主数据录入表单中如何布局,然后实现各个属性的输入,具体是录入还是选择框,还是说需要从关联子表中进行选择等。表单建模后的元数据建议是要和对象建模数据进行分离,即在独立的元数据表中进行存放。

在一个完整的主数据管理平台中一定涉及到主数据的内容和流程管理,类似主数据的创建,变更或废弃都可能涉及到相应的流程审批操作,在审批完成后才最终生效。因此完整的表单功能实现后接着要考虑的就是通过工作流引擎进行流程建模,最终建立的工作流模板能够和表单挂接。而流程引擎本身又涉及到组织,人员,角色等4A相关的内容,对于这部分内容可以在MDM系统中维护,也应该可以从4A或门户系统进行同步。

谈到这个地方基本可以看到一个完整的供应商主数据管理功能,通过围绕供应商基础业务对象进行了对象建模,界面建模和流程建模后应该就可以完全自动生成相应的CRUD功能,包括审批流程的实现。但是任何快速开发平台都很难真正做到对特殊业务规则的进一步处理。

对于复杂业务规则的处理,类似一个供应商基础数据的废弃,在废弃前可能需要首先校验下该供应商在其它业务系统中的使用情况。遇到这种场景我们原来的做法是在原有模型的基础上可以自己定义相应的脚本语句进行二次处理,但是带来的最大问题即使后期的脚本相当难以维护。因此更加更新的方案即是我们可以在标准功能的基础上扩展相应的插件或业务规则逻辑实现的拦截器。这种拦截器在对象属性输入,对象保存前后,查询前后等都可以拦截相应的事件。而具体拦截器的业务规则和逻辑我们还是通过自定义的扩展类来实现。通过这种方式可以保证整个主数据管理平台足够的可扩展性。

在早期的MDM主数据管理平台中,并不建议马上引入复杂的规则引擎来实现规则建模和规则的可配置,这部分内容还是通过自己开发扩展代码来实现往往更加容易维护和扩展。

前面的基础能力实现后再接着谈两个重点,即主数据集成管理和主数据质量管理。

对于主数据集成管理其实包括两个部分的内容,一个是ETL,一个SOA服务接口,对于ETL主要是实现初始化数据的采集和清理入库。对于SOA服务接口即是能够将主数据服务能力通过接口服务暴露出去,或者说通过消息发布订阅机制能够实现MDM主数据管理平台中主数据的实时分发和事件通知。

对于ETL部分的功能不需要多谈,我们可以集成和内置一个轻量的ETL工具和功能。而对于SOA服务部分的功能则涉及到基于前面对象建模定义的元数据实现标准服务的发表。即我们在定义的完整的对象后,我们可以通过向导的方式将主数据发布为WebService服务接口,既可以是rest服务接口,也可以是soap webservice服务接口。而具体发布的接口需要哪些输入,哪些输出应该都可以进行灵活的配置来完成。当然我们也可以在MDM平台维护主数据的消息发布订阅机制,即将MDM主数据的变更内容通过消息订阅的模式实时分发给业务系统。

数据质量管理是主数据管理里面的一个难点,其中包括了两个方面的内容,一个是单数据对象的数据质量分析,这个通过在对象建模时候定义的业务规则和完整性规则就可以进行。当然我们也可以将数据质量单独拿出来进行定义,我们可以将一个规则绑定到具体的业务对象或者业务对象的属性上面。然后基于这些规则进行单对象的数据质量分析。其次是多表间的数据稽核,我们谈到过主数据管理平台最终是为了解决多业务系统主数据不一致的问题,但是即使上了主数据平台也还需要对多业务系统中的同一数据对象进行数据内容稽核,并实时发现数据不一致的情况并进行预警。对于数据稽核的核心思路,我前面有一篇文章专门谈到过可以参考。

如果以上的内容都已经实现,那么最终提供出来的主数据平台就是一个可以快速实施各类企业主数据的基础平台。该平台基本可以做到80%的主数据实施工作都可配置,同时我们也可以将更多的精力放在主数据业务流程和管控规范的梳理,主数据集成,主数据特殊业务规则的实现上。

 

相关 [元数据 数据管理 平台] 推荐:

元数据驱动的主数据管理平台

- - 人月神话的BLOG
前面谈MDM主数据管理的文章也比较多,本篇文章主要还是想谈下元数据驱动下的MDM主数据管理平台的核心构建思路. 因为对于一个MDM系统更多应该理解为结合了元数据驱动和建模,结合了流程引擎和ETL服务能力的一个快速开发和配置平台. 这个思路和原来我们谈到IBM-CQ变更和缺陷管理系统的构建思路完全是一致的.

[原]数据仓库元数据管理

- - oycn2010的专栏
元数据管理, 简单的做就是EXCEL结合版本管理等传统工具管理, 专业点就用专门的元数据管理工具;. 数据字典--> 数据知识库. 业务元数据,技术元数据,管理元数据. 参照:SAP元数据管理平台:按业务(角色)分类,按技术类型分类(特征,关键值,DSO,InfoCube),数据流程图. 按照传统的定义,元数据(Metadata)是关于数据的数据.

【转载】主数据管理(MDM)与元数据管理 - bada130 - 博客园

- -
主数据(Master Data)和元数据(Meta Data)是两个完全不同的概念. 元数据是指表示数据的相关信息,比如数据定义等,而主数据是指实例数据,比如产品目录信息等. 比如,某省地税开发了一套 征收管理软件,以市为单位部署了17套,每套征收管理软件中的元数据都是一样的,但是主数据还是需要进行管理的.

数据仓库系列之元数据管理 - 简书

- -
    元数据(Meta Data),主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及 ETL 的任务运行状态. 一般会通过元数据资料库(Metadata Repository)来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同和一致. 元数据是数据仓库管理系统的重要组成部分,元数据管理是企业级数据仓库中的关键组件,贯穿了数据仓库的整个生命周期,使用元数据驱动数据仓库的开发,使数据仓库自动化,可视化.

Nielsen:62%的中国广告商表示数据管理平台“非常重要”

- - 199IT互联网数据中心
        199IT原创编译.         根据2015年的调查,数据管理平台对中国营销人员来说已经成为关键.         ZenithOptimedia和Nielsen调查了中国广告商利用数据管理平台的情况. 1/4受访者表示数据管理平台是优先考虑事项,还有62%的广告商表示数据管理平台“非常重要”,只有15%的受访者认为数据管理平台是次重要的.

深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台

- - zzm
大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区贡献者,长期专注于OpenStack, Docker, Mesos等开源软件的企业级应用与产品化. 从事容器方面工作的朋友可能已经听说过DC/OS,往往大家误解DC/OS就是marathon + mesos,其实DC/OS包含很多的组件,DC/OS 1.8九月份发布了,此次分享给大家做一个介绍.

Hadoop的数据管理

- - 技术改变世界 创新驱动中国 - 《程序员》官网
本文主要介绍Hadoop的数据管理,主要包括Hadoop的分布式文件系统HDFS、分布式数据库HBase和数据仓库工具Hive. HDFS是分布式计算的存储基石,Hadoop分布式文件系统和其他分布式文件系统有很多类似的特性:. 对于整个集群有单一的命名空间;. 具有数据一致性,都适合一次写入多次读取的模型,客户端在文件没有被成功创建之前是无法看到文件存在的;.

Cue:移动个人数据管理

- - 天涯海阁|Web2.0Share
Greplin最近发布2.0版本,同时改名为Cue. 那让我们来看看Cue的前身Greplin. 一名19岁的以色列高中生毕业生Daniel Gross就开发了一款新的搜索引擎Greplin,这个搜索引擎在使用时需要获得用户授权,可以访问该用户的社交网站、微博、在线文档、购物记录等,从而帮助用户快速搜索出那些用普通搜索引擎无法找到的信息.

再谈主数据管理系统(9.23)

- - 人月神话的BLOG
对于MDM主数据管理在我前两年的博客文章中谈的比较多,由于MDM一直不是我们重点研发的一个产品,因此最近关注的并不太多,但是对于SOA或ESB的应标会经常遇到客户有MDM主数据管理的需求,因此对于主数据管理系统的建设再做下简单的说明. 基础层应该具备的两个关键功能-ETL和流程引擎. 对于主数据管理系统的基础层应该具备两个关键能力,一个是ETL,一个是流程引擎.

数据管理:表象之下、有容乃大

- - 技术改变世界 创新驱动中国 - 《程序员》官网
如果让数据管理市场的各类产品都凑到一起演奏一场打击乐,那么NoSQL无疑是鼓声最强的. 近两年随着消费型数据的急剧膨胀,NoSQL数据库在媒体和各种技术会议中也是风生水起,以至于参加这些会议时更多听到的是传统关系型数据库的“不是”. 尽管我们可以将这些消费型数据称为“金矿”,但它们毕竟不是铸好的金砖,关键信息还是继续保存在传统的商用数据库中.