基于SOA的高校信息系统数据交互架构设计

2015-09-10 07:22杨斌
中国信息技术教育 2015年12期

杨斌

摘要:本文运用SOA面向服务的架构理念,采用WebService技术实现了高校信息系统数据交互。将各个系统数据抽象为服务对象,每个系统只需建设一次WebService服务即可满足后续数据对接。对接系统也无需了解所需数据来源与结构,只需阅读WebService菜单调用相关服务即可。通过此架构可完成高校多信息系统数据交互统一规划管理要求,无需建立大型数据中心库,无形中减省了高校资源。

关键词:数据交互;SOA;WebService

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2015)12-0106-03

引言

随着教育信息化建设的逐步推进,各高校拥有的信息系统数量日渐增多,并且各个系统建设时间不一、使用技术不一、管理部门不一,系统与系统之间相对独立,需要数据交互时往往以底层数据库的数据推送来完成,没有顶层设计架构,导致系统与系统之间关系越来越错综复杂,无法高效地协同运行,也为高校后续的信息化发展增加了难度。

现状与解决方法

1.现状

现阶段多数高校在信息化系统建设方面缺乏研发能力,基本通过建设项目,或直接购买相对成熟的信息系统,或以社会公司的技术力量开发个性化信息系统。这直接导致高校的信息化系统与社会公司捆绑,一个系统或多个系统背后代表一家公司的利益,建设后期的升级、维护往往被公司牵制。而其中系统数据对接要求是大数据时代下不可避免的,也往往会与两家甚至多家公司进行牵扯,是大数据时代下高校教育信息化建设中的难点。

2.解决方法

现今多信息系统间的数据交互主要有4种设计架构,分别为面向数据的交互模式、面向接口的交互模式、面向业务流程的交换模式与面向Web服务的交换模式。[1]其技术实现方法主要有:设计中间件、建立数据中心库、建立数据接口[2]等。其中中间件最为人熟知的是阿里巴巴的Cobar,将阿里的前端与后端分离,但是中间件开发成本较高,不利于高校后期维护。

部分大型高校拥有一定的研发能力,会分别成立数据中心部门,建立大型的数据中心库[3],即用面向数据的交互模式解决高校信息系统交互。具体来讲就是为将本校所有信息系统数据抽取到数据中心库中,进行数据解构重组,建立对象、关系、索引,再由数据中心库传递给需要数据的各个信息系统。这样每个系统只需建立一次数据推送、接受的操作,可以做到交互统一规划,数据统一维护,同时利于大数据时代下的大数据挖掘分析。研发维护能力更强的高校已经将全校信息系统虚拟化后,统一置于数据中心部门管理。[4]但是这样的数据中心部门建设成本较高,维护任务较重,部分高校不具备这样的人力物力,若全部利用社会公司力量建立数据中心库,一旦公司发生意外,出现问题可能导致全校所有相关信息系统瘫痪,责任重大。同时数据中心与各个系统使用部门脱离,只能对数据形式进行维护,无法对数据内容的正确性进行有效辨认,如果数据内容有错误,则需要部门间逐层检查,较为麻烦。而基于SOA的多信息系统数据交互架构,其本质为面向Web服务信息系统的交互模式,为没有能力或还未筹划建立数据中心的高校提供了另一种多信息系统数据交互解决方式,同时也为大数据分析建立了基础。

基于SOA的高校信息系统数据交互架构

1.交互架构概述

此架构将数据中心部门从原有的数据管采用SOA框架整合为现有教学的各个系统,主要依据面向服务的架构思想,在系统间搭建了一层统一的WebService数据接口[5],将每个系统自身所产生的数据抽象为一个个服务,负责何种功能提供何种服务,如教务系统主要负责学生成绩、学生选课、教师排课等功能就提供成绩查询、选课查询、课表查询服务。而数据需求系统会进入WebService菜单调用菜单中对应的服务,进行数据获取。整体架构如图1所示,各个信息系统及其服务由相应部门建设并维护,数据中心部门不管理其具体内容,只架设一台WebService服务器,其上主要实现两项功能:一是录入全校所有信息系统所提供的服务,并分类收藏,建立WebService菜单;二是记录全校各个信息系统获取的服务权限,并进行身份认证管理。WebService菜单中的服务内容主要包括:服务简介、服务ID、服务调用参数、服务返回XML格式、服务调用权限等信息。WebService服务器在完成信息系统身份认证后也只是将其请求依据菜单所录发送到对应服务的服务器中,而非本地运算,大大分担了数据中心部门的服务器压力,节省了高校建设资源。

实现服务管理及信息系统身份管理,只需将WebService菜单作为全校信息系统数据获取的统一出口,对所有系统开放,适当对已有或预建信息系统服务进行协调,即可达到全校信息系统数据交互的统一管理。在大大减轻了数据中心部门工作量的同时可以将更多的人力物力投入到数据分析系统中,为高校在大数据时代下的信息化建设提供基础。

2.WebService服务

为方便介绍,下面以本校课堂教学反馈系统等相关系统交互为例。

服务的提供方提供按照统一标准尽量将自身系统所产生的所有数据抽象为服务,非自身数据则忽略,以免造成服务重叠,如课堂教学反馈系统中的班级、学生、教师数据。在设计服务时建立详尽的子服务,但无须考虑具体使用系统的数据内容要求,只需在每一项子服务中将相关所有数据打包,由使用系统获取数据后自行筛选。WebService服务数据以XML的形式存在,可以跨越任何平台,也无须考虑使用系统的数据结构要求。建立WebService服务后将相应的IP地址、权限、服务详细说明提交至WebService服务器,形成WebService菜单,即可使后续系统自行调用服务。

3.WebService服务调用

现有的信息系统一般需要获取多个其他系统数据才能良好运行,如我校课堂教学反馈系统需要的选课信息、班级信息、学生与教师信息,分别来自教务系统、学工系统、人事系统。当然,教务系统也可以从课堂教学反馈系统中获取学生的课间成绩以完善学生成绩综合评定。按传统的底层数据库推送则所有相关系统至少需要建立五个中间库进行数据对接,如所有系统如前文所述建立统一的WebService服务,并将服务录入到WebService菜单中,这些系统间的数据交互将变得简单、便捷。无须分别找教务处、学工部、人事处及其系统所属公司商谈数据对接事宜,只需将课堂教学反馈系统向数据中心部门报备并授予系统ID及相应调取服务权限,然后查阅WebService菜单,找到相应服务,即排课信息查询、选课信息查询、班级信息查询、学生信息查询和教师信息查询,甚至无须关心这些服务是由何系统提供的。调用最接近自己需要的子服务得到系统运行所需数据,然后进行数据过滤,检选需要属性,至于本地是否存储一份获取数据及同步机制,则由系统建设方自行决定。出于对各个系统的完整性、安全性考虑,目前本校服务以信息查询为主,承担数据交互的工作,如特殊情况可以进一步考虑系统间整合,加入系统数据同步机制。

具体调用流程如下页图2所示,服务调用系统向WebService服务器发送系统ID、密码,查阅相关服务,再依据具体子服务要求传送参数调用子服务,WebService服务在检查权限无误后将调用子服务请求传递到提供服务的服务器中,该服务器依据参数查询数据并以XML形式返回服务调用系统,服务调用系统在收到XML后,解析并筛选自己所需的数据,进行利用。以课堂教学反馈系统查询班级信息为例,首先教学反馈系统向WebService服务器发送查询请求,查阅WebService菜单后选择以班级号查询班级信息服务及以班级号查询学生信息服务两项,将班级号及服务调用请求发送至WebService服务器,服务器检查课堂教学反馈系统权限后,依据菜单所记录的服务对应IP地址,将服务调用请求转发至教务系统及学工系统。教务系统依据班级号将班级名、专业、入学时间、毕业时间、类型、所属二级学院ID、班主任教工号等信息回传,学工系统依据班级号将该班所有学生的学号、姓名、班级、专业、年龄、性别、籍贯、名族、入学时间、类型等信息返回。课堂教学反馈系统将数据的属性依据需要保存在系统数据库中,方便后期程序直接调用,增强系统运行效率。

全过程课堂教学反馈系统无须了解班级信息查询服务,学生信息查询服务是由何系统提供,学工系统与教务系统也无须了解何系统调用了服务,这大大节省了系统间建立数据交互的步骤与过程。建立WebService菜单及系统身份管理达到类似建立大型数据中心库的功能,统一规划及管理全校所有信息系统数据交互。

总结

基于SOA的高校信息系统数据交互架构以各个系统提供服务、使用服务代替传统的系统间数据对接,从原有点对点定向连接到单点定权限开放式对接,使每一个信息系统只需要建立一套自身所能提供的服务,就无须再为以后的系统对接事宜不断修正,而受系统背后的社会公司牵制。同时WebService的跨平台性不仅适用于原有老系统改建,也不限制后续新系统的选择,而XML数据形式可以被大部分开发技术解析。

相比建立大数据库统一存储推送的解决方法,其具有减轻数据中心本身工作量的优势,只需统筹所有服务及管理各个系统的权限,为人力物力较紧张的高校提供了另外一种管理全校信息系统交互的方式。并且因为WebService服务器上并无数据存储,数据源只在服务提供部门的掌握中,保证了数据源的唯一性。相比建立大型数据中心库推送所获取的数据是经过数据中心加工过的,通过服务调用获取数据具有更高的安全性与可靠性,即使一部分服务出现问题,也只是影响这部分服务相关的系统,各个系统所属部门责任亦更加明晰。

参考文献:

[1]吴淑玮,闫训超.信息系统数据交换技术分析[J].计算机系统应用,2012,21(4):18-40.

[2]郭静.基于数据交互平台进行“信息孤岛”消除法研究[J].现代电子技术,2013,36(22):53-56.

[3]苏林忠.基于Oracle的高校数据中心建设方案的研究[J].河南师范大学学报(自然科学版),2011,39(4):138-141.

[4]连淑娟.基于VMware的高校数据中心应用研究[J].网络安全技术与应用,2014(10):141-142.

[5]胡君.基于SOA的高校教务管理系统与在线考试系统接口模型设计[J].电脑与信息技术,2012,20(1):47-49.