謝晉雄
英德市職業(yè)技術(shù)學(xué)校,廣東 清遠(yuǎn) 513000
一種基于語(yǔ)義的Web服務(wù)組合框架的設(shè)計(jì)
謝晉雄
英德市職業(yè)技術(shù)學(xué)校,廣東 清遠(yuǎn) 513000
目前,越來(lái)越多的公司、企業(yè)將自己的各種應(yīng)用以Web服務(wù)的形式發(fā)布在網(wǎng)上,而隨著其應(yīng)用的復(fù)雜性日益增強(qiáng),單靠企業(yè)內(nèi)部提供的業(yè)務(wù)功能越來(lái)越難以滿足實(shí)際的需求。如果我們能夠合理設(shè)計(jì)出一種基于語(yǔ)義的Web服務(wù)組合框架,把已經(jīng)存在的簡(jiǎn)單的不能滿足需求的服務(wù)組合成為全新的能夠滿足需求的服務(wù),這對(duì)于降低公司運(yùn)行成本、提高服務(wù)的使用效率,提升企業(yè)綜合競(jìng)爭(zhēng)力具有重要的現(xiàn)實(shí)意義[1]。
目前來(lái)講,服務(wù)組合方法可以分為靜態(tài)組合方法和動(dòng)態(tài)組合方法兩種。而動(dòng)態(tài)組合方法在日益多變的網(wǎng)絡(luò)服務(wù)環(huán)境中能夠反映和滿足用戶的需求,鑒于此本文主要研究動(dòng)態(tài)服務(wù)組合問(wèn)題。下圖1是本文設(shè)計(jì)的Web服務(wù)組合整體框架圖,其主要包括服務(wù)的描述、服務(wù)的發(fā)布、消息的交互、服務(wù)的匹配和服務(wù)的裝載等[2][3]。
圖1 Web服務(wù)組合框架
圖1各模塊的功能如下:
協(xié)同工作管理器:是各設(shè)備之間進(jìn)行通訊的中轉(zhuǎn)站,實(shí)現(xiàn)對(duì)UDDI上各種服務(wù)的發(fā)布與更新的管理,完成層次結(jié)構(gòu)生成協(xié)議的構(gòu)造。
服務(wù)裝載模塊:主要負(fù)責(zé)調(diào)用系統(tǒng)設(shè)備提供的各種服務(wù)以響應(yīng)用戶的個(gè)性化需求。此模塊在這個(gè)系統(tǒng)中處于核心地位。
流程定義文檔:完成業(yè)務(wù)流程組合過(guò)程中所需的各種語(yǔ)義需求描述,有了它,服務(wù)在組合過(guò)程就有了語(yǔ)義,能夠更快找到目標(biāo)服務(wù)。
UDDI:服務(wù)發(fā)布中心和管理中心,保存了系統(tǒng)發(fā)布的所有服務(wù),并管理著這些服務(wù),使之形成相應(yīng)的服務(wù)列表,使得在服務(wù)組合過(guò)程,方便這些服務(wù)被服務(wù)裝載模塊調(diào)用。
組合服務(wù)引擎:在服務(wù)匹配階段,服務(wù)引擎將流程定義文檔中的Web服務(wù)作為目標(biāo),從UDDI上的候選服務(wù)中查找匹配的服務(wù),形成服務(wù)組合實(shí)例。通過(guò)使用OWL邏輯推理,組合服務(wù)引擎可以對(duì)使用不同語(yǔ)法和不同模型抽象的候選服務(wù)與請(qǐng)求之間進(jìn)行基于語(yǔ)義的匹配。
消息交互模塊:是系統(tǒng)上下模塊間進(jìn)行信息交互的中介。工作時(shí),此模塊根據(jù)業(yè)務(wù)功能的需求,在建立相應(yīng)組合規(guī)則的基礎(chǔ)上判斷當(dāng)前的服務(wù)組合結(jié)果是否滿足用戶的要求,如果得到的結(jié)果與所需的結(jié)果不一致時(shí),消息交互模塊立即通知服務(wù)裝載模塊,然后調(diào)整服務(wù)組合方案。
一般來(lái)講,傳統(tǒng)的服務(wù)組合平臺(tái)其服務(wù)發(fā)布方式不外乎有兩種:一是功能分散化,要求各個(gè)設(shè)備自己去找到滿足需求的業(yè)務(wù);二是功能集中化,即讓某一管理控制中心去管理系統(tǒng)上的所有資源,由它統(tǒng)一去響應(yīng)客戶需求。但是,一般在網(wǎng)絡(luò)服務(wù)環(huán)境中絕大部分計(jì)算設(shè)備是由多種不同計(jì)算資源構(gòu)成,它們之間存在很大的差異性,且由于這些設(shè)備具有可移動(dòng)性和服務(wù)的動(dòng)態(tài)性等特點(diǎn),采用傳統(tǒng)的服務(wù)組合方式再也難以滿足要求。鑒于此,本文提出一種層次結(jié)構(gòu)的服務(wù)組織方式來(lái)進(jìn)行服務(wù)組合,能很好地克服了網(wǎng)絡(luò)服務(wù)環(huán)境存在的問(wèn)題。
根據(jù)網(wǎng)絡(luò)服務(wù)環(huán)境中設(shè)備的性能差異,在這里我們將它劃分為四個(gè)級(jí)別:低級(jí)L1、初級(jí)L2、中級(jí)L3和高級(jí)L4。
低級(jí)設(shè)備:表示服務(wù)不具備直接發(fā)布服務(wù)能力的設(shè)備,它必須借比它更高級(jí)別的設(shè)備的協(xié)助才能完成業(yè)務(wù)功能的需求。如簡(jiǎn)單的傳感器,傳統(tǒng)的打印機(jī)等。
初級(jí)設(shè)備:表示具有軟件模塊宿主計(jì)算能力的設(shè)備,能夠直接向外提供服務(wù)。如智能傳感器。
中級(jí)設(shè)備:這些設(shè)備一般具有可移動(dòng)性,不僅可以直接向外提供服務(wù),還有發(fā)布服務(wù)的功能。如手提電腦、智能手機(jī)等。
高級(jí)設(shè)備:跟中級(jí)設(shè)備有相同的功能,不同之處是其計(jì)算能力更強(qiáng),且一般作為固定設(shè)備,沒(méi)有什么特殊情況不予以移動(dòng)。如服務(wù)器。
根據(jù)上節(jié)給出的設(shè)備劃分標(biāo)準(zhǔn),可以構(gòu)造出一個(gè)層次結(jié)構(gòu)的服務(wù)組織方式:當(dāng)一臺(tái)設(shè)備A進(jìn)入到服務(wù)系統(tǒng)中時(shí),首先向系統(tǒng)發(fā)布廣播消息INFO_BROADCAST(包含設(shè)備A的分類級(jí)別L(A)),等待周圍系統(tǒng)的服務(wù)設(shè)備作出回應(yīng)。設(shè)備B收到的設(shè)備A發(fā)來(lái)的廣播消息后,會(huì)跟自身的分類級(jí)別L(B)進(jìn)行比較,若L(A)
圖2 實(shí)例生成協(xié)議時(shí)序圖
層次結(jié)構(gòu)的生成的原則是:任一設(shè)備有且只有一個(gè)父節(jié)點(diǎn),當(dāng)某一個(gè)設(shè)備節(jié)點(diǎn)已經(jīng)有了一個(gè)父設(shè)備節(jié)點(diǎn)之后,就必須拒絕其他上級(jí)設(shè)備節(jié)點(diǎn)發(fā)來(lái)的INFO_INVITE邀請(qǐng)消息,并回復(fù)一個(gè)INFO_NACK消息告知對(duì)方自己已經(jīng)有父節(jié)點(diǎn)了。
服務(wù)裝載模塊(Service loading Module)是工作在中級(jí)和高級(jí)級(jí)別設(shè)備上的軟件模塊(服務(wù)使用者直接面對(duì)的模塊),中級(jí)設(shè)備上的服務(wù)裝載模塊查詢服務(wù)域包括其同級(jí)節(jié)點(diǎn)加上其父節(jié)點(diǎn)的服務(wù)管理域。而高級(jí)設(shè)備上的服務(wù)裝載模塊查詢服務(wù)域是所有的高級(jí)設(shè)備節(jié)點(diǎn)上的服務(wù)管理域。下面我們來(lái)看一下服務(wù)管理域和服務(wù)查詢域的定義。
服務(wù)管理域:包括設(shè)備本身及其子節(jié)點(diǎn)設(shè)備發(fā)布的所有服務(wù)。這些服務(wù)都存儲(chǔ)UDDI中,每個(gè)中級(jí)和高級(jí)級(jí)別的設(shè)備都通過(guò)UDDI來(lái)管理服務(wù)發(fā)布的描述信息,以響應(yīng)服務(wù)的查詢請(qǐng)求。當(dāng)設(shè)備節(jié)點(diǎn)需要新增或者刪除服務(wù)時(shí),可分別通過(guò)向上級(jí)設(shè)備節(jié)點(diǎn)發(fā)送INFO_ADD消息和INFO_REMOVE消息。
服務(wù)查詢域:服務(wù)裝載模塊向UDDI發(fā)出請(qǐng)求后,UDDI返回的查詢結(jié)果范圍即是服務(wù)查詢范圍。服務(wù)裝載模塊在進(jìn)行服務(wù)匹配的時(shí)候,首先要通過(guò)流程定義文檔中的用戶需求描述同服務(wù)系統(tǒng)中所能實(shí)際提供的各種服務(wù)進(jìn)行比較和匹配,然后返回UDDI可能的查詢結(jié)果。
網(wǎng)絡(luò)服務(wù)環(huán)境下服務(wù)組合的查詢具有位置相關(guān)性。比如在層次結(jié)構(gòu)的服務(wù)組合框架下,不同級(jí)別設(shè)備上運(yùn)行的服務(wù)裝載模塊程序在進(jìn)行服務(wù)查詢和組合時(shí),首先查詢?cè)撛O(shè)備上的UDDI上的服務(wù)記錄,也就是服務(wù)管理域。若在UDDI上沒(méi)有找到可組合的服務(wù)時(shí),就將查詢范圍擴(kuò)散到該設(shè)備節(jié)點(diǎn)的服務(wù)查詢域。
網(wǎng)絡(luò)服務(wù)環(huán)境一般具有動(dòng)態(tài)性的特點(diǎn),如何維護(hù)服務(wù)環(huán)境的變化減少對(duì)系統(tǒng)的影響有重要的意義。環(huán)境中的服務(wù)可能由于設(shè)備的移動(dòng)性,如用戶的PDA或手提電腦從一個(gè)地方移動(dòng)到另外一個(gè)地方,或是由于移動(dòng)設(shè)備出現(xiàn)電源供應(yīng)不足的情況,而停止向外提供服務(wù)。由此可見,網(wǎng)絡(luò)服務(wù)環(huán)境下的服務(wù)變動(dòng)和更新一般可分為兩種情況:1).設(shè)備由于地方的轉(zhuǎn)移而出現(xiàn)的服務(wù)變動(dòng)和更新;2).設(shè)備由于外在的某種原因(如突然斷電)而不能持續(xù)提供服務(wù)。
第一種情況主要是指一些具有移動(dòng)特性的中級(jí)級(jí)別的設(shè)備。它的父設(shè)備節(jié)點(diǎn)是動(dòng)態(tài)變更的,它會(huì)定時(shí)發(fā)送消息INFO_HELLO來(lái)檢測(cè)自身的位置發(fā)生變動(dòng)的情況,然后決定變更與否。另外,它在層次架構(gòu)中的位置也不是一成不變的,若有來(lái)自不同級(jí)別設(shè)備節(jié)點(diǎn)的響應(yīng)消息INFO_HELLO速度比它快,它便退出當(dāng)前位置(退出后變成了孤立節(jié)點(diǎn)),然后重新發(fā)送廣播消息INFO_ BROADCAST尋找父節(jié)點(diǎn)[6]。
第二種情況設(shè)備的變動(dòng)和更新主要從它的生命周期時(shí)間來(lái)看。設(shè)備一旦注冊(cè),系統(tǒng)都會(huì)賦予它一個(gè)生命周期時(shí)間,當(dāng)超過(guò)生命周期時(shí)間后,設(shè)備就會(huì)發(fā)送INFO_CKECK消息檢測(cè)自身設(shè)備節(jié)點(diǎn)的是否有效。如果收到父設(shè)備節(jié)點(diǎn)返回的INFO_CHECK消息,則恢復(fù)原來(lái)的生命周期時(shí)間,繼續(xù)提供服務(wù);若沒(méi)有收到父設(shè)備節(jié)點(diǎn)返回的INFO_CHECK消息,就認(rèn)為與它連接的父設(shè)備節(jié)點(diǎn)已經(jīng)離開或者失效。然后像第一種情況一樣,然后發(fā)送廣播消息INFO_ BROADCAST尋找父節(jié)點(diǎn)。
面對(duì)日益復(fù)雜的網(wǎng)絡(luò)服務(wù)環(huán)境,孤立的簡(jiǎn)單的單個(gè)服務(wù)已在很大程度上不能滿足我們的需求。本文首先分析了現(xiàn)行網(wǎng)絡(luò)服務(wù)環(huán)境的基本情況,然后給出了一種層次結(jié)構(gòu)的基于語(yǔ)義Web服務(wù)組合框架的設(shè)計(jì)以及較詳細(xì)分析與框架緊密相關(guān)的一些問(wèn)題,這對(duì)開發(fā)一個(gè)語(yǔ)義Web組合系統(tǒng)有很好的借鑒意義。
[1]鄭增威.吳朝暈.普適計(jì)算綜述[J].計(jì)算機(jī)科學(xué),2003,30(4):18~29
[2]鄭笛,王俊.普適計(jì)算環(huán)境下基于中間件的上下文質(zhì)量管理框架研究[J].計(jì)算機(jī)科學(xué),2011.11
[3]徐毅.普適環(huán)境下的語(yǔ)義Web服務(wù)組合框架的研究與實(shí)現(xiàn)[碩士論文],2007.10
[4]郭頌,柳春華.語(yǔ)義Web服務(wù)組合實(shí)現(xiàn)框架研究.信陽(yáng)師范學(xué)院學(xué)報(bào)[J],2011.10,4(24):36~40
[5]高俊,沈才梁.一種面向服務(wù)體系結(jié)構(gòu)的服務(wù)組合方案求解方法.計(jì)算機(jī)應(yīng)用研究[J],2011,11(28):41~46
[6]Guo S,Sun X Y.The mediation of data heterogeneity in Web Service composition[C]// IEEE International Conf.on Internet Technology and Application(TAP 2010)2010:567~570
A Design on Semantic Web Service Composition Framework
根據(jù)Web服務(wù)組合的特點(diǎn),設(shè)計(jì)了一種層次結(jié)構(gòu)的基于語(yǔ)義的Web服務(wù)組合框架,給出了該框架的服務(wù)發(fā)布管理方法和層次結(jié)構(gòu)生成協(xié)議,詳細(xì)分析了該層次結(jié)構(gòu)的生成過(guò)程以及服務(wù)組合框架對(duì)服務(wù)的查詢、組合和更新等的運(yùn)行原理。
Web服務(wù);語(yǔ)義;Web ;服務(wù)組合 ;層次結(jié)構(gòu)
According to the feature of web service composition, designed a hierarchical structure based on semantic web service composition framework, given out the method of service issue management and generate protocol of hierarchy structure, detailed analysis the generate process of the hierarchy structure and the principle of service query、composition and update.
Web Service; Semantic Web service composition; hierarchical structure
10.3969/j.issn.1001-8972.2012.14.041
謝晉雄,大學(xué)本科,講師,研究方向主要為計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),語(yǔ)義Web服務(wù)技術(shù)。