集团主数据管理平台解决方案
集团主数据管理解决方案
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) 平台架构复杂,涉及业务多,不确定能否适应公司的业务变化。