通过共享数据中心SOA和ESB中间件技术实现数字化校园应用设计

描述

物联网是新一代信息技术的重要组成部分。第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。

互联网的快速发展为高校数字化校园的发展提供了极好的机遇。但高校在数字化校园建设过程中,由于诸多原因,应用系统数据的使用、集成和共享出现了瓶颈,随着应用的增多,“信息孤岛”也日渐突现,一定程度上制约着高校信息化建设的发展。因此,实现各应用系统之间的数据有机整合成为高校数字化校园建设急待解决的关键问题。

根据需求调研,采用共享数据中心模式来解决应用系统数据整合。共享数据中心存储全局共享的数据, 通过数据交换工具,把业务系统需共享的数据抽取到共享数据中心进行保存,通过数据订阅和抽取的方式实现数据共享。这种模式既体现了数据中心的“共享”地位,又实现了共享数据的存储和转发,能有效地实现数据的整合。

对于应用系统与共享数据中心的集成,根据数据标准,使用数据集成客户端工具(ESB客户端工具),生成相应的主题库,应用系统在进行数据操作时,直接调用中间件服务,对共享数据中心主题数据库进行操作。

本文以我院数字化校园数据集成和整合项目(下简称“本项目”)为例,阐述基于SOA下,如何基于共享数据中心应用ESB中间件实现数字化校园应用系统的数据整合。

1 SOA和ESB中间件技术

SOA(Service-Oriented Architecture)是面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

采用SOA架构,可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用,有利于项目的建设。在基于SOA架构的系统中,具体应用程序的功能是由一些松耦合并具有统一接口定义方式的组件(Web Service)组合构建起来。

组件被提交到ESB平台中,通过服务的编排实现具体的业务,达到重复利用组件的效果,这些组件最终以Web Service的方式部署在ESB平台中。

企业服务总线ESB(Enterprise Service Bus)是基于SOA思想的企业应用集成的基础软件架构。IDC将ESB定义为基于开放的标准消息总线,通过标准的适配器和接口提供各程序和组件之间的互操作功能。它支持相互独立的异构环境中的服务、消息及基于事件的交互,并具有适当的服务级别和可管理性。

ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。

作为SOA架构的信息传输龙骨,ESB为SOA提供了一种连通性的基础架构,用以连接SOA中的服务。第三方的程序组件能够以标准的方式“插入”到该平台上运行,组件之间能够以标准的消息通信方式进行交互。

在本项目中,所有的数据交换流程都是由多个SOA组件编排组成,SOA组件表现为设计器中的服务组件,例如“表输入”、“字段映射”等。以“表输入”组件为例,主要完成从应用系统数据库抽取数据到ESB平台中,并转换成ESB内部传输格式的功能;而“字段映射”组件,则是完成两个表之间不同字段之间的映射关系的功能等;这些服务组件在配置后提交到ESB平台,注册形成特定的服务,供流程引擎调用,最终串联成一条完整的服务流程,完成特定业务功能。这些服务和流程本身都被提交到ESB平台中进行管理,通过统一的接口注册在平台中,ESB管理这些组件和流程,实现流程调用和数据的传输[3]。

ESB平台分为服务端和客户端两个部分,分别部署在数据中心服务器和各个应用系统数据库服务器端,服务端与客户端之间使用消息中间件实现数据的传输以保证数据传输的可靠性。服务端与客户端只需要运行在相应的Java环境下,安装部署非常方便。

2 应用系统整合思路

通过对学院各部门业务的充分调研,主要应用系统数据流向关系描述为:

(1)人事管理系统需要将共享数据上传到共享数据中心,上传的数据包括教职工的基本信息、所属部门系统、工资信息、津贴信息等。

(2)教务管理系统需要将学生的基本信息、在校信息、通讯信息、家庭信息、院系信息、专业信息、课程信息、教学计划信息、选课信息、教室使用信息、实验室使用信息等上传到共享数据中心,因此需要将老生的报到信息同步到共享数据中心,并将一卡通的学生报到数据、收费系统的收费数据、学工的贷款审批信息的状况下载到教务系统中,根据这些信息,在教务系统中实现自动注册。

(3)学工系统根据本身的需求,将学生的基本信息下载到系统中(包括从高考招生的学生基本信息[临时学号]、学生基本信息(教务上传的学生基本信息[正式学号])、院系统、班级、专业信息、财务借、贷发放情况、教学的学籍处分信息下载到本地;对于从临时学号变为正式学号,系统需要将学号进行更新。同时,学工系统需要将奖学金、勤工助学、补助、贷款、宿舍分配信息提供给共享数据中心。

(4)招生办提供的学生招生信息,通过手工导入方式导入到共享数据中心,共享数据中心根据学校提供的学号编码规则编制临时学号,再导入到高考招生基本信息集中。

(5)迎新管理系统根据目前招生导入的高考招生基本信息集,同步到迎新系统的学生基本信息中,一开始时使用学生的临时学号。在迎新完成之后,在共享数据中心提供手工的方式,为新生产生正式学号;同时将正式学号的学生基本信息、院系信息、专业信息等上传到共享数据中心。

(6)收费系统将共享数据中心导入的学生招生信息(临时学号)下载到收费系统中,并根据学生所在的院系、专业、班级情况,制订收费标准。迎新结束之后,学生的学号信息变为正式学号,由教务系统上传后,再下载学生的正式学号,修改临时学号为正式学号。

(7)图书馆管理系统将学生信息、教职工信息下载到读者信息库中。同时,将读者借阅信息、罚款信息、逾期信息、图书信息提供给共享数据中心,方便学校查询。

(8)精品课程系统只处理教师的帐号信息以及教师制作的精品课程信息。只需要将教师的基本信息下载到用户信息库中。同时,将教师制作的精品课程基本信息同步到共享数据中心的精品课程库中,为统计分析提供基础数据。

(9)机房管理系统主要是对学生上机情况进行管理,需要共享数据中心提供院系、班级、学生、专业、课程、排课等信息。

(10)多媒体教室中控监控系统需要共享数据中心的教师基本信息、一卡通的卡号信息。

(11)网络教学平台为教师与学生的互动提供基础平台,因此需要共享数据中心提供院系、班级、学生、专业、课程、排课、教师等信息。

(12)人事管理系统为共享数据中心提供教师的基本信息、工资信息等。

(13)财务管理系统为共享数据中心提供科研经费信息,教职工的工资、津贴、补助等信息,学生的奖、贷、助、罚等信息。

(14)资产管理系统需要共享数据中心提供教师信息、学生信息等。同时,需要将房屋、土地、仪器、设备等相关资料提供给共享数据中心,作为决策分析的数据。

3 应用ESB实现数据整合

基于ETL(Extract-Transform-Load)的核心思想和SOA的开放架构,通过共享数据中心和ESB中间件形成异构的数据交换处理系统,可以使上述数字化校园诸多应用系统之间复杂的数据提取、处理、映射、装载等过程变得简单而高效。通过金蝶Apusic ESB(下简称“AESB”)基本可视化的配置工具完成各个应用系统之间的数据采集、交换、同步、共享工作,从而实现数字化校园诸多应用系统的整合。

ETL是数据仓库中的非常重要的一环。它是承前启后的必要的一步。相对于关系数据库,数据仓库技术没有严格的数学理论基础,它更面向实际工程应用。所以从工程应用的角度来考虑,按着物理数据模型的要求加载数据并对数据进行一些系列处理,处理过程与经验直接相关,同时这部分的工作直接关系数据仓库中数据的质量,从而影响到联机分析处理和数据挖掘的结果的质量。

数据仓库是一个独立的数据环境,需要通过抽取过程将数据从联机事务处理环境、外部数据源和脱机的数据存储介质导入到数据仓库中;在技术上,ETL主要涉及到关联、转换、增量、调度和监控等几个方面;数据仓库系统中数据不要求与联机事务处理系统中数据实时同步,所以ETL可以定时进行。但多个ETL的操作时间、顺序和成败对数据仓库中信息的有效性至关重要。

ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。

本项目中应用的AESB主要分为数据源管理、表输入、字段映射、值映射、分支节点、合并节点、表输出等组成。根据这些组件,可以根据需要,定制不同的数据交换流程、数据处理方式,最终将处理后的数据输出到目标数据库中。

下面以教务系统的学生基本信息变化为例,说明它与学工系统进行整合所实现的数据同步流程,如图1所示。

在本项目中,共享数据中心后台管理人员使用设计器进行服务组件的编排,完成数据的抽取与推送。

3.1 数据抽取过程

数据抽取过程如下:

(1)教务系统根据学生基本信息的变化情况(如姓名、联系电话、班级、学号变化等),由ESB客户端监测到收费系统的学生基本信息变化情况,启动数据交换流程。

(2)表输入:ESB客户端启动交换流程之后,从表输入中读取变化后的学生基本信息,装载到ESB客户端的内存中暂存,应用ESB界面如图2所示。

SOA

(3)字段映射:ESB客户端根据共享数据中心的主题数据库的字段情况、教务系统数据库的字段情况,进行一对一映射,即从教务系统的字段传递到共享数据中心主题数据库的相应主题对象、相应字段,如图3所示。

(4)值映射:对于教务系统的学生性别,在共享数据中心主题库中以男对应1、女对应0存放,在值映射中,定义性别字段的值从男变为1,女变为0,实现代码集的映射。

SOA

(5)表输出:在表输出中,配置主题数据库对应的主题库及主题对象。数据交换流程根据字段映射、值映射、以及表输出中定义的主题对象,生成数据输出对象流。

(6)消息中间件:消息中间件根据ESB客户端提交的数据输出请求,将数据进行加密、分组,以包的方式进行数据传输。

(7)消息中间件在服务器中接收ESB客户端传递的信息包,并进行合并解密后,再传递到ESB服务器中。

(8)ESB服务器:ESB服务器接收到消息中间件传递的数据包,根据数据包中包含的原始数据、输出的主题对象,输出到主题对象库中。同时,记录更新的时间、数据内容、客户端名称等信息,方便管理人员查看数据交换日志。

3.2 数据同步过程

数据同步过程与数据采集过程类似,只是在数据处理方向上,是从共享数据中心的主题对象中抽取变化的学生数据,再传递到收费系统的ESB客户端中,由收费系统的ESB客户端输出到收费系统的学生基本信息中。

提交该流程到数据中心,就可以将这条流程以服务的形式注册到ESB平台中以供调用。将流程调度为自动周期性运行,就可以实现实时同步学生数据的功能。

以教务系统与收费系统数据同步为例:

在教务系统中执行【教务系统】→【学生管理】→【学生信息维护】新增三条学生信息,分别是“彭金”“张作海”“莫秋晨”,教务系统中原始学生数据如图4所示。

SOA

应用ESB中间件实现抽取后,从教务系统抽取到共享数据中心的学生数据如图5所示。

SOA

应用中间件实施数据同步。从共享数据中心的主题对象中抽取变化的学生数据,传递到收费系统的ESB客户端中,由收费系统的ESB客户端输出到收费系统的学生基本信息中。

进入收费系统,选择【收费系统】→【变动处理】→【学生信息变动】,可以看到新增学生信息已经同步到收费系统中。

在数字化校园建设进程中,要更大程度地推进数字化建设,必须在深入调研和了解高校业务的基础上,应用先进的系统设计架构和中间件技术,将各业务系统进行更底层的数据关联整合,实现数据的交换共享,才能消除信息孤岛,保障数字化校园的数据资源真正贯通。高校数字校园综合管理平台的建设须坚持“先进性、实用性、开放性、标准化、可靠性、稳定性、可扩展性、易升级性、安全性、保密性、易维护性、可管理性”的设计原则。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分