kaiyun官方注册
您所在的位置: 首页> 其他> 业界动态> 基于Web Service的多数据库体系结构研究

基于Web Service的多数据库体系结构研究

2009-09-23
作者:刘 钊 卢正鼎

摘 要:基于Web Service的框架为多数据系统提出了一种新的分布式体系结构。该系统可扩展到Internet,并且具有松耦合、跨平台、语言无关、与特定服务无关等特点。

关键词:Web Service程序 多数据库 SOAP消息

  随着数据库技术和网络技术的发展,人们对数据资源共享的要求越来越高。在实际应用领域中,需要将分布在同一网络甚至不同网络中的异构数据库系统中的数据进行集成和共享。

  多数据库系统(MDBS)是多个已存的、自治的、异构的数据库系统的联合。参与构成多数据库系统的各数据库系统称为局部或成员数据库系统(LDBS)。局部数据库分布在网络的不同节点上。多数据库系统在所有局部数据库系统之上构成全局系统管理层,提供外部用户接口,使用户能实现对异种数据库的透明访问。多数据库系统屏蔽了不同数据库在物理上和逻辑上的差异,从而满足人们对数据资源共享的要求。

  目前,对于异构系统的集成和通信有多种理论和技术方案,比较主流的是微软的DCOM/COM和.NET、Sun的Java以及OMG的CORBA。但是,基于这些技术的架构在互联互通方面存在较大缺陷,需要构建专门的通信组件来实现它们之间的通信。

  Web Service是新一代的面向服务的分布式计算模型。基于此模型,本文提出了一种新的多数据库体系结构,并且在自行设计的多数据系统Panorama上进行了部分原型实现,论证了该种设计的可行性。

1 Web Service概述

  Web Service是一种新型的Web应用程序,是自适应、自我描述、模块化的应用程序。这些应用程序可以跨越Web进行发表、定位和调用。Web Service解决了不同平台之间、不同程序间的交互,相当于一个集成中间件平台。通常,Web Service基于几种通用标准:UDDI(Universal Discovery,Description,Integration)提供了一种让客户端动态发布和查找 Web Service的机制;WSDL(Web Service Description Language)描述Web Service的功能及接口,为发布和查找Web Service提供支持;SOAP(Simple Object Access Protocol)提供了一种在无中心分布式的环境中使用XML交换结构化数据的简单轻量级通信机制。

2 基于Web Service的多数据库系统参考模型WSD-RM

  WSD-RM基于Web Service进行构建,所以模型构建的重点是如何架构服务层次、如何定义具体的服务以及如何使定义的服务互操作能组成有效的服务链。

2.1 架构WSM-RM模型的服务模型

  图1从系统服务层次间通信的情况描述了基于Web Service的多数据库参考模型WSM-RM的体系结构。该体系结构主要由三个层次构成:服务提供者、服务请求者和服务代理。服务提供者作为服务的提供方,发布处于服务代理中的具体服务(如操作方式、网络资源等)的描述信息。服务请求者作为请求服务的客户端,向服务代理发出请求,查询所需服务的描述信息,得到返回的相关服务信息后,向服务提供者请求相应的服务。服务代理注册服务相关信息,为服务请求者提供服务相应的信息。

  服务提供者用WSDL描述WSM-RM体系中各项服务的相关操作特性及接口。每一项操作都可能具备四种操作状态:

  (1)单向状态:该种状态下服务只单项接收消息。

  (2)通知状态:这种状态下服务发送消息。

  (3)请求—回应状态:服务接收消息,并返回相应的结果。

  (4)恳求—回应状态:服务发送消息,接收相应的返回消息。

  多数据库系统服务池作为具体的服务集存在于WSM-RM中。它接收来自服务请求的服务请求并将这一请求推送至服务提供者。服务提供者对请求进行一定的检查(如权限检查等)后将这一请求转化为以WSDL描述的标准服务激起服务池中的相应服务链,最后把结果集返回给服务请求者。

  WSM-RM体系中各项服务的通信基于SOAP消息。由于SOAP基于XML的消息机制,并且使用诸如HTTP、SMTP这样的标准协议族,所以SOAP天生具有跨平台、语言无关等特性。但是SOAP也存在缺陷:XML的机制使得消息体冗长庞大;HTTP协议使得网络传输效率低下;SOAP目前只定义了诸如String、Int等简单数据类型,对复杂数据类型的支持还有待完善。

2.2 组织WSM-RM模型的服务

  从WSM-RM模型的服务模型中可以看出,其根本的功能是服务。如何定义基础的服务、尤其是如何使这些基础的服务合同协作,有机地组合成“复合”的服务(有效服务链)是该模型需要解决的问题。

  定义基础服务集实质上是一个需求分析的过程,它涉及到软件工程的问题,限于篇幅,本文恕不赘述。根据用户的需求和系统本身功能的需要,该模型定义了二类基础服务集:管理类服务集和事物类服务集。管理类服务集包括四项基础服务:模式信息管理服务、查询优化服务、全局查询管理服务、全局事务管理服务。事物类服务集包括四项服务:查询事务服务、更新事务服务、删除事务服务和创建事务服务。

  WSM-RM为了解决基础服务的互操作问题,定义了有效服务规则:通过比较服务的语义特点(服务的具体内容)和语法特点(服务操作状态)来决定是否可以把服务添加到有效服务链中以组成复合服务。下面重点介绍根据语义特点进行服务组合的方法。

Web服务潜在的语义对检察有效服务至关重要。目前,对Web服务进行描述的WSDL语言几乎不支持语义描述,但是有研究人员提出用实体的概念来描述Web服务的语义。本文将用此概念来描述Web服务的语义并进行扩展。

根据词在语义上的同义性对实体进行分类。服务操作可以定义为二类实体:范畴(Category)和类别(Type)。每一项服务操作包含二个成员实体,一个属于范畴实体,另一个属于类别实体。服务提供者确定服务操作和这二个实体的关系并且对每一项服务操作进行初始化。

  范畴的成员实体包含三个属性:名字(Name)、同义词(Synonyms)和细述(Specification)。名字属性给出当前操作的主题域名,例如数据、模式等。同义词属性给出当前操作影响域的同义替换域名,例如数字、数值等可以作为数据的同义词。细述属性定义当前范畴实体的特征集,例如数据库、模式、表等可以作为数据实体的细述。

  类型的成员实体同样包含名字、同义词和细述三个属性。名字属性描述当前服务操作提供的具体服务,例如查询、更新等;其他二个属性和范畴实体的成员属性相同。

  对Web服务进行语义描述后,服务之间的互操作问题转化为服务操作的范畴和类型是否兼容、是否存在包含关系的问题。下面定义服务之间的兼容性。

  假设有二种服务操作opi和opj,若满足以下条件,则称Category(opi)与Category(opj)兼容:

  第一个条件检验opi和opj的主题域是否相同或相似。第二个条件检验opi是否提供opj范畴实体的所有特征集。同理也可以定义Type(opi)与Type(opj)的兼容规则。基于此,这里定义服务的语义组合规则:如果服务操作满足相应的范畴兼容和类型兼容,则认为相应的服务在语义上是可以组合的。

2.3 WSM-RM模型的体系结构

  图2为WSM-RM模型的体系结构图。WSM-RM模型可以分为五个层次:局部数据源层、局部代理层、基础服务层、复合服务层和全局管理层。

  全局管理层中包括几个组件:请求处理器、服务组织管理器、服务定位器、服务匹配器和服务优化器。请求处理器接收来自用户的请求并进行处理;服务组织管理器根据经处理的请求和收集到的关于服务的信息定制服务计划并将计划推送到服务匹配器;服务匹配器根据“有效服务”规则检查服务计划是否有效可行,然后将检查通过的服务计划送至服务优化器,对服务计划进行优化后返回至服务匹配器;服务定位器接收来自服务匹配器的服务计划,通过查询位于服务代理中的WSDL描述定位所需的服务,将结果服务计划集返回给请求处理器;请求处理器根据服务计划调用相应的复合服务或基础服务。

  复合服务层定义了多个复合服务。复合服务实质上是满足有效服务规则的若干服务计划。为了提高服务效率,使请求处理器不需每次按照服务计划在基础服务层提取相应的服务,复合服务层事先根据用户需求定义好若干服务计划供请求处理器调用,同时根据一定逻辑规则将新的服务计划加入其中。由于复合服务层相当于一个服务缓冲区,容量有限,因此需要对服务定义优先级,以决定其是否应该留在复合服务层中。优先级的级别可以用通常的FIFO(First In First Out)原则或者LRU(Last Recently Used)原则排队。

  基础服务层定义了满足用户需求的所有基础服务。基础服务包含事物类服务和管理类服务。

局部数据源层定义了若干局部数据库,后者是已存的、自治的、异构的数据库系统,有各自的模式信息和数据结构。在局部代理层根据局部数据源的数量定义了相应数量的局部代理。后者一方面提取局部数据源的数据信息、模式信息等为上层服务,另一方面也接受来自上层的数据请求信息并转发至下层。局部代理提取的各项关于局部数据源的信息经过包装器作用后成为统一可用的数据,为各项基础服务提供数据来源。

2.4 WSM-RM模型的特点

  WSM-RM模型充分利用了Web Service规范面向服务的特点,将局部数据库通过局部代理和包装器封装成若干Web Service服务,对外提供基本的数据操纵、事务处理等服务。任何数据库系统只要设计出相应的局部代理和包装器,并且进行适当的数据集成,提供相应的模式信息,就可以加入到基于WSM-RM的多数据库系统。该系统甚至可以集成文件系统、Web网页等。在这里局部代理和包装器起了至关重要的作用:屏蔽了具体数据源的差异,对上层呈现统一的接口。不同的局部数据库配备不同的局部代理,在处理局部查询时并行执行,提高了系统的效率。另外,还可以根据需要通过增添或者卸载某些Web服务来加入、替换或升级所需的功能,使系统具有良好的伸缩性。由于Web Service协议栈的最底层是网络层,该层可表示任意多个网络协议,如HTTP、FTP、SMTP、消息队列(Message Queuing)、因特网ORB间协议(Internet Inter ORB Protocol,IIOP)上的远程方法调用(Remote Method Invocation,RMI)等。因此可以根据不同的需求来选择网络技术,包括安全性、可用性以及可靠性,从而使Web Service具有良好的可扩展性。

  由于WSM-RM模型基于Web Service规范,因此Web Service尤其是SOAP实现的性能直接影响系统的性能。

3 结束语

  如何将Web Service技术和多数据库相结合,研究和开发出具有松耦合、跨平台、语言无关、与特定服务无关并且可扩展到Internet的多数据库系统已成为目前Internet和数据库技术研究领域交叉的一个新的发展方向。本文提出的基于Web Service框架的多数据系统体系结构,克服了传统多数据库体系结构的不足,充分利用了基于面向服务的Web Service分布式计算模型的优势,具有良好的扩展性、伸缩性、易维护性等特点。

  在研究中发现,作为Web Service底层通信协议的SOAP,尽管与它的前辈DCOM和CORBA等比较起来有良好的伸缩性、互操作性等优势,但是这些优势在某种程度上是以效率相对低下来换取的,这对于科学计算和海量数据操作等应用来说是致命问题。未来的工作将集中在SOAP协议的研究上,探索其作为通信协议效率低下的原因以及对SOAP的改进技术。

参考文献

1 uddi.org.UDDI Technical White Paper,2000.http://www.uddi.org

2 Christensen E.Web Services Description Language(WSDL) 1.0.IBM/Microsoft Joint Working Document. http://www4.ibm.com/software/developer/library/wwsdl.html?dwzone=web/,2000

3 Mitra.N.Simple Object Access Protocol(SOAP) 1.2.W3C working draft,2002;6

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map