首页 >教育信息化 >本期目录>正文

主数据管理平台与业务系统数据交互研究

来源:同济大学 作者:张甜 许维胜 余有灵 发表于:2016.12.29  1443浏览

在以往高校信息化建设中,多个业务系统的并存导致同一用户数据以片段、重复的形式存在于多个业务系统数据库中,部分用户数据出现缺失,无法实现数据的同步与共享等问题。通过分析现有某高校数据管理问题,归纳总结新的主数据管理整体架构要求,本文提出一种利用主数据管理平台相关服务与技术,实现其与业务系统数据交互的架构。

本文主要研究如何利用IBM InfoSphere MDM 主数据管理平台(以下简称MDM)、消息队列(以下简称 MQ)与企业集成总线(以下简称ESB)技术,实现业务系统与MDM的数据交互,以解决目前高校信息化异构环境下数据共享与同步问题,保证各个业务系统获取最新、准确的用户数据。

一、主数据同步与分享方案

1、主数据管理平台

(1)整合现有系统数据,将存在于各个独立的业务系统中的数据整合到 MDM 中,确保MDM中主数据的完整准确。

(2)完成有筛选地同步最新主数据到业务系统本地数据库,供业务系统使用。

(3)完成对业务系统增加、删除、更新主数据的请求处理,通过MQ与ESB及时发送数据更改消息给其他业务系统,并保证该消息为业务系统可识别的消息格式。

主数据系统管理平台采用IBM InfoSphere MDM 主数据系统,其总体逻辑架构如图1。信息传递方式采用的是报文形式,以学校门户作为信息集成平台,用户通过集成交换平台调用各类服务的形式来统一访问主数据管理平台。

2、业务系统与MDM数据同步与分享架构

为实现主数据同步与分享,本文采用上述主数据管理平台作为主数据统一管理平台,并通过MQ与ESB,实现与第三方业务系统的数据交互。所有业务系统均通过主数据管理平台进行数据的分享。

业务系统与MDM交互实现整体实现框架如图2所示。MDM实际并非直接与第三方业务系统交互,而是通过了两个消息队列MQ1与MQ2,以及ESB的处理与分发。MDM发送包含数据信息的消息到业务系统部分,利用了MDM Server 行为扩展,将消息发送到特定JMS主题。JMS采用发布/订阅模型,实现即为图2中的MQ1与MQ2。

该主数据管理系统中,消息即为XML文件,包含相关数据信息。如果此时业务系统正在进行其他操作,暂不能对该消息进行处理,或者业务系统由于故障等原因处于离线状态,则由MQ暂存该消息,直到业务系统成功接收该消息,保证业务系统同步该更改。

ESB作用主要为两部分:

(1)读取MQ1中的消息,根据业务系统对数据的内容和消息格式需求,对用户主数据进行转换,封装为与业务系统数据接口相匹配的消息;最后将消息分发给负责消息中转的MQ2。

(2)MDM发送的消息内包含用户的完整信息,但不同业务系统需要的数据仅为部分数据片段,采用ESB可以对数据进行筛选。如图3与图4,只将业务系统所需要的数据映射到输出,保证数据的保密性。

二、业务系统与MDM数据同步分享技术实现

业务系统与MDM数据同步与分享技术实现分为三个部分:第一部分,将已有的业务数据整合到MDM,由MDM抽取、清洗和验证,保证提供给各业务系统完整、准确的主数据。第二部分,MDM同步主数据到本地,包括业务系统初次与MDM交互,同步该业务系统需要的全部主数据;以及当MDM中主数据更新时,同步该更新到业务系统。第三部分,业务系统请求更新主数据,MDM处理该请求,并同步该更新到其他业务系统。

高校信息化业务系统中的选课系统,要求数据与其他业务系统主数据保持一致,因此需要与MDM对接。选课系统涉及到流程的流转和监控,所以本文中采用普元BPS平台作为开发平台。该平台内置有工作流引擎处理工作任务的流转,开发周期短,并且支持调用外部WebService,便于与主数据系统进行交互。

1、业务数据整合

为了整合全校业务主数据,MDM需要将已有的业务数据通过批处理的方式加载到Staging DB中,并进行数据质量分析。由于来自不同业务系统的数据只是用户信息的片段,存在重复数据,所以需要对数据进行分析与重复性检测。重复性检测主要是根据条件搜索疑似重复的数据,然后对疑似数据进行匹配,根据打分标准计算分值,进行疑似归类,最后根据其类别基于业务场景做出合并处理。

具体实现为:调用Data Quality Management Services 对数据进行清洗、匹配、标准化等;调用 ETL Transform and Load services 对合格数据进行转换并准备加载数据;通过 Master Data Interface Services 接收批处理更新请求;调用 Lifecycle Management Update Service 进行数据的批量更新;最后 Lifecycle Management Update Service 调用 Hierarchy & Relationship Management Services 和 Base Services 更新主数据库。

2、MDM同步主数据到本地

为实现查询课程相关信息功能,需要业务系统从MDM同步完整、准确的课程主数据到本地的数据库,并且保证在其他业务系统对主数据更新时,本地业务系统能通过MDM及时获取数据更新信息,其具体实现包括MDM端与业务系统端两部分。

MDM端的具体实现如下:

(1)使能 MDM Server 数据库通知机制;

(2)为了获取数据更新通知,需要在 MDM Server 中创建相应的行为扩展,通过行为扩展中获取本次更新的消息内容,设置为在事务之后调用,即在MDM对相应WebService处理完毕后调用;

(3)为实现发送消息到特定目的主题,配置JMS资源包括主题连接工厂和主题目的地,配置完成之后,上述两者可以在工程中通过JNDI查找来连接目标主题,将消息发布到对应主题中(MQ1);

(4)为使得MDM消息发送到ESB,ESB能利用 WebSphere Adapter for SAP Software 将消息发送到对应业务系统,在MDM中调整 SAP IDoc 分发模型为在主数据发生更改时将消息发送至ESB;

(5)导入ESB模块,创建侦听传入的 MDM Server 消息的JMS Export 组件。在ESB中,配置两个JMS主题,分别为对MQ1主题的消息订阅和对MQ2主题的消息发布,创建能够将MDM消息模型转换为业务系统消息模型的消息处理模块,最后将整个应用部署到服务器;

(6)实际运行时,当MDM中有数据更新(包括数据实体的新增与更改)时,MDM通过行为扩展发布通知消息,由ESB配合MQ对通知消息进行处理并分发到业务系统中,以此实现MDM同步主数据到业务系统。

业务系统端实现则通过订阅JMS主题,一旦该主题中有消息发布,便对消息进行接收并处理。这个实际由ESB实现,它负责将消息转发到对应的JMS主题中,并对数据进行过滤。

业务系统进行配置主要有,设置RFC连接用于接收 WebSphere Adapter for SAP 发送的消息;设置RFC端口用于以事务的方式接收消息;设置合作伙伴配置文件来定义业务系统与外部系统(ESB)之间的通信。MDM发送过来的消息本身并不能直接被业务系统使用,还需要一个Java插件,专门负责监听MDM发送过来的消息,从中提取更新数据信息,并转化成对应的SQL语句,对本地数据库进行更新。

3、课程查询实现

在普元BPS开发平台端,查询课程信息功能主要由逻辑流实现,其调用相关的JavaBean,根据用户所给的课程编号,课程名称等查询信息,从本地数据库中查询该课程全部信息,然后前端JSP直接调用该逻辑流,获取输出数据,显示到用户页面。

图5为查询编号为2080151课程信息所得的结果,由于同一门课程会在多个学期开课,所以查询到不同学期开课的统一课程信息。

4、添加教师实现

业务系统通过调用MDM相关 WebService 来实现添加老师信息到MDM功能。具体实现为:在普元BPS开发平台项目运算Java中建立相关的java类,包括调用不同MDM服务的类以及对XML文件处理的工具类。

图6为普元BPS开发平台在逻辑流中调用对应的JavaBean,其输入参数为需要添加的教师数据。该JavaBean对应类TeacherServiceImpld中addTeacher()方法,该类通过上述逻辑流获取需要添加教师的数据,写入对应的XML文件中,并调用SoapUtil中invokeSrvl方法,该方法使用Http的形式调用MDM中addPerson WebService 来添加数据到MDM主数据中。MDM主数据添加成功后,会发送包含数据更新信息的消息给各个业务系统,供其数据同步更新,MDM端具体实现见上文MDM同步主数据到本地。

三、总结

本文利用主数据管理平台整合学校各个业务系统的业务数据;利用消息主题实现业务系统与主数据平台的数据及时交互;利用企业服务总线技术为主数据传输处理提供快捷、准确的数据通道保障;整个架构满足灵活部署、高扩展性和高可用性的要求;解决高校各个业务系统数据不一致、数据无法同步与分享的问题,有利于推动高校信息化的发展。(《中国高等教育学会教育信息化分会第十三次学术年会论文集》)

相关阅读