基于XML+Web Service的异构数据交换技术应用研究

时间:2022-08-27 09:56:11

基于XML+Web Service的异构数据交换技术应用研究

摘要:随着网络的不断普及信息化的发展,Internet环境下存在着越来越多的异构数据库系统,“信息孤岛”现象日渐突出。文中提出了一种基于XML和Web Service技术的异构数据库应用系统间数据交换的解决方案,为异构数据共享和交换提供了一种有效途径。

关键词:XML;Web Service;数据交换;异构数据

中图分类号:TP274文献标识码:A文章编号:1009-3044(2011)26-6356-02

Research on Application of Heterogeneous Data Exchange Technology Based on XML+Web Service

MIN Jie, LIU Li-juan

(Xinyang Agricultural College, Xinyang 464000, China)

Abstract: With the popularization of the network and the development of the university informationization, Under the Internet environment there are a growing number of heterogeneous database systems, the "information isolated island" phenomena stands out gradually. This paper presents a technology based on XML and Web Service to solve the problems existing among data exchange in heterogeneous database application system so that can provide an effective way for heterogeneous data sharing and exchange.

Key words: XML; Web services; data exchange; heterogeneous data

随着数据库技术和信息化的发展,数据成为Internet环境下的核心资源。企事业单位内部各职能部门根据需要构建了众多业务系统,各业务系统之间不可避免的会遇到数据交换的问题。这些业务系统通常采用不同的技术和体系结构,且大部分是相互独立的应用系统,因此使WEB环境下的数据交换变得更为复杂。针对此问题本文提出了一种基于XML和Web Service技术实现异构应用系统之间的数据交换系统体系结构,用统一的方式,对各系统之间不同结构、不同格式的数据进行共享和交换。

1 XML和Web Service介绍

1.1 XML介绍

XML[1]为eXtensible Markup Language的简称,即可扩展标记语言。它是用来自动描述信息的一种标准语言,并提供了一种独立的运行程序的方法来共享数据。XML与其它语言相比,在Web数据交换应用中具有以下优势:1)跨平台,可扩展性。XML允许组织、个人建立适合自己需要的标记集合,采用纯文本格式而非二进制格式表示数据,避免了不同平台对数据表示的不一致性。2)简单灵活,异构系统间自由互通信息[2]。XML描述的是数据的结构和语义,而不是格式,能有效地实现数据与格式的分离。由于不负责显示,XML在网络中扮演着不同显示平台、不同格式数据源之间进行数据交换的中介角色,获得了浏览器无关的特性。3)便于对XML数据加密[3],以保证数据交换的安全性。XML加密的方法可以嵌入到文档内部,并且把安全粒度细化到XML文档元素和属性级别,实现同一文档的不同部分的安全要求。

1.2 Web Service技术

Web Service是由应用程序完成的服务,通过Internet标准可以和其他Web Service集成,它是一个URL服务资源,客户端可以通过编程方式请求得到它返回的信息,而无需知道所请求的服务是怎样实现的。Web Service是在各种协议集下大家共同遵守,使商务应用能够在Internet网上进行交流并且同其他应用系统进行协同工作。其相关标准协议有:1)SOAP[4] (Simple Object Access Protocol)简单对象访问协议,它是一个基于XML的开放性协议,是Web Service的核心。其采用HTTP作为底层通讯协议,RPC作为一致性的调用途径,XML作为数据传送的格式,允许服务提供者和服务客户穿越防火墙在Internet进行交互通讯。2)UDDI[5] (Universal Description, Discovery and Integration)统一描述、发现和集成协议标准,为Web Service在技术层次上提供了三个重要支持:标准化的、透明的、专门描述Web Services的机制;调用Web Services的简单机制;可访IP的Web Service注册中心。3)WSDL[6] (Web Service Description Language,服务描述语言)是一种用来描述Web Service的语言。它是一种XML格式,定义了一种绑定机制,这种机制用于附加协议、数据格式、抽象消息或用于定义服务位置的端点组。在Web Service模型[7]的核心中,WSDL用作定义Web Service的元数据语言,描述服务提供方和请求方之间如何进行通信。

2 异构数据交换系统体系结构

利用XML和Web Service技术实现异构数据库之间的数据交换,需要约定数据交换的内容,各个异构数据库只需针对XML进行交换而无需考虑其他数据库的内容。利用WEB服务的方式,源系统通过Web服务提供需要交换的内容,目的系统则根据请求得到的数据进行处理。在实际交换过程中总是面向XML进行设计,增加了系统的灵活性。

2.1 数据交换系统总体架构设计

通过对现有的数据交换技术进行研究,并结合实际应用对数据交换的要求,针对不同异构应用系统之间的数据交换设计了下述数据交换系统体系结构,其具有会话层、数据处理层、数据持久层的三层结构。如图1所示。

每个系统在WEB环境下可以都是对等的节点,但是在进行数据交换时,分为服务器端和客户端两种,因此功能各有不同。

1)会话层

会话层作为系统与系统之间的交互窗口,实现数据的、交互、接收和发送功能。

① XML接收模块:负责接收XML数据,该模块实际上是一监听组件,监听并接收来自分节点传入的数据。服务器端负责监听客户端的请求XML(request)并作出响应,客户端负责接收服务器端的响应数据XML(data)并进行处理。

② XML发送模块:负责通过各种传输协议把XML数据发送到指定目的地。服务器端负责发送数据XML(data)到客户端,客户端负责生成的请求XML(request)并发送到服务器端。

③ web服务:传统的数据通信使用简单的HTTP协议,由服务器提供接口,用户需要详细了解服务器接口的使用细则,在服务器提供的接口变更以后,客户端需要重新定义。针对此问题系统之间的通信采用了Web服务的方式,由服务器端提供Web服务接口,这样整个系统间的数据通信使用Soap协议来进行交流,服务器端使用WSDL用来描述Web服务和说明如何与Web服务通信。

2)数据处理层

也可称为业务逻辑层,是整个系统体系结构的核心,实现用户的身份、权限认证,数据的解析、转换和处理。

① XML解析模块:负责将XML解析成数据。该模块主要完成如下功能:

XML解析DD首先分析该XML文档的语法和格式是否正确,这里需要用到XML的一个关键技术XML Schema[8],利用用户的XML Schema,可以严格的检查接收的XML数据,以确保在传输过程中没有数据丢失和错误;分析业务系统所用的schema是否和平台使用的Schema一致,如果不一致,则需要用到转换处理;然后处理XML文档中的数据,在服务器和客户端各有不同。服务器端XML解析,负责处理Soap请求中所包含的数据,即客户请求的内容,其中还包含了客户端的资料和信息。客户端的XML解析,负责处理服务器端发送的Soap文档中的return数据,即需要进行数据交换的源数据端数据。

身份验证[9]DD服务器端根据Soap请求中的信息验证用户身份,是否提供服务。

数据请求/处理DD通过XML解析到得数据连接数据库进行操作,主要包括了数据库的读取、存储等操作。

② XML封装模块:负责将数据封装成XML。该功能块主要完成如下功能:

数据/请求封装DD服务器端将从数据库中读取的数据封装成XML,通过Web服务发送给客户端。客户端封装的内容为Soap请求中的数据。

数据/请求生成DD数据生成是根据数据请求读取数据库中的内容;请求生成是客户端根据需求决定需要对哪些数据进行数据交换。

XML映射DD客户端根据映射表将数据映射成XML文件。

3)数据持久层

该层只有一个模块,即数据持久化模块,它直接同数据库或各应用接口相互交互。面向不同的异构数据库进行处理。其包括数据库的各种操作:选择,更新,插入,删除等。并处理异构数据库中的各种异构数据类型,如各种字符串的转换等。并且通过事务,保证写入数据的完整性和一致性,防止写入失败后数据不一致,在出错后进行回滚。

2.2 数据交换过程

针对上述两个不同异构应用系统间的数据交换系统架构设计,假设两个应用系统中,源系统是SQL Server数据库,目的系统是MySQL数据库,两个系统间数据通过XML进行交换,数据交换时的数据流程图如图2所示。

3 结束语

利用XML和Web Services技术为解决异构数据库应用系统间数据共享和交换的问题提供了一种有效方案,也为数据交换提供有力的支持,能避免“信急孤岛”繁多数据的重复录入、资源浪费、数据不一致性问题,实现各信息系统的信息共享,以充分利用现有资源,避免重复开发。

参考文献:

[1] 李雯,谢辅雯,邹道明.XML数据交换技术的应用与研究[J].计算机与现代化,2008(1):91.

[2] 胡能发,唐为萍.基于XML的通用异构数据交换模型[J].计算机工程和设计,2010,31(8):1744-1745.

[3] 叶枝平.基于XML的数据交换平台及其关键问题的分析与设计[D].广东工业大学硕士学位论文,2008:9-11.

[4] Simple Object Access Protocol (SOAP)[EB/OL]./TR/soap/.

[5] 顾宁,刘家茂.Web Services原理与研发实践[M].北京:机械工业出版社,2006:19-90.

[6] 王宣,李燕.应用Web Services构建多层架构的高效.Net应用[M].北京:科学出版社,2005:31-39.

[7] 纪兆辉,胡孔法.基于和XML实现数据交换[J].微计算机信息,2009(18):265-266.

[8] 周杭霞,夏荣钊,何利力.基于XML数据安全交换的方法[J].计算机应用研究,2006(4):126-128.

[9] 刘诗超.基于XML的信用系统异构数据交换技术的研究[J].网络与信息,2011(6):13.

上一篇:艺术专业机房软件安装与维护探讨 下一篇:基于神经网络的程控交换机故障诊断方法研究