论文导读:为了充分利用各信息系统已有的数据资源,常需要实现不同信息系统间数据的互访,然而系统实现技术以及实现时间上的差异,造成了在不同的信息系统中存有大量异构数据源。WebServices提供了连接所有软件的标准,而传统的EAI只能局限于连接特定的应用程序。5基于WebService的异构数据源集成系统基于WebServices的数据集成系统是在WebServices的框架下,使用一组WebServices协议,实现分布的异构数据集成,共享丰富的网络数据资源。
关键词:数据集成,WebService,异构数据源
0 引言为了充分利用各信息系统已有的数据资源,常需要实现不同信息系统间数据的互访,然而系统实现技术以及实现时间上的差异,造成了在不同的信息系统中存有大量异构数据源。为此,解决异构数据源方便、灵活的互访问题成为一个很有意义的研究课题。异构数据源集成技术就是为了解决网络条件下的“信息孤岛”问题。Web Service作为一种新生的技术,基于Web Service的集成技术作为一种新的面向函数和方法的集成应用技术,在很大程度上解决了这些问题。因此,基于Web Service的集成方案已经成为目前研究的热点。
1企业应用集成技术的研究现状企业应用集成的核心是使用中间件连接企业应用,面向对象的分布式对象计算中间件技术的发展,为企业应用集成的实现提供了有力的支持。目前主流的面向对象的分布式计算技术有:OMG的CORBA、Microsoft的COM/DCOM、Sun的EJB。
(1)CORBA
公共对象请求代理体系结构CORBA是由对象管理组织制订的一种标准的面向对象应用程序体系规范。CORBA是OSI体系结构中的应用界面层,它抽象了通信层次,提供了系统独立性和应用程序的互通性。CORBA技术虽然由对象管理组织(OMG) 提出用于解决异构系统的集成问题,但是客观的说,不同的系统也是要求部署同一CORBA厂商的ORB(对象请求代理) 产品。
(2)COM/DCOM
分布式对象组件模型DCOM是由COM发展而来,定义了对象实现的二进制标准,采用注册表的对象组织机制,用于单机上应用之间的通信。DCOM相当成功地实现了在Windows平台上的分布式计算,与操作系统紧密结合,通过系统服务为应用程序提供全面的服务。缺点是DCOM技术的部署主要依赖于微软平台。
(3)EJB
EJB是J2EE平台基于构件的集中式服务器多级应用体系的基础,为开发和部署可重用的Java服务器构件定义了一个模型,为Java应用服务器定义了一个标准编程接口。EJB技术定义了一组可重用的、基于分布式事务处理的EJB组件,可以利用这所有EJB实例都运行在EJB容器中,容器提供了系统级的服务,控制EJB的生命周期。EJB的缺点是要求实现双方必须支持Java语言与JVM,否则不能正常通信。
2异构数据源集成体系结构的研究现状目前最常见的异构数据源集成体系结构有以下三种:联邦数据库、Mediation和数据仓库。这三种体系结构可分成两类:一类是虚拟视图方法,另一类就是物化的方法。Web Service作为近年来流行的技术,成为解决企业应用集成(Enterprise Application Integration, EAI)的首选方案。
(1) 虚拟视图法(virtual view)
虚拟视图法通过构造一个或多个中间模式来实现数据的集成。用户的查询基于中间模式,不必知道各个数据源的特点,而数据仍保存在局部数据源。虚拟视图法适用于数据源数目多,局部数据源自治性很高,集成系统对数据源没有控制且数据更新频繁的Internet环境中[1]。
(2) 物化方法(materialized)
物化方法需要建立一个存储数据的仓库,由ETL(extract, transform, and load)工具定期从数据源过滤数据,然后装载到数据仓库,供用户查询。所有的查询都针对数据仓库中的数据。因此,数据仓库必须随数据的变化而随时更新。其最大优点是能保证查询性能的快速高效,缺点是数据缺乏时效性、所有的数据都需要冗余,且实现数据同步非常困难[2]。
(3) Web Service技术
Web Service作为一种新兴的分布式计算技术,通过扩展了有限的可互操作性而改进了分布式计算的能力,目前已经成为构建和集成应用系统的一种主流模式。相对传统的EAI解决方案,基于Web Service 的EAI解决方案具有更好的跨平台性、可扩展性和松散耦合性等,因此成为了目前研究的主要方向[3]。
3 Web Service技术和Web Service集成技术的优势Web Service是描述一些操作的接口。论文参考网。Web Service是用标准的、规范的XML概念描述的,称为Web Service的服务描述。这一描述囊括了与服务交互需要的全部细节,包括消息格式、传输协议和位置。该接口隐藏了实现服务的细节,允许服务的调用独立于实现服务所基于的软硬件平台和编写服务所用的编程语言。这使得基于Web Service的应用程序成为松散耦合、面向组件和跨技术实现的。Web Service履行一项特定的任务或一组任务。Web Service可以单独或同其他Web Service一起用于实现复杂的集成或商业交易。
Web Service主要用到的技术有:
XML:定义了一种表示数据和集中数据的通用的简单方法[4]。
SOAP:使用XML作为消息去定义一个通用的Web Service请求,使应用程序简单地继承起来[5]。论文参考网。
WSDL:指定了集成必需的全部消息,使这种通用的应用集成工具成为可能。
UDDI:是允许用户和应用去查找所需Web Service的一种特殊的Web服务[6]。
Web Service集成技术的优势有以下几点:
(1)Web服务彻底改变了传统的EAI中点对点的集成处理方式,为EAI提供了一种新型、标准的集成策略。Web服务是一种正在快速发展的技术,它的不断改进和完善必将带来企业应用集成领域格局上的变化。可以说,Web Services为EAI提供了更多的空间和更好的发展前景。论文参考网。
(2)Web Services是由一系列标准所组成的,所以Web Services集成各种应用的方法是标准化的,具有较好的通用性和兼容性。WebServices提供了连接所有软件的标准,而传统的EAI只能局限于连接特定的应用程序。
(3)Web Services的开发和维护没有大多数EAI系统那么复杂,面向组件和XML等技术的采用,使其具有更好的跨平台性,能够跨越防火墙,更好的满足分布式集成的要求。
(4)Web Services是一种松散耦合的集成模式,具有更大的灵活性。由于其与Web技术的结合,使得Web Services对Web应用具有很好的协调性,因此,Web Services能够更好的满足企业以客户为中心的协同工作。
4 WebService的体系架构及运行机制网络层处于Web服务协议栈的最底层。Web Service要被服务请求者调用,就必须是可以通过网络访问的。因此,Internet上可以公用的Web Service使用普遍部署的网络协议。SOAP是一种简单的、轻量级的基于XML的机制,用于在网络应用程序之间进行结构化数据交换。WSDL定义了服务交互的接口和结构,是基于XML的服务描述的标准。WSDL使用XML Schema来描述Web Service的结构。UDDI注册和发布Web Services。UDDI使用XML计划定义注册表的结构,使用SOAP与注册表的通信。

图1 Web Service体系架构
Web Service的运行机制基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作一起作用于Web Service构件、Web Service软件模块及其描述。下图表示了这些操作、提供这些操作的组件及它们之间的交互。
 
图 2 Web Service的运行机制
5 基于Web Service的异构数据源集成系统基于Web Services 的数据集成系统是在Web Services 的框架下,使用一组Web Services协议,实现分布的异构数据集成,共享丰富的网络数据资源。这种方法具有完好封装性、松散耦合性、规范协议、高度可集成能力等特性。具体方案的实现框架如下图所示。
 
图3 集成系统的体系结构
本系统是基于Web服务组合的信息集成系统,主要包括客户端、中介器和服务端。其中中介器是系统实现的核心部分,客户端的执行依赖于中介器提供的服务流的实现,服务端则为中介器提供系统所需的Web服务。
客户端:主要提供用户的查询功能。根据用户输入的查询条件,执行服务流定义的开始服务,然后根据服务流定义的服务顺序开始执行。
中介器:主要由服务注册模块,服务查找与组合模块和服务流的定义和执行模块组成。它可以为系统提供服务注册功能、服务查询功能、服务流定义功能和服务流执行功能。
服务端:主要使用EJB容器服务将系统各种逻辑功能的实现代码部署到服务器上形成Web服务,然后提供给中介器使用。
6结束语本文在分析和比较了各种异构数据源的集成方案和体系结构之后,重点对WebService的体系结构、运行机制及其核心技术等进行了研究。在深入研究了Web Service技术的基础上,总结了一个具有通用意义的、基于Web Services的异构数据源集成体系结构。
参考文献:
[1] R.Hull,G.Zhou.A framework for supporting data integration using the materialized and virtualapproaches. In Proc. Of ACM SIGMOD Conf.on Manopment of Data, Montreal,Canada,1996: 481-492.
[2] R.Hull. Managing semantic heterogeneity in database: Atheoretical perspective. In Proc. of the ACM SIGACT-SIGMOD-SIGARTSymposium on Principles of Database Systems (PODS). Tucton, Arizona, 1997:51-61
[3] 柴晓路,梁宇奇.Web Service技术、架构和应用[M].北京:电子工业出版社,2003.
[4] 张光磊;基于XML的异构数据集成研究与应用[D];东北林业大学;2007年
[5] 期刊论文基于RPC风格与Message风格SOAP消息的Web服务性能比较;计算机应用与软件2007,24(1)
[6] 童熙,WebService语义标注方法的研究,硕士学位论文,同济大学,上海,2006年
|