李璐
摘要:隨著Internet的發(fā)展,Web服務(wù)得到廣泛應(yīng)用,如何選擇滿足用戶非功能性需求的Web服務(wù)是其中的一個重要問題。基于此,提出一種基于WSDL的Web服務(wù)QoS管理框架,引入多維QoS對Web服務(wù)的QoS需求進(jìn)行全面分析,定義Web服務(wù)的多維QoS屬性,并在此基礎(chǔ)上基于WSDL實(shí)現(xiàn)了Web服務(wù)的QoS管理框架。
關(guān)鍵詞: Web服務(wù);服務(wù)質(zhì)量;多維QoS;WSDL
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)22-5189-03
1 概述
隨著Internet的發(fā)展,Web服務(wù)得到廣泛應(yīng)用,為網(wǎng)絡(luò)環(huán)境下在軟件間建立一種靈活多樣的協(xié)作關(guān)系創(chuàng)造了很好的條件。基于Simple Object Access Protocol(SOAP), Universal Description, Discovery and Integration (UDDI)和 Web Service Description Language (WSDL) 等一系列技術(shù)標(biāo)準(zhǔn)[1],用戶可以有效地查找、使用和發(fā)布Web 服務(wù),通過對Web服務(wù)進(jìn)行動態(tài)選擇和組裝,可以構(gòu)建出十分靈活的系統(tǒng)流程。
隨著Web服務(wù)的急劇增加,如何在眾多服務(wù)中選取符合用戶需求的服務(wù)成為Web服務(wù)領(lǐng)域的一個研究重點(diǎn),作為Web服務(wù)管理中的一個重要考慮因素,服務(wù)質(zhì)量(QoS)倍受關(guān)注[2]。用戶的需求可以分為功能性需求和非功能性需求,功能性需求用于描述系統(tǒng)所應(yīng)提供的功能,非功能性需求則用于描述系統(tǒng)提供的服務(wù)或功能所受到的約束。服務(wù)質(zhì)量作為用戶的非功能性需求,描述了Web服務(wù)某些方面的質(zhì)量信息,對于組合Web服務(wù)和成功構(gòu)建符合用戶需求的Web應(yīng)用具有重要意義[3],因而基于服務(wù)質(zhì)量的web服務(wù)管理越來越受到研究者的重視。
本文首先對Web服務(wù)和QoS的相關(guān)概念進(jìn)行了介紹,針對目前的Web服務(wù)管理往往只考慮功能性需求這一現(xiàn)狀,引入多維QoS定義Web 服務(wù)的QoS屬性,并在此基礎(chǔ)上基于WSDL實(shí)現(xiàn)了Web服務(wù)的多維QoS管理框架。
2 Web服務(wù)和QoS
2.1 Web服務(wù)
Web服務(wù)是一種面向服務(wù)的架構(gòu)技術(shù),基于SOAP,WSDL 和UDDI 等一組技術(shù)標(biāo)準(zhǔn),通過標(biāo)準(zhǔn)的Web協(xié)議提供服務(wù),目的是保證不同平臺的應(yīng)用服務(wù)可以互操作。Web服務(wù)的基本架構(gòu)包括參與者和基本操作。參與者分別是服務(wù)提供者、服務(wù)請求者和服務(wù)代理,基本操作分別為發(fā)布、綁定、查找[2]。隨著研究的不斷深入,越來越多的研究者認(rèn)識到Web服務(wù)管理不僅要考慮Web服務(wù)是否滿足用戶的功能性需求,同時,用戶的非功能性需求,即服務(wù)質(zhì)量,也應(yīng)被考慮在內(nèi)。作為Web服務(wù)管理中的重要考慮因素,服務(wù)質(zhì)量的研究倍受關(guān)注。
WSDL是Web Service的描述語言,是一種接口定義語言,用于描述Web Service的接口信息,是一種使用 XML 編寫的文檔。這種文檔可描述某個 Web service,它可規(guī)定服務(wù)的位置,以及此服務(wù)提供的操作(或方法)。
2.2 QoS
QoS的定義最初由CCITT在計(jì)算機(jī)網(wǎng)絡(luò)中給出:QoS是一個綜合指標(biāo),用于衡量使用一個服務(wù)的滿意程度,描述關(guān)于一個服務(wù)的某些性能特點(diǎn)。在不同領(lǐng)域,QoS的定義有所不同,在Web服務(wù)中的QoS屬性定義為:一系列影響到一個Web服務(wù)提供的質(zhì)量的非功能屬性[4]。QoS的屬性分為兩類:一類是服務(wù)層QoS屬性,也叫內(nèi)部QoS屬性,由服務(wù)提供者的操作機(jī)制決定,例如優(yōu)先級機(jī)制;另一類是網(wǎng)絡(luò)層QoS屬性,也叫外部QoS屬性,不受服務(wù)提供者的操作機(jī)制影響[5]。該文研究的QoS屬性主要涉及服務(wù)層QoS屬性。
3 Web服務(wù)的多維QoS屬性
3.1 多維QoS
Web服務(wù)的QoS屬性可以理解為一組可量化的參數(shù)集合,用來衡量服務(wù)請求者對所提供服務(wù)的滿意程度。由于用戶的QoS需求往往各不相同,單一的QoS參數(shù)難以系統(tǒng)描述用戶的QoS需求,為了更加準(zhǔn)確的描述Web服務(wù)的QoS屬性,引入多維QoS的概念。
隨著Web服務(wù)迅速發(fā)展,QoS參數(shù)的種類變得越來越豐富,涉及層面越來越多,為了更加深入地對QoS進(jìn)行研究,Carnegie Mellon大學(xué)提出了多維QoS的概念。
維的概念來自幾何學(xué),在幾何學(xué)中,維是空間中點(diǎn)的坐標(biāo),是構(gòu)成空間的基本元素。根據(jù)n維QoS的概念,一個應(yīng)用的QoS可以看作一個n維空間,每類QoS參數(shù)是構(gòu)成這個空間的一維。這樣,不同維QoS參數(shù)之間的關(guān)系可以通過各維間的限制條件來表示,有利于研究復(fù)雜的QoS結(jié)構(gòu)。
3.2 Web服務(wù)的多維QoS屬性
Web服務(wù)的QoS涉及Web服務(wù)的各個方面,其QoS屬性較為復(fù)雜,為了更好地描述Web服務(wù)的QoS屬性,將Web服務(wù)的QoS看作由時間維、空間維、可靠維、效益維構(gòu)成的一個四維QoS空間,如表1所示。
4 基于WSDL的Web服務(wù)QoS管理框架
在對Web服務(wù)的多維QoS屬性進(jìn)行定義的基礎(chǔ)上,該文基于WSDL實(shí)現(xiàn)了一個Web服務(wù)QoS管理框架,引入多維QoS對Web服務(wù)的QoS進(jìn)行管理。根據(jù)WSDL的結(jié)構(gòu)特點(diǎn),每維QoS用一個WSDL端口來表示,一個WSDL端口包含若干個request-response類型的方法,用于判斷QoS屬性是否符合要求,并將判斷結(jié)果返回,QoS屬性和判斷結(jié)果用WSDL消息表示。其中,根據(jù)QoS屬性的類型,可將其分為數(shù)值型和文字型兩類,數(shù)值型QoS屬性的值是一個數(shù)值范圍,文字型QoS屬性的值是一段描述文字。通過在一個Web服務(wù)中綁定多個WSDL端口,Web服務(wù)的QoS可以通過基于WSDL的多維QoS管理框架來管理,從而在滿足功能性需求的同時保障Web服務(wù)的非功能性需求。下面以時間維QoS和效益維QoS為例給出其WSDL描述片段。
對于時間維QoS,其WSDL描述片段為:
5 結(jié)論
本文首先對Web服務(wù)、WSDL和QoS的基本概念進(jìn)行了介紹,然后針對目前的Web服務(wù)管理往往只關(guān)注功能性需求而忽略非功能需求這一問題,提出了一種基于WSDL的Web服務(wù)QoS管理框架。該框架通過引入多維QoS對Web服務(wù)的非功能性需求進(jìn)行詳細(xì)分析,定義了Web服務(wù)的多維QoS屬性,并基于WSDL這一Web服務(wù)的通用描述語言實(shí)現(xiàn)了Web服務(wù)QoS管理框架,從而在滿足Web服務(wù)功能性需求的同時對Web服務(wù)的非功能性需求提供保障。
參考文獻(xiàn):
[1] 李研,周明輝,李瑞超,等. 一種考慮QoS數(shù)據(jù)可信性的服務(wù)選擇方法[J].軟件學(xué)報(bào),2008,19(10):2620-2627.
[2] 岳昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào), 2004,15(03): 428-442.
[3] 肖芳雄,黃志球,曹子寧,等. Web 服務(wù)組合功能與QoS 的形式化統(tǒng)一建模和分析[J],軟件學(xué)報(bào), 2011,22(11):2698-2715.
[4] Ran Shu-Ping. A model for Web service discovery with QoS[J]. ACM SIGeeom Exchanges,2003,4(1):1-10.
[5] Tian M, Gramm A, Naumowicz T, et al. A concept for QoS integration in services[C]. Proceedings of the 4th International Conference on Web Information Systems Engineering Workshops, Rome,Italy,2003:140-148.