孫蒙++戴淑晴++孫陽(yáng)++潘穎
摘 要:簡(jiǎn)述web服務(wù)的關(guān)鍵技術(shù)以及其發(fā)展的過(guò)程,并對(duì)一些關(guān)鍵技術(shù)進(jìn)行闡述,web服務(wù)是有自己獨(dú)特的體系,擁有自己的一套架構(gòu),并且在這套架構(gòu)上,web服務(wù)擁有自己的核心技術(shù),當(dāng)單個(gè)的web服務(wù)難以滿足需求的時(shí)候,這時(shí)候web服務(wù)組合就出現(xiàn)了,它能夠很好的解決單個(gè)web所不能解決的問(wèn)題,這個(gè)很好的滿足了現(xiàn)代社會(huì)的需求,最后提出web服務(wù)技術(shù)的未來(lái),其中重點(diǎn)是說(shuō)明web服務(wù)的核心技術(shù)。隨著網(wǎng)絡(luò)的興起,web服務(wù)技術(shù)被廣泛應(yīng)用于大數(shù)據(jù)的海洋抓取,比如代購(gòu)網(wǎng)站中,就需要用到數(shù)據(jù)的海洋抓取和存儲(chǔ)。
關(guān)鍵詞:web 服務(wù);web服務(wù)體系;web服務(wù)組合;大數(shù)據(jù)抓取及存儲(chǔ)
web服務(wù)(web service)技術(shù),即是的運(yùn)行在不同機(jī)器上的數(shù)據(jù)交換或者集成,不需要借助第三平臺(tái)或者手段,而進(jìn)行通信的一種技術(shù)。無(wú)論其是用什么語(yǔ)言實(shí)現(xiàn)的,都能夠自由的進(jìn)行數(shù)據(jù)的交換和處理。[1]本文主要是對(duì)web服務(wù)技術(shù)進(jìn)行一個(gè)全局性的介紹,并且對(duì)一些關(guān)鍵技術(shù)進(jìn)行深入的解析。使得讀者能夠深入的、以及全面的了解web服務(wù)技術(shù)。
1 web服務(wù)的簡(jiǎn)介
1.1 web服務(wù)的發(fā)展過(guò)程
Web服務(wù)的發(fā)展經(jīng)歷了十分漫長(zhǎng)的過(guò)程,大概可以分為四個(gè)階段:TCP/IP階段,在網(wǎng)絡(luò)設(shè)備以及各種通信協(xié)議中的到應(yīng)用;在HTML(超文本標(biāo)記語(yǔ)言)中通過(guò)其強(qiáng)大的B/S的特性,可以使用HTML標(biāo)簽顯示數(shù)據(jù);因?yàn)镴AVA本身就是跨平臺(tái)運(yùn)行的,所以很多的web服務(wù)技術(shù)是通過(guò)JAVA來(lái)進(jìn)行編寫的;XML(可擴(kuò)展標(biāo)記語(yǔ)言),通過(guò)通用數(shù)據(jù)的表達(dá),使得結(jié)構(gòu)化數(shù)據(jù)在web上傳送變得更加容易。
1.2 web服務(wù)的基本定義
web服務(wù)是一種模塊化、松散耦合的、可重復(fù)使用的、自治的一種服務(wù)。當(dāng)今web服務(wù)的研究方向分為兩個(gè)方向:學(xué)術(shù)研究和商業(yè)運(yùn)行,學(xué)術(shù)研究指的就是各個(gè)研究所以及科研機(jī)構(gòu)的研究,對(duì)web服務(wù)進(jìn)行創(chuàng)新和前衛(wèi)的研究。而所謂的商業(yè)運(yùn)行指的就是把web服務(wù)用于盈利。[2]比如阿里巴巴的阿里云,百度的百度云等現(xiàn)在流行的云技術(shù)都是web服務(wù)技術(shù)。
Web服務(wù)主要是通過(guò)URI來(lái)對(duì)軟件程序進(jìn)行識(shí)別,使其他程序在Internet上通過(guò)對(duì)外借口對(duì)其進(jìn)行訪問(wèn)。通過(guò)借口,我們可以找到入口的物理位置,以及此時(shí)的狀態(tài),此外通過(guò)端口可以交換信息。例如,在人工智能中搜索中國(guó)和美國(guó)匯率的換算問(wèn)題時(shí)候。
1.3 web服務(wù)的網(wǎng)絡(luò)體系
在商業(yè)運(yùn)行的web服務(wù)中主要要有以下技術(shù)的支撐:通用描述發(fā)現(xiàn)集成(Universal Description,Discovery and Integration,UDDI),簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol,SOAP),web服務(wù)標(biāo)記語(yǔ)言(Web Service Description Language,WSDL),web服務(wù)流語(yǔ)言(Web Service Flow Language,WSFL)。通過(guò)這些技術(shù)的支持才能夠使得商業(yè)運(yùn)行的web服務(wù)快速的發(fā)展,并且取得了一些令人驕傲的成就,但是其還是存在一些缺點(diǎn),比如通信之間的語(yǔ)義的表達(dá)的不準(zhǔn)確,這是由于web服務(wù)還處于發(fā)展的階段,各種語(yǔ)義以及格式的規(guī)范還沒(méi)有完全成型,這是發(fā)展過(guò)程中所必須經(jīng)歷的一部分,相信經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展會(huì)使得的這些不便能夠得到改善[3]。如表1所示,各個(gè)層次之間的關(guān)系,越高的層次越是依賴于下面的層次,當(dāng)下面的得以實(shí)現(xiàn)的時(shí)候,上面的通信才能夠正常的運(yùn)行。最下面的一層即通信層和傳輸層,其中包括網(wǎng)絡(luò)中使用很多的協(xié)議,如http,ftp。上面的5層就是web服務(wù)中所要用到的協(xié)議,各層會(huì)在下面進(jìn)行詳細(xì)了介紹。其中這些要求都代表了每一層次的最高要求,即各層都必須滿足的服務(wù)管理、服務(wù)質(zhì)量和服務(wù)安全,在系統(tǒng)的半自動(dòng)遷移里面這些體現(xiàn)的特別明顯[4]。
SOAP簡(jiǎn)單訪問(wèn)對(duì)象協(xié)議,主要是進(jìn)行數(shù)據(jù)交換服務(wù)的,這其中主要是通過(guò)XML服務(wù)來(lái)進(jìn)行的,通過(guò)SOAP這樣的協(xié)議的框架,Internet上的服務(wù)以及資源都能夠串聯(lián)起來(lái)以達(dá)到共享的目的。WSDL即web服務(wù)標(biāo)記語(yǔ)言,是用來(lái)對(duì)SOAP服務(wù)進(jìn)行解釋和說(shuō)明的,相當(dāng)于程序的一個(gè)軟件文檔。WSDL對(duì)于web服務(wù)來(lái)講是十分重要的。其中一般會(huì)描述常用的數(shù)據(jù)類型、消息的格式、方法名稱以及一些參數(shù)等,UDDI統(tǒng)一描述、發(fā)現(xiàn)和集成是一種在廣闊的web服務(wù)空間里能夠相互發(fā)現(xiàn)的一種機(jī)制,其原理是一個(gè)簡(jiǎn)單的搜索引擎,但是最重要的是,通過(guò)編程能夠?qū)ζ涞姆椒軌驑O大的擴(kuò)充[5]。
2 web服務(wù)組合的介紹
當(dāng)單個(gè)的web服務(wù)不能滿足需求時(shí),多個(gè)的web服務(wù)就可以通過(guò)相應(yīng)的機(jī)制就能夠組合起來(lái),這就構(gòu)成了web服務(wù)組合。[6]通過(guò)對(duì)早期研究成果的分析,Web服務(wù)組合的研究可以簡(jiǎn)單的按照組合的時(shí)機(jī)劃分成靜態(tài)組合和動(dòng)態(tài)組合兩種。靜態(tài)組合是事先預(yù)測(cè)客戶的需求,以此建立對(duì)應(yīng)的組合好的服務(wù),并提供給用戶直接調(diào)用。[7]動(dòng)態(tài)組合是根據(jù)運(yùn)行時(shí)具體的客戶需求,動(dòng)態(tài)的利用當(dāng)前可用服務(wù)組合出合乎需求的服務(wù)供給用戶使用。[8]如圖2所示,1到7作為一個(gè)應(yīng)用程序?qū)臻g中的web的服務(wù)進(jìn)行相對(duì)于的選擇性調(diào)用,所有的web服務(wù)組成了web服務(wù)應(yīng)用池,也就是web服務(wù)組合。
2.1 基于語(yǔ)義web服務(wù)組合
基于語(yǔ)義的Web服務(wù)組合是一個(gè)新興的研究領(lǐng)域,依照組合方案生成方式可將其分為兩大類:靜態(tài)組合和動(dòng)態(tài)組合。
靜態(tài)組合是在業(yè)務(wù)流程建模時(shí)綁定任務(wù),即傳統(tǒng)的工作流任務(wù)綁定形式,意味著請(qǐng)求者應(yīng)在組合計(jì)劃實(shí)施之前創(chuàng)建一個(gè)抽象的過(guò)程模型。web靜態(tài)服務(wù)一般是指在設(shè)計(jì)以及編譯階段,依據(jù)環(huán)境以及不同變量的需求,對(duì)已經(jīng)形成的服務(wù)進(jìn)行定向的組合以及發(fā)布,從軟件工程師的角度來(lái)看就是利用已經(jīng)形成的模塊體系來(lái)進(jìn)行二次的開發(fā);因此首先我們要列出所有符合條件的功能,緊接著我們根據(jù)功能的列表,來(lái)進(jìn)行定位以及選擇。[9]因此我們?cè)陟o態(tài)web服務(wù)組合中,需要進(jìn)行一個(gè)庫(kù)的建立,在庫(kù)中提供相應(yīng)的工具包,來(lái)幫助開發(fā)人員找到他們所需要的服務(wù)組件,靜態(tài)web由于其發(fā)展的局限性,因此一直沒(méi)有能夠快速的發(fā)展,再數(shù)據(jù)進(jìn)行交換的過(guò)程中,數(shù)據(jù)可能會(huì)發(fā)生不匹配的現(xiàn)象。[10]因此才會(huì)有了動(dòng)態(tài)web服務(wù)組合的誕生,靜態(tài)web服務(wù)組合的主要的缺點(diǎn)是數(shù)據(jù)的傳輸?shù)倪^(guò)程中,可能會(huì)有一些不穩(wěn)定的情況。這種方法的特點(diǎn)在于:首先,在判斷演化操作是否影響Web服務(wù)組合過(guò)程的數(shù)據(jù)流正確性時(shí),該方法僅對(duì)可能遭受影響的部分進(jìn)行檢查,這是一種增殖式的檢查方式;此外,當(dāng)演化操作影響到Web服務(wù)組合過(guò)程的數(shù)據(jù)流正確性時(shí),該方法向軟件開發(fā)人員提供了進(jìn)一步的演化操作以消除這些問(wèn)題,這是一種correctness-by-construction的方法。[11]
而動(dòng)態(tài)組合在建模時(shí)并不與具體的Web服務(wù)實(shí)現(xiàn)綁定,而是靜態(tài)綁定任務(wù)的功能描述,在執(zhí)行時(shí)動(dòng)態(tài)綁定任務(wù)的實(shí)現(xiàn)性描述。當(dāng)前的隨著web服務(wù)組合的發(fā)展,已有的web服務(wù)組合并不能支撐其,因此web服務(wù)組合必須要以更加豐富的語(yǔ)義進(jìn)行描述,動(dòng)態(tài)web服務(wù)組合憑借其龐大的web服務(wù)庫(kù),以及穩(wěn)定的傳輸以及連接,所以動(dòng)態(tài)web服務(wù)組合才能夠快速的發(fā)展。[12]
服務(wù)組合涉及的內(nèi)容可以從其生命周期的角度分為兩個(gè)階段:服務(wù)組合建立階段和運(yùn)行階段。就Web服務(wù)組合而言,與語(yǔ)義Web現(xiàn)行標(biāo)準(zhǔn)相對(duì)應(yīng)一組分層的規(guī)范如圖1所示。當(dāng)中,URI通用資源標(biāo)識(shí)符(Uniform Resource Identifier),就像GPS服務(wù)一樣能夠,能夠準(zhǔn)確的找到web服務(wù)的資源。RDF資源描述框架(Resource Description Framework)、RDF-Schema(RDF-S)以及Web本體語(yǔ)言-OWL(Web Ontology Language)是這些都是語(yǔ)義web所不可缺少的部分,是語(yǔ)義web的基石。[13]這些標(biāo)準(zhǔn)由上而下的構(gòu)成了現(xiàn)在的語(yǔ)義web。由圖1可知RDF是基于XML的標(biāo)準(zhǔn),并且是由W3C提出來(lái)的;RDF主要是通過(guò)對(duì)象和性質(zhì)來(lái)表達(dá)其中的一些關(guān)系,對(duì)XML數(shù)據(jù)增加了一些語(yǔ)義,RDF-schema主要是用來(lái)定義RDF所需要用到的術(shù)語(yǔ)的基本類和類型的,為RDF的解釋提供元數(shù)據(jù);Web本體語(yǔ)言-OWL比RDF和RDF-Schema語(yǔ)義的表達(dá)能力更強(qiáng),它的構(gòu)造子更強(qiáng),因此能夠提供更多的關(guān)系和類,從而加強(qiáng)了web服務(wù)的及其理解能力。OWL是從DAML+OIL這兩種本體語(yǔ)言逐步演化而來(lái)的,對(duì)于不同的約束條件,會(huì)產(chǎn)生不同階段的變化。[14]
2.2 基于動(dòng)態(tài)工作流模型的web服務(wù)組合
動(dòng)態(tài)工作流模型,就是所有的web服務(wù)組件都有一整套完整的行為規(guī)范。在工作流模型的初期的設(shè)計(jì)階段,主要是依靠各種模塊直接的組合關(guān)系進(jìn)行選擇性的匹配。通過(guò)此種模型的設(shè)計(jì),所熟悉的基于Pareto的解集的方案,也能夠通過(guò)此種模式進(jìn)行設(shè)計(jì)出來(lái)。[15]
其中主要引入的是動(dòng)態(tài)工作流的問(wèn)題,之所以說(shuō)其是動(dòng)態(tài),這是相比較靜態(tài)而言的,是兩個(gè)完全不同的概念,這兩個(gè)概念的最大不同主要是在于對(duì)不同模塊之間的銜接的流暢性的不同,動(dòng)態(tài)工作模型對(duì)于不同模塊之間的組合銜接的比較流暢。而靜態(tài)工作模型,各模塊之間的相對(duì)穩(wěn)定性還是有待提高的。[16]
根據(jù)服務(wù)組合的特點(diǎn),基于工作流的服務(wù)組合可以分為三類,包括預(yù)定義,模板和按構(gòu)建的組合。
⑴預(yù)定義的服務(wù)組合,即對(duì)相關(guān)的組合進(jìn)行事先的定義,按照預(yù)定義的結(jié)果,將其帶入到相適應(yīng)的工作流服務(wù)組合中去。這樣的缺點(diǎn)就是服務(wù)是靜態(tài)的,是事先將其寫死的。
⑵模板式的服務(wù)組合,即在相關(guān)服務(wù)開始之前找到相適應(yīng)的模板,然后進(jìn)行然后嵌套,此種方法的優(yōu)點(diǎn)是可以簡(jiǎn)便操作的方法,節(jié)約時(shí)間和效率,是資源的得到最大程度的利用,而且使得能夠快速解決一些棘手的問(wèn)題,缺點(diǎn)是:能夠解決的模型相對(duì)而言比較的簡(jiǎn)單,難以有深刻的方讓其來(lái)解決,而且其結(jié)果是靜態(tài)的,無(wú)法根據(jù)其動(dòng)態(tài)的變化而產(chǎn)生相應(yīng)的變化。[17]
⑶按構(gòu)建的服務(wù)組合:按照服務(wù)的需求量,對(duì)web服務(wù)組合產(chǎn)生一定的定制的效應(yīng),可以根據(jù)web服務(wù)組合的工作量,對(duì)web服務(wù)產(chǎn)生一些空間大小的演繹。這種方法的優(yōu)點(diǎn)被無(wú)限的利用,它適合現(xiàn)在的這種多元的的空間的利用,而且能夠有一定的自反性的特點(diǎn)。
3 web服務(wù)技術(shù)在大數(shù)據(jù)中的應(yīng)用
大數(shù)據(jù)的飛速發(fā)展,使得web服務(wù)在其中應(yīng)用更加的廣闊,大數(shù)據(jù)的存儲(chǔ)和抓取都需要用到web服務(wù),其所需要的是web服務(wù)組合,需要運(yùn)用到基于語(yǔ)義的web服務(wù)組合,以及基于動(dòng)態(tài)工作流的web服務(wù)組合,兩者的混合運(yùn)用能夠使得web服務(wù)技術(shù)在大數(shù)據(jù)的挖掘和存儲(chǔ),運(yùn)用的更加深透,特別是在代購(gòu)網(wǎng)站的興起,對(duì)淘寶、亞馬遜等網(wǎng)站的數(shù)據(jù)的抓取和存儲(chǔ),進(jìn)行需要相應(yīng)的web服務(wù)技術(shù),而上述的web技術(shù)就是我們所需要的,通過(guò)相應(yīng)的算法進(jìn)行大數(shù)據(jù)的抓取和存儲(chǔ)。
4 服務(wù)組合演化
Web服務(wù)組合上面所介紹的只是一些簡(jiǎn)單的web服務(wù)組合,除此之外產(chǎn)生了許多的web服務(wù)組合的演化。比如:QoS全局感知的Web服務(wù)組合方法、提出基于SLM的抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成方法,基于Petri網(wǎng)的服務(wù)組合模型驗(yàn)證方法;這些都是web服務(wù)組合的升級(jí)版,這些升級(jí)版能夠使用一些能夠使得運(yùn)用的更加的方便,圍繞服務(wù)組合建立階段的主要問(wèn)題重點(diǎn)研究滿足語(yǔ)義要求及QoS約束的Web服務(wù)組合及抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成機(jī)制,并關(guān)注組合模型的正確性驗(yàn)證問(wèn)題。[18]因此web服務(wù)組合在未來(lái)還有很多的提升空間。
[參考文獻(xiàn)]
[1]岳昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào).2004,15(3):428-440.
[2]付寧燕.Web服務(wù)組合方法的研究[D].吉林大學(xué).2007,30-79.
[3]吳岳忠,李長(zhǎng)云.Web服務(wù)技術(shù)綜述[D].株洲工學(xué)院學(xué)報(bào).2006.11:127-129.
[4]胡文江,姜郁峰,高永兵.數(shù)據(jù)庫(kù)遺留系統(tǒng)向Web Services的半自動(dòng)遷移[J].計(jì)算機(jī)技術(shù)與發(fā)展.2014.1:109-112.
[5]陳珊,許林英,袁琳.Web服務(wù)綜述[D].微處理機(jī).2005.4:1-3.
[6]Shmueli O.Architectures for internal Web services deployment.In:Apers P,ed.Proc.of the 27th Intl Conf.on Very Large DataBases.Roma:Morgan Kaufmann Publishers,2001.641-644.
[7]謝海軍,齊連永,竇萬(wàn)春.基于Skyline和局部選擇的啟發(fā)式服務(wù)組合方法[J].東南大學(xué)學(xué)報(bào).2011,41(3):449-451.
[8]崔華,應(yīng)時(shí),袁文杰,等.語(yǔ)義Web服務(wù)組合綜述[J]計(jì)算機(jī)科學(xué).201037 (5):21-25.
[9]王勇,代桂平,候亞榮.信任感知的組合服務(wù)動(dòng)態(tài)選擇辦法[J].計(jì)算機(jī)學(xué)報(bào).2009,32(8):1000-1003.
[10]湯景凡.動(dòng)態(tài)Web服務(wù)組合的關(guān)鍵技術(shù)研究[D].浙江大學(xué).2005:50-83.
[11]孫朋蛟,郭學(xué)俊,張鵬程.基于圖的三階段Web服務(wù)組合方法[J].2014.1:148-152.
[12]丁沖,萬(wàn)里.基于Pareto解集的Web服務(wù)組合推優(yōu)方案[J].網(wǎng)絡(luò)安全. 2013.4:39-43.
[13]馮名正.Web服務(wù)組合關(guān)鍵技術(shù)研究[D].東南大學(xué).2006:60-70.
[14]黎富剛,沈卓煒,馮名正,等.CORBA A/V Streams服務(wù)的實(shí)現(xiàn)及其在遠(yuǎn)程教育中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用.2003,16:130-132.
[15]陳養(yǎng)平,黃士坦.中間件技術(shù)在遺留系統(tǒng)改造中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī).200,724(6):30-31.
[16]馬云峰,王源.基于XML和Web Service的異構(gòu)數(shù)據(jù)集成研究與實(shí)現(xiàn)田[J].計(jì)算機(jī)技術(shù)與發(fā)展.2010,20(11):50-51.
[17]張佩云,孫亞民.基于多策略的異構(gòu)數(shù)據(jù)庫(kù)知識(shí)獲取分析閉[J].計(jì)算機(jī)應(yīng)用研究.2007,24(5):201-203.
[18]顧寧,劉佳茂,蔡曉路.web services原理與研發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社.2006.1.
而動(dòng)態(tài)組合在建模時(shí)并不與具體的Web服務(wù)實(shí)現(xiàn)綁定,而是靜態(tài)綁定任務(wù)的功能描述,在執(zhí)行時(shí)動(dòng)態(tài)綁定任務(wù)的實(shí)現(xiàn)性描述。當(dāng)前的隨著web服務(wù)組合的發(fā)展,已有的web服務(wù)組合并不能支撐其,因此web服務(wù)組合必須要以更加豐富的語(yǔ)義進(jìn)行描述,動(dòng)態(tài)web服務(wù)組合憑借其龐大的web服務(wù)庫(kù),以及穩(wěn)定的傳輸以及連接,所以動(dòng)態(tài)web服務(wù)組合才能夠快速的發(fā)展。[12]
服務(wù)組合涉及的內(nèi)容可以從其生命周期的角度分為兩個(gè)階段:服務(wù)組合建立階段和運(yùn)行階段。就Web服務(wù)組合而言,與語(yǔ)義Web現(xiàn)行標(biāo)準(zhǔn)相對(duì)應(yīng)一組分層的規(guī)范如圖1所示。當(dāng)中,URI通用資源標(biāo)識(shí)符(Uniform Resource Identifier),就像GPS服務(wù)一樣能夠,能夠準(zhǔn)確的找到web服務(wù)的資源。RDF資源描述框架(Resource Description Framework)、RDF-Schema(RDF-S)以及Web本體語(yǔ)言-OWL(Web Ontology Language)是這些都是語(yǔ)義web所不可缺少的部分,是語(yǔ)義web的基石。[13]這些標(biāo)準(zhǔn)由上而下的構(gòu)成了現(xiàn)在的語(yǔ)義web。由圖1可知RDF是基于XML的標(biāo)準(zhǔn),并且是由W3C提出來(lái)的;RDF主要是通過(guò)對(duì)象和性質(zhì)來(lái)表達(dá)其中的一些關(guān)系,對(duì)XML數(shù)據(jù)增加了一些語(yǔ)義,RDF-schema主要是用來(lái)定義RDF所需要用到的術(shù)語(yǔ)的基本類和類型的,為RDF的解釋提供元數(shù)據(jù);Web本體語(yǔ)言-OWL比RDF和RDF-Schema語(yǔ)義的表達(dá)能力更強(qiáng),它的構(gòu)造子更強(qiáng),因此能夠提供更多的關(guān)系和類,從而加強(qiáng)了web服務(wù)的及其理解能力。OWL是從DAML+OIL這兩種本體語(yǔ)言逐步演化而來(lái)的,對(duì)于不同的約束條件,會(huì)產(chǎn)生不同階段的變化。[14]
2.2 基于動(dòng)態(tài)工作流模型的web服務(wù)組合
動(dòng)態(tài)工作流模型,就是所有的web服務(wù)組件都有一整套完整的行為規(guī)范。在工作流模型的初期的設(shè)計(jì)階段,主要是依靠各種模塊直接的組合關(guān)系進(jìn)行選擇性的匹配。通過(guò)此種模型的設(shè)計(jì),所熟悉的基于Pareto的解集的方案,也能夠通過(guò)此種模式進(jìn)行設(shè)計(jì)出來(lái)。[15]
其中主要引入的是動(dòng)態(tài)工作流的問(wèn)題,之所以說(shuō)其是動(dòng)態(tài),這是相比較靜態(tài)而言的,是兩個(gè)完全不同的概念,這兩個(gè)概念的最大不同主要是在于對(duì)不同模塊之間的銜接的流暢性的不同,動(dòng)態(tài)工作模型對(duì)于不同模塊之間的組合銜接的比較流暢。而靜態(tài)工作模型,各模塊之間的相對(duì)穩(wěn)定性還是有待提高的。[16]
根據(jù)服務(wù)組合的特點(diǎn),基于工作流的服務(wù)組合可以分為三類,包括預(yù)定義,模板和按構(gòu)建的組合。
⑴預(yù)定義的服務(wù)組合,即對(duì)相關(guān)的組合進(jìn)行事先的定義,按照預(yù)定義的結(jié)果,將其帶入到相適應(yīng)的工作流服務(wù)組合中去。這樣的缺點(diǎn)就是服務(wù)是靜態(tài)的,是事先將其寫死的。
⑵模板式的服務(wù)組合,即在相關(guān)服務(wù)開始之前找到相適應(yīng)的模板,然后進(jìn)行然后嵌套,此種方法的優(yōu)點(diǎn)是可以簡(jiǎn)便操作的方法,節(jié)約時(shí)間和效率,是資源的得到最大程度的利用,而且使得能夠快速解決一些棘手的問(wèn)題,缺點(diǎn)是:能夠解決的模型相對(duì)而言比較的簡(jiǎn)單,難以有深刻的方讓其來(lái)解決,而且其結(jié)果是靜態(tài)的,無(wú)法根據(jù)其動(dòng)態(tài)的變化而產(chǎn)生相應(yīng)的變化。[17]
⑶按構(gòu)建的服務(wù)組合:按照服務(wù)的需求量,對(duì)web服務(wù)組合產(chǎn)生一定的定制的效應(yīng),可以根據(jù)web服務(wù)組合的工作量,對(duì)web服務(wù)產(chǎn)生一些空間大小的演繹。這種方法的優(yōu)點(diǎn)被無(wú)限的利用,它適合現(xiàn)在的這種多元的的空間的利用,而且能夠有一定的自反性的特點(diǎn)。
3 web服務(wù)技術(shù)在大數(shù)據(jù)中的應(yīng)用
大數(shù)據(jù)的飛速發(fā)展,使得web服務(wù)在其中應(yīng)用更加的廣闊,大數(shù)據(jù)的存儲(chǔ)和抓取都需要用到web服務(wù),其所需要的是web服務(wù)組合,需要運(yùn)用到基于語(yǔ)義的web服務(wù)組合,以及基于動(dòng)態(tài)工作流的web服務(wù)組合,兩者的混合運(yùn)用能夠使得web服務(wù)技術(shù)在大數(shù)據(jù)的挖掘和存儲(chǔ),運(yùn)用的更加深透,特別是在代購(gòu)網(wǎng)站的興起,對(duì)淘寶、亞馬遜等網(wǎng)站的數(shù)據(jù)的抓取和存儲(chǔ),進(jìn)行需要相應(yīng)的web服務(wù)技術(shù),而上述的web技術(shù)就是我們所需要的,通過(guò)相應(yīng)的算法進(jìn)行大數(shù)據(jù)的抓取和存儲(chǔ)。
4 服務(wù)組合演化
Web服務(wù)組合上面所介紹的只是一些簡(jiǎn)單的web服務(wù)組合,除此之外產(chǎn)生了許多的web服務(wù)組合的演化。比如:QoS全局感知的Web服務(wù)組合方法、提出基于SLM的抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成方法,基于Petri網(wǎng)的服務(wù)組合模型驗(yàn)證方法;這些都是web服務(wù)組合的升級(jí)版,這些升級(jí)版能夠使用一些能夠使得運(yùn)用的更加的方便,圍繞服務(wù)組合建立階段的主要問(wèn)題重點(diǎn)研究滿足語(yǔ)義要求及QoS約束的Web服務(wù)組合及抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成機(jī)制,并關(guān)注組合模型的正確性驗(yàn)證問(wèn)題。[18]因此web服務(wù)組合在未來(lái)還有很多的提升空間。
[參考文獻(xiàn)]
[1]岳昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào).2004,15(3):428-440.
[2]付寧燕.Web服務(wù)組合方法的研究[D].吉林大學(xué).2007,30-79.
[3]吳岳忠,李長(zhǎng)云.Web服務(wù)技術(shù)綜述[D].株洲工學(xué)院學(xué)報(bào).2006.11:127-129.
[4]胡文江,姜郁峰,高永兵.數(shù)據(jù)庫(kù)遺留系統(tǒng)向Web Services的半自動(dòng)遷移[J].計(jì)算機(jī)技術(shù)與發(fā)展.2014.1:109-112.
[5]陳珊,許林英,袁琳.Web服務(wù)綜述[D].微處理機(jī).2005.4:1-3.
[6]Shmueli O.Architectures for internal Web services deployment.In:Apers P,ed.Proc.of the 27th Intl Conf.on Very Large DataBases.Roma:Morgan Kaufmann Publishers,2001.641-644.
[7]謝海軍,齊連永,竇萬(wàn)春.基于Skyline和局部選擇的啟發(fā)式服務(wù)組合方法[J].東南大學(xué)學(xué)報(bào).2011,41(3):449-451.
[8]崔華,應(yīng)時(shí),袁文杰,等.語(yǔ)義Web服務(wù)組合綜述[J]計(jì)算機(jī)科學(xué).201037 (5):21-25.
[9]王勇,代桂平,候亞榮.信任感知的組合服務(wù)動(dòng)態(tài)選擇辦法[J].計(jì)算機(jī)學(xué)報(bào).2009,32(8):1000-1003.
[10]湯景凡.動(dòng)態(tài)Web服務(wù)組合的關(guān)鍵技術(shù)研究[D].浙江大學(xué).2005:50-83.
[11]孫朋蛟,郭學(xué)俊,張鵬程.基于圖的三階段Web服務(wù)組合方法[J].2014.1:148-152.
[12]丁沖,萬(wàn)里.基于Pareto解集的Web服務(wù)組合推優(yōu)方案[J].網(wǎng)絡(luò)安全. 2013.4:39-43.
[13]馮名正.Web服務(wù)組合關(guān)鍵技術(shù)研究[D].東南大學(xué).2006:60-70.
[14]黎富剛,沈卓煒,馮名正,等.CORBA A/V Streams服務(wù)的實(shí)現(xiàn)及其在遠(yuǎn)程教育中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用.2003,16:130-132.
[15]陳養(yǎng)平,黃士坦.中間件技術(shù)在遺留系統(tǒng)改造中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī).200,724(6):30-31.
[16]馬云峰,王源.基于XML和Web Service的異構(gòu)數(shù)據(jù)集成研究與實(shí)現(xiàn)田[J].計(jì)算機(jī)技術(shù)與發(fā)展.2010,20(11):50-51.
[17]張佩云,孫亞民.基于多策略的異構(gòu)數(shù)據(jù)庫(kù)知識(shí)獲取分析閉[J].計(jì)算機(jī)應(yīng)用研究.2007,24(5):201-203.
[18]顧寧,劉佳茂,蔡曉路.web services原理與研發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社.2006.1.
而動(dòng)態(tài)組合在建模時(shí)并不與具體的Web服務(wù)實(shí)現(xiàn)綁定,而是靜態(tài)綁定任務(wù)的功能描述,在執(zhí)行時(shí)動(dòng)態(tài)綁定任務(wù)的實(shí)現(xiàn)性描述。當(dāng)前的隨著web服務(wù)組合的發(fā)展,已有的web服務(wù)組合并不能支撐其,因此web服務(wù)組合必須要以更加豐富的語(yǔ)義進(jìn)行描述,動(dòng)態(tài)web服務(wù)組合憑借其龐大的web服務(wù)庫(kù),以及穩(wěn)定的傳輸以及連接,所以動(dòng)態(tài)web服務(wù)組合才能夠快速的發(fā)展。[12]
服務(wù)組合涉及的內(nèi)容可以從其生命周期的角度分為兩個(gè)階段:服務(wù)組合建立階段和運(yùn)行階段。就Web服務(wù)組合而言,與語(yǔ)義Web現(xiàn)行標(biāo)準(zhǔn)相對(duì)應(yīng)一組分層的規(guī)范如圖1所示。當(dāng)中,URI通用資源標(biāo)識(shí)符(Uniform Resource Identifier),就像GPS服務(wù)一樣能夠,能夠準(zhǔn)確的找到web服務(wù)的資源。RDF資源描述框架(Resource Description Framework)、RDF-Schema(RDF-S)以及Web本體語(yǔ)言-OWL(Web Ontology Language)是這些都是語(yǔ)義web所不可缺少的部分,是語(yǔ)義web的基石。[13]這些標(biāo)準(zhǔn)由上而下的構(gòu)成了現(xiàn)在的語(yǔ)義web。由圖1可知RDF是基于XML的標(biāo)準(zhǔn),并且是由W3C提出來(lái)的;RDF主要是通過(guò)對(duì)象和性質(zhì)來(lái)表達(dá)其中的一些關(guān)系,對(duì)XML數(shù)據(jù)增加了一些語(yǔ)義,RDF-schema主要是用來(lái)定義RDF所需要用到的術(shù)語(yǔ)的基本類和類型的,為RDF的解釋提供元數(shù)據(jù);Web本體語(yǔ)言-OWL比RDF和RDF-Schema語(yǔ)義的表達(dá)能力更強(qiáng),它的構(gòu)造子更強(qiáng),因此能夠提供更多的關(guān)系和類,從而加強(qiáng)了web服務(wù)的及其理解能力。OWL是從DAML+OIL這兩種本體語(yǔ)言逐步演化而來(lái)的,對(duì)于不同的約束條件,會(huì)產(chǎn)生不同階段的變化。[14]
2.2 基于動(dòng)態(tài)工作流模型的web服務(wù)組合
動(dòng)態(tài)工作流模型,就是所有的web服務(wù)組件都有一整套完整的行為規(guī)范。在工作流模型的初期的設(shè)計(jì)階段,主要是依靠各種模塊直接的組合關(guān)系進(jìn)行選擇性的匹配。通過(guò)此種模型的設(shè)計(jì),所熟悉的基于Pareto的解集的方案,也能夠通過(guò)此種模式進(jìn)行設(shè)計(jì)出來(lái)。[15]
其中主要引入的是動(dòng)態(tài)工作流的問(wèn)題,之所以說(shuō)其是動(dòng)態(tài),這是相比較靜態(tài)而言的,是兩個(gè)完全不同的概念,這兩個(gè)概念的最大不同主要是在于對(duì)不同模塊之間的銜接的流暢性的不同,動(dòng)態(tài)工作模型對(duì)于不同模塊之間的組合銜接的比較流暢。而靜態(tài)工作模型,各模塊之間的相對(duì)穩(wěn)定性還是有待提高的。[16]
根據(jù)服務(wù)組合的特點(diǎn),基于工作流的服務(wù)組合可以分為三類,包括預(yù)定義,模板和按構(gòu)建的組合。
⑴預(yù)定義的服務(wù)組合,即對(duì)相關(guān)的組合進(jìn)行事先的定義,按照預(yù)定義的結(jié)果,將其帶入到相適應(yīng)的工作流服務(wù)組合中去。這樣的缺點(diǎn)就是服務(wù)是靜態(tài)的,是事先將其寫死的。
⑵模板式的服務(wù)組合,即在相關(guān)服務(wù)開始之前找到相適應(yīng)的模板,然后進(jìn)行然后嵌套,此種方法的優(yōu)點(diǎn)是可以簡(jiǎn)便操作的方法,節(jié)約時(shí)間和效率,是資源的得到最大程度的利用,而且使得能夠快速解決一些棘手的問(wèn)題,缺點(diǎn)是:能夠解決的模型相對(duì)而言比較的簡(jiǎn)單,難以有深刻的方讓其來(lái)解決,而且其結(jié)果是靜態(tài)的,無(wú)法根據(jù)其動(dòng)態(tài)的變化而產(chǎn)生相應(yīng)的變化。[17]
⑶按構(gòu)建的服務(wù)組合:按照服務(wù)的需求量,對(duì)web服務(wù)組合產(chǎn)生一定的定制的效應(yīng),可以根據(jù)web服務(wù)組合的工作量,對(duì)web服務(wù)產(chǎn)生一些空間大小的演繹。這種方法的優(yōu)點(diǎn)被無(wú)限的利用,它適合現(xiàn)在的這種多元的的空間的利用,而且能夠有一定的自反性的特點(diǎn)。
3 web服務(wù)技術(shù)在大數(shù)據(jù)中的應(yīng)用
大數(shù)據(jù)的飛速發(fā)展,使得web服務(wù)在其中應(yīng)用更加的廣闊,大數(shù)據(jù)的存儲(chǔ)和抓取都需要用到web服務(wù),其所需要的是web服務(wù)組合,需要運(yùn)用到基于語(yǔ)義的web服務(wù)組合,以及基于動(dòng)態(tài)工作流的web服務(wù)組合,兩者的混合運(yùn)用能夠使得web服務(wù)技術(shù)在大數(shù)據(jù)的挖掘和存儲(chǔ),運(yùn)用的更加深透,特別是在代購(gòu)網(wǎng)站的興起,對(duì)淘寶、亞馬遜等網(wǎng)站的數(shù)據(jù)的抓取和存儲(chǔ),進(jìn)行需要相應(yīng)的web服務(wù)技術(shù),而上述的web技術(shù)就是我們所需要的,通過(guò)相應(yīng)的算法進(jìn)行大數(shù)據(jù)的抓取和存儲(chǔ)。
4 服務(wù)組合演化
Web服務(wù)組合上面所介紹的只是一些簡(jiǎn)單的web服務(wù)組合,除此之外產(chǎn)生了許多的web服務(wù)組合的演化。比如:QoS全局感知的Web服務(wù)組合方法、提出基于SLM的抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成方法,基于Petri網(wǎng)的服務(wù)組合模型驗(yàn)證方法;這些都是web服務(wù)組合的升級(jí)版,這些升級(jí)版能夠使用一些能夠使得運(yùn)用的更加的方便,圍繞服務(wù)組合建立階段的主要問(wèn)題重點(diǎn)研究滿足語(yǔ)義要求及QoS約束的Web服務(wù)組合及抽象服務(wù)節(jié)點(diǎn)自動(dòng)合成機(jī)制,并關(guān)注組合模型的正確性驗(yàn)證問(wèn)題。[18]因此web服務(wù)組合在未來(lái)還有很多的提升空間。
[參考文獻(xiàn)]
[1]岳昆,王曉玲,周傲英.Web服務(wù)核心支撐技術(shù):研究綜述[J].軟件學(xué)報(bào).2004,15(3):428-440.
[2]付寧燕.Web服務(wù)組合方法的研究[D].吉林大學(xué).2007,30-79.
[3]吳岳忠,李長(zhǎng)云.Web服務(wù)技術(shù)綜述[D].株洲工學(xué)院學(xué)報(bào).2006.11:127-129.
[4]胡文江,姜郁峰,高永兵.數(shù)據(jù)庫(kù)遺留系統(tǒng)向Web Services的半自動(dòng)遷移[J].計(jì)算機(jī)技術(shù)與發(fā)展.2014.1:109-112.
[5]陳珊,許林英,袁琳.Web服務(wù)綜述[D].微處理機(jī).2005.4:1-3.
[6]Shmueli O.Architectures for internal Web services deployment.In:Apers P,ed.Proc.of the 27th Intl Conf.on Very Large DataBases.Roma:Morgan Kaufmann Publishers,2001.641-644.
[7]謝海軍,齊連永,竇萬(wàn)春.基于Skyline和局部選擇的啟發(fā)式服務(wù)組合方法[J].東南大學(xué)學(xué)報(bào).2011,41(3):449-451.
[8]崔華,應(yīng)時(shí),袁文杰,等.語(yǔ)義Web服務(wù)組合綜述[J]計(jì)算機(jī)科學(xué).201037 (5):21-25.
[9]王勇,代桂平,候亞榮.信任感知的組合服務(wù)動(dòng)態(tài)選擇辦法[J].計(jì)算機(jī)學(xué)報(bào).2009,32(8):1000-1003.
[10]湯景凡.動(dòng)態(tài)Web服務(wù)組合的關(guān)鍵技術(shù)研究[D].浙江大學(xué).2005:50-83.
[11]孫朋蛟,郭學(xué)俊,張鵬程.基于圖的三階段Web服務(wù)組合方法[J].2014.1:148-152.
[12]丁沖,萬(wàn)里.基于Pareto解集的Web服務(wù)組合推優(yōu)方案[J].網(wǎng)絡(luò)安全. 2013.4:39-43.
[13]馮名正.Web服務(wù)組合關(guān)鍵技術(shù)研究[D].東南大學(xué).2006:60-70.
[14]黎富剛,沈卓煒,馮名正,等.CORBA A/V Streams服務(wù)的實(shí)現(xiàn)及其在遠(yuǎn)程教育中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用.2003,16:130-132.
[15]陳養(yǎng)平,黃士坦.中間件技術(shù)在遺留系統(tǒng)改造中的應(yīng)用[J].微電子學(xué)與計(jì)算機(jī).200,724(6):30-31.
[16]馬云峰,王源.基于XML和Web Service的異構(gòu)數(shù)據(jù)集成研究與實(shí)現(xiàn)田[J].計(jì)算機(jī)技術(shù)與發(fā)展.2010,20(11):50-51.
[17]張佩云,孫亞民.基于多策略的異構(gòu)數(shù)據(jù)庫(kù)知識(shí)獲取分析閉[J].計(jì)算機(jī)應(yīng)用研究.2007,24(5):201-203.
[18]顧寧,劉佳茂,蔡曉路.web services原理與研發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社.2006.1.