集团主数据管理解决方案
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管理。
如能限制主数据对象的新增入口(某套系统或统一平台),则对应关系的维护要简单得多。
4.2.3.多维度数据分析
基于ESB平台维护的对应关系,在ESB创建《根据MDM ID获取员工指定月份、系统的数据》接口,使用该接口可取出某个员工在所有业务系统的数据,例如对某个员工的取数结果如下表:
其中涉及的API接口和系统如下表(参数均为MDM API、日期):
5.实施难度
1)建立一套有效的主数据体系(数据特性、实施评估等);
2)无接口开放的系统,需要结合业务功能做大量的数据库逻辑分析工作,
再通过ESB抽象成可用的对外服务接口;
3)平台架构复杂,涉及业务多,不确定能否适应公司的业务变化。