李轶
(江苏自动化研究所,江苏连云港 222006)
随着全球产业结构调整与科技革命的不断推进,各类新兴信息技术被应用于先进制造领域,现代制造业的智能化发展迎来了千载难逢的历史机遇[1-4]。然而,当前大多数军工科研院所由于任务多样、系统性强、交叉作业量大,在科研管理和生产制造过程中产生的基础数据存在多头管理、重复录入等质量问题[5-6],导致跨信息系统的数据集成变得困难,严重制约了院所信息化、智能化的发展。
主数据(Master Data)是指在业务开展过程中产生的高价值的、在多个业务领域及信息系统被广泛使用的基础数据[7]。通过建设主数据管理(Master Data Management,MDM)系统,一方面,军工科研院所可以优化各异构信息系统间的数据交互模式,提升主数据的高可用性[8-10];另一方面,主数据管理面向的是项目管控、设计研发、采购供应、生产制造及售后服务等全价值链,可以帮助军工科研院所逐步建成以业务为导向、以数据为驱动的信息化科研院所,从而提高核心竞争力。
主数据管理系统总体架构采用分层的思想进行设计[11-12],包括数据源层、数据标准层、数据集成层、主数据管理平台、数据应用层。具体架构如图1所示。
1)数据源层:包括军工科研院所已建的相关业务系统及线下数据,作为主数据及数据集成的数据提供方。
2)数据标准层:建立数据分类标准、数据编码标准、数据属性标准、数据集成标准、数据管理标准,为数据管理、数据集成提供规范和指导。
3)主数据管理平台:包括数据管理层和数据集成层。指利用主数据管理系统实现数据模型管理、数据编码管理、数据资源管理、数据集成管理、数据安全管理、数据质量管理,并通过企业服务总线实现异构系统之间主数据的集成与实时共享。
4)数据应用层:基于统一数据管理开展生产运营管控、决策支持及大数据分析相关应用的建设。
主数据管理系统功能架构如图2 所示。
1)数据模型管理:对数据模型进行统一定义、管理,支持结构化、非结构化数据建模,为开展院所数据资产各项管理奠定基础。通过该模块可以对院所的数据进行分类,并且快速构建可视化的数据模型。
2)数据应用配置:对已经构建的数据模型进行数据及相关配置的维护,包括数据管理模板、编码规则管理、数据审核流程配置、数据查重配置等,为数据应用提供多样化的配置选项。
3)主数据管理:基于统一构建的数据模型,以流程驱动的方式实现数据创建与变动,从而实现院所主数据的全生命周期管理。可按照不同业务分类和逻辑分类生成不同的数据库,实现动态建库;并可支持基于应用需求对数据进行编组服务,形成新的数据视图,并进行存储与管理。可对集中管理的数据资源进行查看、统一搜索,支持非结构化数据的多维度分类、定义、统一展现以及在线浏览。
4)数据集成管理:对数据资源管理需要的数据进行集成管理,支持集成系统的定义及集成接口的注册,自定义配置集成规则及分发条件,并进行集成数据的分发任务管理。
5)数据质量管理:对集中管理的数据资源进行质量控制,支持根据实际需要自定义质量校验规则,配置质量调度任务,输出质量报告与分析图表,辅助数据维护人员控制并持续提升数据质量。
6)数据管理运行监控:对平台管理的数据模型及数据进行监控分析,从数据量、增量、集成交换情况、数据管理绩效、数据质量等方面输出报表和可视化图形,掌握数据管理动态、整改薄弱环节,辅助数据管理体系良性运行。
数据集成管理模块体现了主数据管理系统的数据接收、分发机制,是保证各信息系统中数据实时同步、业务共享的有效手段,是解决“信息孤岛”的关键措施,也是主数据管理系统最重要的功能之一,系统的数据集成管理功能设计如图3 所示。
数据集成的核心是数据集成关系管理,或称为数据流向定义,其内容是主数据管理系统中各类数据的采集来源系统与分发目的系统的定义[13-14]。基于WebService 实现标准的服务调用程序,目的是系统都将开发好的符合主数据管理系统集成规范的接口注册到主数据管理系统中,当手动或者自动进行数据分发操作时,系统将会通过数据集成关系自动识别数据流,同时调用支撑数据流向的集成接口,实现数据的分发共享。数据集成管理功能模块的主要特点如下[15-16]:
1)提供基于WebService 的自动化组件用于数据集成,能够无代码实现新增主数据类型,并与外部信息系统共享;
2)提供常用数据集成接口,包括接收数据接口、接收数据并产生编码接口、生成编码并返回接口、数据文件获取接口、启/停用数据接口、查询数据接口等,并能在线查看接口参数,辅助第三方信息系统进行接口开发调试;
3)提供数据交换功能,可根据数据模型生成XML、JSON 格式的数据交换规范,支持xfire、axis、axis2、cxf 等服务类型,可在前台配置数据交换规范的转换规则,最大程度地适配第三方信息系统;
4)提供数据发送失败自动重发次数、数据分发时数据启/停用状态可配置及单次发送数据量的自定义;
5)提供数据手动、自动分发数据功能,提供接口状态、集成状态管理,提供基于模型及接口服务的数据初始化功能;
6)提供一套数据集成接口规范,指导第三方系统开发规范性、重用性良好的集成接口。
以物料数据为例,主数据管理系统生成的XML格式示例如下所示:
<?xml version=”1.0”encoding=’UTF-8’?>
<LIST><!—列表编码—>
<COMPONET><!—模型编码—>
<CODE>物料编码</CODE><!—varchar(40)—>
<NAME>物料名称</NAME><!—varcha(r100)—>
<PK_MARBASCLASS>物料分类</PK_MARBAS CLASS><!—varcha(r20)—>
<MATERIALSPEC>规格型号</MATERIALSPEC><!—varcha(r100)—>
……
<MEMO>备注</MEMO><!—varchar(300)—>
<DATAID>数据id </DATAID><!—varcha(r32)—>
<DATASTATUS >启用状态</ DATASTATUS ><!—非空—>
</COMPONET>
</LIST>
该XML 格式摒弃了传统主数据管理平台接口规范中XML 文件中的XML 数据头、XML 查询参数等较复杂的辅助信息,整体简化了XML 文件结构,使其能够最大程度地灵活适配第三方信息系统,降低了XML 数据的接口解析成本,提高数据分发、接口调用效率。
主数据管理系统与ERP、PLM、MES、项目管理系统等业务系统基于企业服务总线(ESB)集成示意图如图4 所示。
该文从主数据管理系统接收、分发数据两方面出发,分别以MDM 系统向ERP 系统推送“物料”数据、接收ERP 系统的“往来单位”数据为例,从主数据的自身特点、数据源头定义、接口设计及分发规范和分发机制进行分析,突出说明系统集成接口设计科学合理、灵活规范。
“物料”数据是军工科研院所在科研生产管理过程中最基础的一类主数据,是设计、生产的基础,涉及设计、采购、库存、生产等多个业务方向,无法由单一部门完成物料档案信息的维护,一般在ERP、PLM、MES 等多个业务系统中共享应用。目前比较主流的ERP 产品都无法像MDM 系统一样,能够对数据进行灵活的属性分组及流程化管理,因此该文将以MDM 系统为“物料”数据维护源头,向ERP 推送“物料”数据为例进行接口设计,MDM 向ERP 推送“物料”数据示意图如图5 所示。
1)ERP 系统按照其系统自身集成接口规范开发“ERP 数据同步接口服务”,并提供给ESB 注册发布;
2)设计部门、采购部门业务人员在MDM 系统中完成物料数据的设计属性及采购属性维护、审批后生效数据,MDM 系统会调用ESB 上注册的“ERP 数据同步接口服务”,并按照ERP 系统需要的XML 格式将封装好的数据发送给ERP 系统;
3)“ERP 数据同步接口服务”解析接收到的XML数据,并实时更新到ERP 系统数据库表中(ERP 系统需要改造数据维护界面,不允许用户手工新增数据并禁止修改主数据属性,设置为只读);
4)若MDM 系统中更新了属性(数据状态用DATASTATUS 表示,1 代表生效,0 代表停用,如DATASTATUS=1 且编码在业务系统中不存在,则新增数据;DATASTATUS=1 且编码在业务系统中存在,则更新数据),生效时会同步调用ESB 上的“ERP数据同步接口服务”分发更新后的数据信息,从而保持主数据在各个业务系统中一致;
5)若MDM 系统中停用/启用了某条物料数据(如DATASTATUS=0 则停用/删除数据),生效时会同步调用ESB 上的“ERP 数据同步接口服务”分发停用/启用数据信息,从而保持主数据在各个业务系统中的一致。MDM 接口分发界面如图6 所示。
“往来单位”数据是军工科研院所经营管理中最稳定的一类主数据,是经营管理的基础,一般在ERP、MES、项目管理系统等多个业务系统中共享应用。一般由ERP 系统维护客户、供应商的基本信息,通过MDM 系统分发至下游业务系统,并依赖于事务机制,实现“往来单位”数据在ERP、MDM 系统中保存、生效关联一致,一方面保证了数据的互联互通、实时同步,同时也降低了源头系统数据接口调用、数据分发成本等。因此该文将以ERP 系统为往来单位数据维护源头向MDM 系统推送“往来单位”数据为例进行接口设计,MDM 接收ERP“往来单位”数据示意图如图7 所示。
1)MDM 系统按照系统集成规范开发“MDM 数据同步接口服务”后,提供给ESB注册发布接口服务;
2)业务人员在ERP 下的客户信息管理、供应商管理中完成客户数据、供应商数据属性维护、审批,然后保存数据(执行事务,插入ERP 数据库表),调用MDM 系统的生成编码并返回接口(生效),并按照MDM 系统需要的XML 格式将封装好的数据发送给MDM 系统;
3)MDM 生成编码并返回接口(生效)解析接收到的XML 数据,并将设数据实时更新到MDM 系统,完成赋码,使数据生效,并自动返回成功标志及数据编码;
4)ERP 接收并判断返回信息是否为成功标志,若成功,则将编码回填到往来单位数据库表中,并成功保存数据(提交commit 事务),若失败,则保存数据失败(撤销rollback 事务);
5)业务人员在ERP 中的客户信息管理、供应商管理中完成客户、供应商数据银行账户子表的属性维护并进行保存(默认为停用状态),启用数据后调用MDM 系统的接收子表数据接口(生效),实现银行账户子表信息同步。
MDM 接口调用界面如图8 所示。
该文首先从主数据管理系统建设背景、建设架构、功能模块方面全面简述了系统建设的意义及思路;接着重点对主数据管理系统的数据集成管理模块功能设计进行了详细说明;最后结合实际业务需求,分别从系统接收、分发两个数据集成方向,针对与ERP 系统进行物料、往来单位两类主数据的交互,提出了对不同业务需要、不同种类主数据的个性化接口设计方案,进一步提升了接口的灵活性与规范性。该系统已成功应用于某军工科研院所,为科研生产过程提供基础数据支撑,对其他各军工科研院所的数据治理及信息系统集成具有一定的指导意义。