一种基于WSDL的Web服务QoS管理策略研究
1 概述
随着Internet的发展,Web服务得到广泛应用,为网络环境下在软件间建立一种灵活多样的协作关系创造了很好的条件。基于Simple Object Access Protocol(SOAP), Universal Description, Discovery and Integration (UDDI)和 Web Service Description Language (WSDL) 等一系列技术标准[1],用户可以有效地查找、使用和发布Web 服务,通过对Web服务进行动态选择和组装,可以构建出十分灵活的系统流程。
随着Web服务的急剧增加,如何在众多服务中选取符合用户需求的服务成为Web服务领域的一个研究重点,作为Web服务管理中的一个重要考虑因素,服务质量(QoS)倍受关注,因而基于服务质量的web服务管理越来越受到研究者的重视。
本文首先对Web服务和QoS的相关概念进行了介绍,针对目前的Web服务管理往往只考虑功能性需求这一现状,引入多维QoS定义Web 服务的QoS属性,并在此基础上基于WSDL实现了Web服务的多维QoS管理框架。
2 Web服务和QoS
2.1 Web服务
Web服务是一种面向服务的架构技术,基于SOAP,WSDL 和UDDI 等一组技术标准,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。Web服务的基本架构包括参与者和基本操作。参与者分别是服务提供者、服务请求者和服务代理,基本操作分别为发布、绑定、查找[2]。随着研究的不断深入,越来越多的研究者认识到Web服务管理不仅要考虑Web服务是否满足用户的功能性需求,同时,用户的非功能性需求,即服务质量,也应被考虑在内。作为Web服务管理中的重要考虑因素,服务质量的研究倍受关注。
WSDL是Web Service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息,是一种使用 XML 编写的文档。这种文档可描述某个 Web service,它可规定服务的位置,以及此服务提供的操作(或方法)。
2.2 QoS
QoS的定义最初由CCITT在计算机网络中给出:QoS是一个综合指标,用于衡量使用一个服务的满意程度,描述关于一个服务的某些性能特点。在不同领域,QoS的定义有所不同,在Web服务中的QoS属性定义为:一系列影响到一个Web服务提供的质量的非功能属性[4]。QoS的属性分为两类:一类是服务层QoS属性,也叫内部QoS属性,由服务提供者的操作机制决定,例如优先级机制;另一类是网络层QoS属性,也叫外部QoS属性,不受服务提供者的操作机制影响[5]。该文研究的QoS属性主要涉及服务层QoS属性。
3 Web服务的多维QoS属性
3.1 多维QoS
Web服务的QoS属性可以理解为一组可量化的参数集合,用来衡量服务请求者对所提供服务的满意程度。由于用户的QoS需求往往各不相同,单一的QoS参数难以系统描述用户的QoS需求,为了更加准确的描述Web服务的QoS属性,引入多维QoS的概念。
随着Web服务迅速发展,QoS参数的种类变得越来越丰富,涉及层面越来越多,为了更加深入地对QoS进行研究,Carnegie Mellon大学提出了多维QoS的概念。
维的概念来自几何学,在几何学中,维是空间中点的坐标,是构成空间的基本元素。根据n维QoS的概念,一个应用的QoS可以看作一个n维空间,每类QoS参数是构成这个空间的一维。这样,不同维QoS参数之间的关系可以通过各维间的限制条件来表示,有利于研究复杂的QoS结构。
3.2 Web服务的多维QoS属性
Web服务的QoS涉及Web服务的各个方面,其QoS属性较为复杂,为了更好地描述Web服务的QoS属性,将Web服务的QoS看作由时间维、空间维、可靠维、效益维构成的一个四维QoS空间,如表1所示。
4 基于WSDL的Web服务QoS管理框架
在对Web服务的多维QoS属性进行定义的基础上,该文基于WSDL实现了一个Web服务QoS管理框架,引入多维QoS对Web服务的QoS进行管理。根据WSDL的结构特点,每维QoS用一个WSDL端口来表示,一个WSDL端口包含若干个request-response类型的方法,用于判断QoS属性是否符合要求,并将判断结果返回,QoS属性和判断结果用WSDL消息表示。其中,根据QoS属性的类型,可将其分为数值型和文字型两类,数值型QoS属性的值是一个数值范围,文字型QoS属性的值是一段描述文字。通过在一个Web服务中绑定多个WSDL端口,Web服务的QoS可以通过基于WSDL的多维QoS管理框架来管理,从而在满足功能性需求的同时保障Web服务的非功能性需求。下面以时间维QoS和效益维QoS为例给出其WSDL描述片段。
对于时间维QoS,其WSDL描述片段为:
5 结论
本文首先对Web服务、WSDL和QoS的基本概念进行了介绍,然后针对目前的Web服务管理往往只关注功能性需求而忽略非功能需求这一问题,提出了一种基于WSDL的Web服务QoS管理框架。该框架通过引入多维QoS对Web服务的非功能性需求进行详细分析,定义了Web服务的多维QoS属性,并基于WSDL这一Web服务的通用描述语言实现了Web服务QoS管理框架,从而在满足Web服务功能性需求的同时对Web服务的非功能性需求提供保障。
参考文献:
[1] 李研,周明辉,李瑞超,等. 一种考虑QoS数据可信性的服务选择方法[J].软件学报,2008,19(10):2620-2627.
.软件学报, 2004,15(03): 428-442.
,软件学报, 2011,22(11):2698-2715.
. ACM SIGeeom Exchanges,2003,4(1):1-10.
. Proceedings of the 4th International Conference on Web Information Systems Engineering Workshops, Rome,Italy,2003:140-148.