基于Web Services的实验室异构数据集成的研究
2017-04-19高双喜曹淑服
高双喜, 曹淑服
(河北经贸大学 信息技术学院, 河北 石家庄 050061)
基于Web Services的实验室异构数据集成的研究
高双喜, 曹淑服
(河北经贸大学 信息技术学院, 河北 石家庄 050061)
对传统的异构数据集成方法进行了研究,分析了每种集成方法的优缺点。针对高校实验室各应用系统间数据共享时对数据的实时同步性要求较高的特点,采用模式集成的方法设计了一套基于Web Services的异构数据集成方案,并对服务描述、服务分解和模式映射等关键模块进行了设计。方案采用3层构架,将数据集成的核心功能全部放在了中间层,有效地发挥了Web Services技术在异构数据集成中的优势。
实验室管理; 异构系统; Web Services; 数据集成
随着我国信息技术的飞速发展,高校的数字化校园建设也在不断取得新的进展[1]。实验室作为高校进行实践教学和师生科研的重要场所,在培养学生的实践动手能力、深入理解理论知识、提升创新能力和综合素质等方面起着重要的作用[2-4],实验室的信息化水平直接影响着整个高校的教学和管理水平。
由于在信息化建设的初期缺乏统一的规划,高校所开发的信息化系统(如实验设备管理系统、开放实验室预约系统、实验室排课系统等)使用不同的数据模型或数据存储结构,难于进行统一的管理和数据的共享[5]。另外,实验室各应用系统的数据信息必须以本校教务系统的基础数据信息为依托并与之保持实时同步[6],因此,对这些异构的数据信息进行有效的集成就成为了当今实验室管理部门亟待研究的课题。本文针对目前高校实验室多套异构系统共存的现状,设计了一套基于Web Services的数据集成系统,实现了对多种异构数据源的共享和统一管理,提高了高校实验室对现有数据的使用效率。
1 异构数据集成方法的研究
异构数据集成,即通过数据转换和传递,将具有不同数据模型或数据存储结构的数据源在逻辑上或物理上有机地统一[7],从而解决应用时难于共享的问题。
1.1 异构数据集成的常用方法
目前,异构数据集成的常用方法主要有数据仓库法、联邦数据库法和中间件法等几种,在实际数据集成应用中,它们的侧重点(如执行效率、实时一致性等)有所不同。
数据仓库法又称为数据复制法,就是将各个异构数据源的数据按照全局模式的要求复制到数据仓库[8],而用户则通过访问数据仓库来直接获取所需的数据。由于数据仓库位于本地,因此采用该方法的数据集成系统具有较高的执行效率和较弱的网络依赖性,但数据仓库中的数据和数据源中的数据不能保持实时一致。
联邦数据库法是一种早期的数据集成方法,联邦数据库系统在维持各异构数据源独立自治的前提下[9],每个数据源分享自己的部分数据并提供访问接口,各数据源之间通过访问接口互相访问。联邦数据库法的缺点是当需要集成的异构数据源较多时,数据访问接口比较多,执行的效率较低。
中间件是处于应用软件和数据源之间的独立的系统软件或服务程序。中间件法通过向用户提供一个统一的、能够隐藏底层数据细节的数据逻辑视图来实现对异构数据源的集成。使用中间件不但能够对传统的结构化的数据源进行集成,还可以对诸如Web信息的半结构化或非结构化数据源进行集成。但是,大多数中间件技术(如CORBA、DCOM等)在通信时需要专门的通信端口,因此可能遭到防火墙的封锁。另外,基于不同技术开发的组件之间的互操作性较差[8]。
联邦数据库法和中间件法都属于典型的模式集成方法。模式集成方法不需要把异构数据源复制到本地数据库,数据的访问仍然在原有的远程数据源中进行,因此对网络的依赖性较强,但各数据源的自治性强、数据的实时一致性好。
1.2 Web Services数据集成技术
Web Services[10]是一种基于网络、面向服务、分布式的模块化组件。它把各个异构数据源封装成不同Web服务并注册发布到Web Services的服务注册中心,应用软件在服务注册中心查找与本身任务相符的服务,如果找到了,就通过服务接口调用这些服务以完成对异构数据源的访问。Web Services对应用软件提供的服务接口是通过XML的WSDL语言来描述的,它隐藏了底层服务实现的全部细节,应用软件只需通过标准SOAP协议就可以访问这种服务。SOAP位于Internet的应用协议之上,可以使用HTTP、FTP等应用协议在互联网上传输数据,因此可以突破防火墙的封锁。
在Web Services数据集成系统中,各异构数据源可以根据自身的需求参与集成,不需要与集成中心紧密绑定,也不需要特定的对象模型。各节点通过服务注册中心的服务描述与其他节点进行连接,因此各节点可以直接进行数据交换和共享,形成一个松散耦合的集成模式。
2 实验室异构数据集成系统方案设计
2.1 数据整合需求
在实验室现有的各应用系统中,一个系统的运行往往需要访问其他系统的数据源。例如,开放实验室预约系统要以实验室和实验指导教师的课程安排以及相应实验设备状态(是否可用等)数据作为开放的依据,而实验室和教师的课程安排数据是由实验室排课系统产生的,实验设备的状态数据位于实验设备管理数据库中。但实验室现有的应用系统大多是独立开发的,它们的数据源也存在着异构的现象,因此需要将这些异构数据源进行集成,以便于共享。
实验室各应用系统的大部分数据(如教师、学生、选课情况等)是以学校教务系统的基础数据信息为依托的。为了保证这些数据与教务系统实时同步,在进行数据整合时需要采用数据实时一致性较好的模式集成方法。
2.2 架构设计
基于Web Services的异构数据集成系统采用模式集成的方法,既实现了数据的松散耦合,又满足了实时同步的要求。实验室异构数据集成系统采用了三层架构的模式(见图1)。
图1 实验室异构数据集成系统架构
应用层为实验室现有的各种应用系统,在需要与其他异构数据源提供数据交互服务时,向Web服务层发出服务请求。
Web服务层由中心服务程序、中心数据库和服务注册中心组成。中心服务程序的主要功能是分解应用层传来的服务请求、调用Web Services组件提供的服务、对返回的服务结构进行整理集成、管理中心数据库、管理数据模式和服务描述的注册发布等;中心数据库用来存储公共数据与各异构数据源间的映射规则;服务和注册中心用来注册和发布各组件的服务描述。
异构数据层将每个数据源封装在不同的Web Services组件中,然后将生成的服务描述注册到Web服务层的服务注册中心,服务被调用执行后,将服务的结果通过SOAP协议传送给上一层。
2.3 系统执行流程设计
三层架构的集成系统执行流程如下[11]:
(1) 各异构数据源将自己所提供的数据操作服务描述成WSDL文档,并在服务注册中心进行注册和发布;
(2) 应用层的应用系统向Web服务层的中心服务程序提交服务请求;
(3) 中心服务程序按照映射规则,将服务请求动态分解成对应各异构数据源的子请求;
(4) 通过服务注册中心找到与各子请求相符的服务描述并与相应的Web Service绑定,将子请求封装后传送给异构数据层;
(5) 异构数据源将服务的结果封装成SOAP消息传回中心服务程序;
(6) 中心服务程将各数据源传回的查询结果进行缓存,然后经整理、合并后送交给请求的应用程序。
3 系统关键模块的设计与实现
实验室异构数据集成系统的核心是Web服务层中的中心服务程序。中心服务程序分为服务描述与注册管理、映射规则管理、服务分解管理和服务调用管理等几个功能模块。
3.1 服务描述与注册管理
在集成系统中,各异构数据源为其他应用程序提供数据的操作和访问服务。为了保证数据源的安全性和独立性,对数据的操作要在数据源内部完成。数据源使用WSDL语言将所提供的数据操作描述成服务,将服务的各项信息写入服务文档,然后注册到服务注册中心。其他应用程序可以根据服务描述文档了解服务的详细信息,并根据这些信息直接调用服务。
本数据集成系统中各数据源为其他应用程序提供的操作比较简单,各数据源可通过在WSDL文档模版中填写各项服务信息来实现自己的服务描述。私有的服务注册中心是通过Windows Server 2008的UDDI服务来建立的,它提供了用于发布服务的API,利用save_xx函数和delete_xx函数可以方便地发布和删除服务描述文档。
3.2 服务分解管理
为了便于异构数据源的统一访问,系统将各个数据源的数据模式进行合并,形成统一的全局模式。应用程序发出的服务请求是基于全局模式的,可能涉及到多个数据源和数据表。例如实验室排课时需要查询的学生选课信息就来源于教务系统的多张数据表。中心服务程序要依据映射关系,将全局服务请求分解为针对单个数据源的一个或多个子请求。
该系统采用基于XML的数据查询语言XQuery对服务请求进行分解,因为XQuery具有精确、强大和易用的特点。
3.3 映射关系管理
服务分解后的子请求除了要避免重复访问同一数据源外,还要保证分解后的查询结果的正确性,即分解后语义与分解前应是一致的。但在不同的数据源中往往存在着命名冲突、内容交织等语义的异构。为了解决这种语义异构的问题,系统建立了映射关系。
映射规则的建立充分考虑到异构数据源间的语义异构问题。实验设备数据库和实验室预约数据库的XML局部模式到全局模式的映射如图2所示。
图2 XML局部模式到全局模式映射
(1) 如果局部模式中存在名称冲突,在全局模式中则要进行统一命名,如
(2) 如果局部模式中存在内容包含和交织,全局模式则要进行扩展,包含局部视图的全部元素;
(3) 如果局部模式中元素的排列顺序不同,全局模式可以约定某个固有的排列顺序。
3.4 服务调用管理
全局服务请求一旦分解成局部请求,服务调用管理模块就会在私有UDDI中进行查询,以便获得满足条件的WSDL文档。UDDI提供了包含find_xx函数和get_xx函数的查询API,find_xx函数可以使用多种搜索标准在整个注册中心进行文档检索,例如用Find_TModel方法查询所有服务类型与“TModel”相符的服务文档。get_xx方法可以通过关键字直接获取WSDL文档的相关信息。获取WSDL文档相关信息后,抽取出该服务的调用地址,使用InvokeWebService函数就可以实现对服务的调用。
4 结语
Web Services技术使用标准的XML来描述服务,使用URL来标识应用程序和数据源,通过基于HTTP的SOAP协议传输信息,因此,其组件间具有良好的互操作性且不受防火墙的限制。采用Web Services技术设计的三层架构异构数据集成方案,在不需要改变原有应用系统的前提下,很好地解决了实验室各异构数据源的数据共享问题,具有耦合松散、数据同步好的特点。
References)
[1] 曹淑服,安艳辉.基于Web Services数据整合系统的研究[J].河北省科学院学报,2015,32(3):17-20.
[2] 盛苏英,堵俊,吴晓.高校实验室信息化管理的研究与实践[J].实验室研究与探索,2012,31(12):184-187.
[3] 陶灼,高凤新,黄一帆,等.高等学校实验室安全及管理的数字化网络平台构建[J].实验技术与管理,2016,33(2):201-204.
[4] 高凤新,卢士香.高校实验室仪器设备管理和使用的信息化建设[J].实验室研究与探索,2014,33(5):272-274.
[5] 姜文广.论高校信息化建设中的问题及对策[J].计算机光盘软件与应用,2014(24):251-252.
[6] 陶国林,曾晓松,肖夏.实验教学信息化平台建设的关键问题探讨[J].实验技术与管理,2015,32(4):197-199.
[7] 高昂,刘东华.基于XML技术的农产品异构数据集成研究[J].标准科学,2016(2):24-34.
[8] 黄浩,欧阳柳波.基于Web Services的语义异构数据集成设计与实现[J].计算机工程与设计,2009,30(19):4406-4410.
[9] 邹卫国,郭建胜,刘建军,等.基于联邦数据库的数据集成体系研究[J].中国管理信息化,2009,12(13):86-88.
[10] 高源.基于Web Service的数据库同步系统的设计与实现[J].中国管理信息化,2016,19(7):188-189.
[11] 张恩,刘春红,段德全.基于XML/Web Services的异构数据集成研究[J].广西师范大学学报(自然科学版),2008,26(3):169-172.
Research on heterogeneous data integration in laboratory based on Web Services
Gao Shuangxi, Cao Shufu
(School of Information Technology, Hebei University of Economics and Business, Shijiazhuang 050061, China)
The traditional heterogeneous data integration methods are studied. The advantages and disadvantages of each method are analyzed and summarized. Aiming at the characteristic of requiring temporal synchronization higher of data between different application systems data sharing of university laboratories, a set of heterogeneous data integration scheme based on Web services is designed by using the method of pattern integration, and some key modules such as service description, service decomposition and schema mapping are designed. The scheme adopts 3-tier architecture, and the core functions of data integration are all put in the middle layer, which can effectively give the best advantages with Web Services technology in the heterogeneous data integration.
laboratory management; heterogeneous system; Web Services; data integration
10.16791/j.cnki.sjg.2017.03.039
2016-10-12
河北省高等学校科学技术研究项目(QN20131136)
高双喜(1972—),男,河北抚宁,硕士,讲师,主要研究方向为信息系统、计算机网络
E-mail:327258106@qq.com
曹淑服(1972-),女,河北肃宁,硕士,讲师,主要研究方向为软件工程、信息系统开发与应用.
TP311.13
A
1002-4956(2017)3-0154-04