謝晉雄
英德市職業技術學校,廣東 清遠 513000
一種基于語義的Web服務組合框架的設計
謝晉雄
英德市職業技術學校,廣東 清遠 513000
目前,越來越多的公司、企業將自己的各種應用以Web服務的形式發布在網上,而隨著其應用的復雜性日益增強,單靠企業內部提供的業務功能越來越難以滿足實際的需求。如果我們能夠合理設計出一種基于語義的Web服務組合框架,把已經存在的簡單的不能滿足需求的服務組合成為全新的能夠滿足需求的服務,這對于降低公司運行成本、提高服務的使用效率,提升企業綜合競爭力具有重要的現實意義[1]。
目前來講,服務組合方法可以分為靜態組合方法和動態組合方法兩種。而動態組合方法在日益多變的網絡服務環境中能夠反映和滿足用戶的需求,鑒于此本文主要研究動態服務組合問題。下圖1是本文設計的Web服務組合整體框架圖,其主要包括服務的描述、服務的發布、消息的交互、服務的匹配和服務的裝載等[2][3]。

圖1 Web服務組合框架
圖1各模塊的功能如下:
協同工作管理器:是各設備之間進行通訊的中轉站,實現對UDDI上各種服務的發布與更新的管理,完成層次結構生成協議的構造。
服務裝載模塊:主要負責調用系統設備提供的各種服務以響應用戶的個性化需求。此模塊在這個系統中處于核心地位。
流程定義文檔:完成業務流程組合過程中所需的各種語義需求描述,有了它,服務在組合過程就有了語義,能夠更快找到目標服務。
UDDI:服務發布中心和管理中心,保存了系統發布的所有服務,并管理著這些服務,使之形成相應的服務列表,使得在服務組合過程,方便這些服務被服務裝載模塊調用。
組合服務引擎:在服務匹配階段,服務引擎將流程定義文檔中的Web服務作為目標,從UDDI上的候選服務中查找匹配的服務,形成服務組合實例。通過使用OWL邏輯推理,組合服務引擎可以對使用不同語法和不同模型抽象的候選服務與請求之間進行基于語義的匹配。
消息交互模塊:是系統上下模塊間進行信息交互的中介。工作時,此模塊根據業務功能的需求,在建立相應組合規則的基礎上判斷當前的服務組合結果是否滿足用戶的要求,如果得到的結果與所需的結果不一致時,消息交互模塊立即通知服務裝載模塊,然后調整服務組合方案。
一般來講,傳統的服務組合平臺其服務發布方式不外乎有兩種:一是功能分散化,要求各個設備自己去找到滿足需求的業務;二是功能集中化,即讓某一管理控制中心去管理系統上的所有資源,由它統一去響應客戶需求。但是,一般在網絡服務環境中絕大部分計算設備是由多種不同計算資源構成,它們之間存在很大的差異性,且由于這些設備具有可移動性和服務的動態性等特點,采用傳統的服務組合方式再也難以滿足要求。鑒于此,本文提出一種層次結構的服務組織方式來進行服務組合,能很好地克服了網絡服務環境存在的問題。
根據網絡服務環境中設備的性能差異,在這里我們將它劃分為四個級別:低級L1、初級L2、中級L3和高級L4。
低級設備:表示服務不具備直接發布服務能力的設備,它必須借比它更高級別的設備的協助才能完成業務功能的需求。如簡單的傳感器,傳統的打印機等。
初級設備:表示具有軟件模塊宿主計算能力的設備,能夠直接向外提供服務。如智能傳感器。
中級設備:這些設備一般具有可移動性,不僅可以直接向外提供服務,還有發布服務的功能。如手提電腦、智能手機等。
高級設備:跟中級設備有相同的功能,不同之處是其計算能力更強,且一般作為固定設備,沒有什么特殊情況不予以移動。如服務器。
根據上節給出的設備劃分標準,可以構造出一個層次結構的服務組織方式:當一臺設備A進入到服務系統中時,首先向系統發布廣播消息INFO_BROADCAST(包含設備A的分類級別L(A)),等待周圍系統的服務設備作出回應。設備B收到的設備A發來的廣播消息后,會跟自身的分類級別L(B)進行比較,若L(A)

圖2 實例生成協議時序圖
層次結構的生成的原則是:任一設備有且只有一個父節點,當某一個設備節點已經有了一個父設備節點之后,就必須拒絕其他上級設備節點發來的INFO_INVITE邀請消息,并回復一個INFO_NACK消息告知對方自己已經有父節點了。
服務裝載模塊(Service loading Module)是工作在中級和高級級別設備上的軟件模塊(服務使用者直接面對的模塊),中級設備上的服務裝載模塊查詢服務域包括其同級節點加上其父節點的服務管理域。而高級設備上的服務裝載模塊查詢服務域是所有的高級設備節點上的服務管理域。下面我們來看一下服務管理域和服務查詢域的定義。
服務管理域:包括設備本身及其子節點設備發布的所有服務。這些服務都存儲UDDI中,每個中級和高級級別的設備都通過UDDI來管理服務發布的描述信息,以響應服務的查詢請求。當設備節點需要新增或者刪除服務時,可分別通過向上級設備節點發送INFO_ADD消息和INFO_REMOVE消息。
服務查詢域:服務裝載模塊向UDDI發出請求后,UDDI返回的查詢結果范圍即是服務查詢范圍。服務裝載模塊在進行服務匹配的時候,首先要通過流程定義文檔中的用戶需求描述同服務系統中所能實際提供的各種服務進行比較和匹配,然后返回UDDI可能的查詢結果。
網絡服務環境下服務組合的查詢具有位置相關性。比如在層次結構的服務組合框架下,不同級別設備上運行的服務裝載模塊程序在進行服務查詢和組合時,首先查詢該設備上的UDDI上的服務記錄,也就是服務管理域。若在UDDI上沒有找到可組合的服務時,就將查詢范圍擴散到該設備節點的服務查詢域。
網絡服務環境一般具有動態性的特點,如何維護服務環境的變化減少對系統的影響有重要的意義。環境中的服務可能由于設備的移動性,如用戶的PDA或手提電腦從一個地方移動到另外一個地方,或是由于移動設備出現電源供應不足的情況,而停止向外提供服務。由此可見,網絡服務環境下的服務變動和更新一般可分為兩種情況:1).設備由于地方的轉移而出現的服務變動和更新;2).設備由于外在的某種原因(如突然斷電)而不能持續提供服務。
第一種情況主要是指一些具有移動特性的中級級別的設備。它的父設備節點是動態變更的,它會定時發送消息INFO_HELLO來檢測自身的位置發生變動的情況,然后決定變更與否。另外,它在層次架構中的位置也不是一成不變的,若有來自不同級別設備節點的響應消息INFO_HELLO速度比它快,它便退出當前位置(退出后變成了孤立節點),然后重新發送廣播消息INFO_ BROADCAST尋找父節點[6]。
第二種情況設備的變動和更新主要從它的生命周期時間來看。設備一旦注冊,系統都會賦予它一個生命周期時間,當超過生命周期時間后,設備就會發送INFO_CKECK消息檢測自身設備節點的是否有效。如果收到父設備節點返回的INFO_CHECK消息,則恢復原來的生命周期時間,繼續提供服務;若沒有收到父設備節點返回的INFO_CHECK消息,就認為與它連接的父設備節點已經離開或者失效。然后像第一種情況一樣,然后發送廣播消息INFO_ BROADCAST尋找父節點。
面對日益復雜的網絡服務環境,孤立的簡單的單個服務已在很大程度上不能滿足我們的需求。本文首先分析了現行網絡服務環境的基本情況,然后給出了一種層次結構的基于語義Web服務組合框架的設計以及較詳細分析與框架緊密相關的一些問題,這對開發一個語義Web組合系統有很好的借鑒意義。
[1]鄭增威.吳朝暈.普適計算綜述[J].計算機科學,2003,30(4):18~29
[2]鄭笛,王俊.普適計算環境下基于中間件的上下文質量管理框架研究[J].計算機科學,2011.11
[3]徐毅.普適環境下的語義Web服務組合框架的研究與實現[碩士論文],2007.10
[4]郭頌,柳春華.語義Web服務組合實現框架研究.信陽師范學院學報[J],2011.10,4(24):36~40
[5]高俊,沈才梁.一種面向服務體系結構的服務組合方案求解方法.計算機應用研究[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
根據Web服務組合的特點,設計了一種層次結構的基于語義的Web服務組合框架,給出了該框架的服務發布管理方法和層次結構生成協議,詳細分析了該層次結構的生成過程以及服務組合框架對服務的查詢、組合和更新等的運行原理。
Web服務;語義;Web ;服務組合 ;層次結構
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
謝晉雄,大學本科,講師,研究方向主要為計算機網絡技術,語義Web服務技術。