什么是主数据对象
在企业的IT信息系统建设中,有一种对象在企业范围内是跨系统存在的,例如人员、职能部门、机器、客户等。
在企业的业务系统设计时,往往需要与这些主数据对象打交道,并且同时其他业务系统进行交互,对主数据对象进行通过维护,例如在运维系统中,对机器这个主数据对象,监控子系统做的是监控作业,自动化子系统做的是自动化作业,ITSM子系统做的是生命周期管理,那如何跨系统做好主数据对象的管理呢?
定义好企业主数据对象的全局信息格式
一个主数据对象应该具有一个固定的格式,一般包括唯一ID和必要的信息字段,例如企业员工,唯一ID是工号,人员的身份证信息、部门信息、所在职位都是他的必须字段信息。
一个主数据对象的信息字段可能由多个系统分别提供的,例如人员的工资是由财务系统提供的,所在职位是由HR系统提供的。
一个完整的主数据对象,可以有很多信息字段,但是不一定都开放给所有系统,例如工资就是只开放给财务系统。
定义好企业主数据对象的交换格式
定义好了一个主数据对象的格式后,就可以定义他的数据交换格式了,一般根据权限要求在完整的字段上进行限制。
子业务系统拿到主数据对象的交换格式后,将主数据对象存入到自身系统后,可以根据自身业务再进行数据管理关联与扩充。
例如:拿到企业员工这个主数据对象后,在HR系统内可以管理他的考勤记录,也可以设置他在HR系统的登录权限。
子系统的业务功能设计,可以基于主数据对象的交换格式
在做业务系统的功能设计时往往要考虑主数据对象涉及的概念,可以依赖拿到的主数据对象的交换格式,不可以依赖主数据对象的完整定义或者其他系统中对主数据对象的数据结构。
例如,HR系统在设计功能时,是需要企业员工这个主数据对象的,可以依赖它给HR系统的数据交换格式,但是不能依赖企业员工的工资字段(因为他不在交换格式中,只是全局信息格式)。
可以基于系统之间的交换格式,但是标准数据需要来自标准数据源
有时候多系统之间也会对主数据数据格式进行交换,例如财务系统与HR系统之间,对主数据对象的交换格式之外的数据进行交换,功能设计可以依赖这样的数据交换格式定义,但是此类数据定义,不可以与企业已经定义的主数据对象的交换格式重叠,会造成数据不准确问题。
例如在企业的主数据对象的交换格式中,定义了企业员工的所在职级,但是本来是HR作为官方数据提供给数据中心的,各个系统再从数据中心消费,但是运维系统因为自身的需求,从非数据中心、HR系统汇总获取了该数据,这样由于不能确保数据源的准确性和一致性,很容易出现问题。
网友评论