集团主数据管理解决方案1.基本概念主数据:是用来描述企业核心业务实体的数据,例如客户、供应商、物料、产品、员工、组织等。主数据是具有高业务价值的,应在企业内跨越各个业务部门被重复使用的数据,并且存在于多个异构的应用系统中。主数据管理:包含一整套用于生成和维护主数据的规范、技术,完整的平台包括元数据管理,信息系统集成、ETL技术、数据仓库/分析、ESB等组件和技术。ESB(企业服务总线):将不同系统的业务抽象成事件或服务,以基于消息内容的形式,通过协议转换、消息过滤、事件路由,对多个系统不同的事件进行整合。2.需求概述为满足集团业务发展,提高集团信息化管理水平,为核心业务系统搭建基础的主数据管理平台,有效解决异构系统间的主数据唯一性、一致性和共享性问题。3.现状描述现目前公司的核心业务主数据存储于多套不同的业务系统中,包括AJX、HR、金蝶财务等等,导致的问题主要有以下几个方面:1)没有规范的管理要求:导致不同系统使用时达不到管理要求,甚至重复管理同一数据(组织,客户、人员等);2)没有标准的规则定义:主数据到了不同的系统可能就变了名字或编码,直接导致不同业务系统的数据无法共享;3)没有统一的共享平台:系统与系统间建立点对点的连接,当系统增多的时候,这样的关系结构会更加混乱,如下图:*实线表示已实现自动同步,虚线表示人工添加、导入。以上3点,直接影响新建信息系统时,没有统一的接口标准可以调用主数据,而新系统要么手工维护多个系统相同的数据,要么单独为每套系统开发接口去适配。4.解决方案4.1.实现思路基于现状分析,可通过搭建主数据仓库,利用ESB平台建立各业务系统间的连接,实现主数据的CRUD管理。主数据仓库:主要涉及以下几方面作用1)汇总、存储分公司AJX主数据;2)建立分公司AJX主数据的对应关系;3)建立系统间主数据的对应关系;仓库中存储的主数据并不涉及其它业务系统的主数据,此处仅汇总分公司AJX系统的主数据,并建立与其它业务系统的主数据对应关系。ESB平台:负责主数据仓库的CRUD维护;创建接入系统的资源公共接口(WebService、REST、数据库等),供系统之间的资源调用;确保主数据在各系统间的唯一性。4.1.1.主数据评估从数据的关键性、共享程度、应用范围等方面,建立主数据的特性评估流程。凡符合主数据特性的业务对象,均纳入主数据仓库管理。4.1.2.初始数据导入根据定义好的主数据对象和特征字段(可识别的关键字段,其中来源公司、来源系统为必须字段),使用ETL从各分公司AJX业务系统中抽取,并以不同的业务对象分类存储。由于以往各分公司的主数据独立,在此过程中还需要处理以下问题:a)在仓库中新增不同对象的编码规则,并与该对象所在公司、原有编码做对应;b)根据主数据的字段结构,合并不同公司的相同数据记录,将相同数据的原有编码与新的编码做多对一关联;其它系统的数据可根据前面定义的主数据特性评估,以决定是否需要纳入主数据仓库管理,例如HR系统的人员信息。4.1.3.共享平台搭建主要工作在ESB与各系统的接口处理,可分为两个阶段的工作内容:阶段一阶段一:建立与各应用系统的连接,梳理业务涉及的数据库逻辑,并根据系统自身提供的接口(或直连数据库),将系统的资源或业务抽象成可供外部调用的API。阶段二阶段二:以基于业务的形式创建事件流程,包括流程各节点与不同业务系统的接口连接,涉及的协议转换和消息内容处理。连接应用系统创建资源访问接口对外发布接口连接异构系统协议转换/消息处理建立事件路由4.1.4.维护更新平台建立之后,后续主要工作集中在:1)对新增主数据的编码规则、字段建立,映射关系导入;2)业务调整后,业务系统逻辑梳理及ESB平台接口、流程修改;3)新增业务系统,ESB平台的接口实现;4.2.应用场景4.2.1.离职员工账号以公司OA系统流程为例,当有员工离职的流程审批通过后,ESB平台接收到该离职员工的特征信息消息,根据预先定义的事件流程,访问接入的AJX、金蝶、报表服务器等系统API,停用离职员工在该系统的账号(需先建立该员工主数据库记录与各系统的记录对应关系)。无法接入的系统(VPN账号,OA流程申请关联员工是否有账号),可通过ESB平台调用消息接口(短信、微信等)或触发OA流程,通知相关人员处理。4.2.2.客户资料管理a)历史客户导入使用ETL从AJX系统导入客户特征信息到主数据仓库,并新增唯一的主数据编码与原编号做对应关系,不同公司相同客户建多对一关系,但只在客户库中存储一条记录。如其它系统也收集客户资料,同样使用ETL导入主数据仓库,已存在的客户仅增加对应关系;不存在的则增加主数据编码及对应关系。b)客户新增无论从哪套系统增加客户(能统一入口最好),都可以使用ESB平台获取该系统增加的客户资料(如无接口推送消息,则只能使用ESB定期拉取),与主数据库匹配:已存在:增加对应关系,(有需要)可通过ESB平台主动获取相关系统的该客户信息(销量等更多信息),刷新本系统,不用再去重复收集;不存在:增加主数据编码和对应关系,同时通过ESB平台推送该客户资料到其它系统中(如需要)。客户、员工(员工账号)、产品管理的架构基本一致(见下表):多套系统可同时维护同一主数据对象,但相同对象只在主数据仓库中存有一条记录,该记录与多个系统建立有对应关系,从而ESB平台才可根据该对应关系,按业务需求对相应系统的记录做CRUD管理。主数据表:客户MDM编码客户姓名身份证号码其它特征字段10000001张三55010011110000002李四221000120客户对应关系MDM编码来源系统来源公司对应特征码10000001系统编号1101公司编号101120110000001系统编号1109公司编号101A100910000002系统编号1101公司编号1011333310000002系统编号1107公司编号10113333如能限制主数据对象的新增入口(某套系统或统一平台),则对应关系的维护要简单得多。4.2.3.多维度数据分析基于ESB平台维护的对应关系,在ESB创建《根据MDMID获取员工指定月份、系统的数据》接口,使用该接口可取出某个员工在所有业务系统的数据,例如对某个员工的取数结果如下表:某销售员,某月数据统计MDM编号姓名职位入职时间薪等薪级报销金额销量拜访客户数量其中涉及的API接口和系统如下表(参数均为MDMAPI、日期):字段来源系统ESDAPI(假设)参数姓名职位入职时间HR系统获取员工基本信息接口Mdmapi薪等薪级报表服务器系统获取销售员最新薪等薪级接口Mdmapi报销金额OA系统获取销售员指定时间差旅费报销金额合计接口Mdmapi、日期销量AJX系统获取销售员指定时间销量接口Mdmapi、日期拜访客户数量i到位获取销售员指定时间拜访客户数量接口Mdmapi、日期5.实施难度1)建立一套有效的主数据体系(数据特性、实施评估等);2)无接口开放的系统,需要结合业务功能做大量的数据库逻辑分析工作,再通过ESB抽象成可用的对外服务接口;3)平台架构复杂,涉及业务多,不确定能否适应公司的业务变化。