摘要:動態(tài)工作流互操作是工作流互操作領域中的一個重要問題.通過對工作流互操作進行分析,提出了一種以Web服務為服務接口、以語義網(wǎng)技術為服務發(fā)現(xiàn)機制的可以跨越Internet的動態(tài)工作流互操作模型。
關鍵詞:工作流;互操作;Web服務;語義網(wǎng);本體
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2009)36-10178-02
Semantic Web Based Dynamic Workflow Interoperation
HUANG Zhi-yan
(Dept. of Computer Engineering, Jiangsu Vocational and Echnical College of Finance Economics, Huai'an 223003, China)
Abstract: Dynamic workflow interoperation is an important issue in the workflow interoperation area. In this article, by analyzing the characteristics of workflow interoperation, a dynamic workflow interoperation model is proposed, which takes Web service as the interoperation interface and semantic Web technology as the service discovery mechanism and can support interoperation across Internet.
Key words: workflow; interoperation; Web service; semantic Web; ontology
工作流管理系統(tǒng)作為一種良好的定義、管理和執(zhí)行業(yè)務流程的工具,被廣泛使用于電子商務等環(huán)境中.電子商務的發(fā)展使得工作流互操作需要跨越Internet,工作流互操作不僅僅需要考慮緊耦合的情形,還需要考慮松耦合的互操作。在電子商務中,新的服務隨時可能出現(xiàn),舊的應用隨時需要被代替,因此合作伙伴可能會經(jīng)常變化。在這種情況下,工作流的各個子流程可能會不斷地變更,為了適應這種動態(tài)特性,工作流需要實現(xiàn)子流程的動態(tài)發(fā)現(xiàn)和綁定功能,而解決此問題的關鍵是對工作流語義的描述。Web服務技術的出現(xiàn)加速了工作流互操作技術的發(fā)展,通過將工作流包裝成Web服務、使用XML格式互操作消息,Internet上各種工作流之間可以進行跨平臺、松耦合的互操作。然而,Web服務缺乏對于服務語義的描述。
最近興起的語義網(wǎng)技術[1]可以解決Web上數(shù)據(jù)的語義表示間題。它基于RDF[2]實現(xiàn)對對象本體的描述,使用基于各種邏輯的推理引攀實現(xiàn)荃于語義的查詢。本文將研究如何利用現(xiàn)有的語義Web服務技術實現(xiàn)工作流的動態(tài)互操作[3],并且考慮與現(xiàn)有的工作流互操作和電子商務標準相一致。
1 基于語義網(wǎng)的動態(tài)工作流互操作
系統(tǒng)的結構如圖1所示,系統(tǒng)使用DAML提供的查詢語言DQL進行查詢。圖中各模塊的功能描述如下。
SDA(Ser ViceD IscoveryA Gent):服務發(fā)現(xiàn)代理。負責服務的搜索、消息的傳遞和轉換以及安全策略等問題。
DQL服務器:使用支持DAML+OIL規(guī)則的推理機對知識庫進行推理,查找出符合查詢條件的服務??晒┻x擇的推理引擎如JTP,它支持DAML+OIL以及其他多種推理機,并支持DQL查詢語言。
服務知識庫:保存描述服務特征的知識庫。使用DAML解析器,將使用XML語法描述的服務特征本體轉化為推理機所需要的知識庫三元組,以供推理機進行推理系統(tǒng)的工作流程如下,各流程的順序見圖中標注:
① 本地工作流發(fā)出調用請求;
② SDA發(fā)送包含服務特征本體屬性的DQL查詢語句至DQL服務器;
③ DQL服務器使用推理機對服務特征知識庫進行推理;
④ DQL服務器返回結果集給SDA;
⑤ SDA調用搜索到的服務,并得到結果;
⑥ SDA將結果傳給內(nèi)部工作流。
在這個體系結構中,服務發(fā)現(xiàn)代理(SDA)承擔了內(nèi)部工作流與外部所有通訊的任務.SDA的功能模塊結構如圖2所示,圖中各模塊的功能描述如下:
服務查詢模塊:負資接收內(nèi)部工作流的服務查詢信息,并將此信息轉化為DQL查詢語言發(fā)送至DQL服務器。然后從DQL服務器接收查詢結果,并將此查詢結果轉化為內(nèi)部數(shù)據(jù)格式發(fā)送給其他內(nèi)部模塊。
消息轉換模塊:負責消息的封裝和接封。它將內(nèi)部消息封裝到Wf-XML消息或從Wf-XML消息中提取數(shù)據(jù)等。
安全策略模塊:負貴消息的加密和解密。采用哪一種方式進行加解密要根據(jù)服務查詢模塊查詢到的對方安全策略決定。
服務調用模塊:根據(jù)查詢結果中的服務URI,進行實際的服務調用。
要調用外部服務時,先將所需服務的信息(服務種類、服務的前提和效果、服務質量要求、返回參數(shù)類型等)以及輸入信息發(fā)送至SDA的服務查詢模塊,服務查詢模塊將這些信息轉化為包含我們所擴展的特征本體(見下節(jié))屬性的DQL查詢語句,并在查詢模式(query pattern)中指明返回集,然后將DQL查詢請求發(fā)送給DQL服務器.如果沒有滿足條件的服務,服務查詢模塊返回查詢失敗信息給內(nèi)部工作流系統(tǒng)(如圖3虛線所示)。否則,它將消息格式、安全策略信息分別發(fā)送到消息轉換模塊和安全策略模塊,這兩個模塊對輸入信息進行格式轉換和加密。最后由服務調用模塊根據(jù)資源URI對服務進行調用.
服務調用返回時返回結果由服務調用模塊返回至安全策略模塊和消息轉換模塊進行解密并轉換成內(nèi)部工作流使用的消息格式,最后由消息轉換模塊將結果數(shù)據(jù)返回給內(nèi)部工作流系統(tǒng)。
2 總結
本文討論了基于語義網(wǎng)動態(tài)工作流互操作問題,通過分析工作流互操作,特別是動態(tài)工作流互操作的特點,給出了一種基于語義Web服務技術的解決方案,解決了子流程的動態(tài)發(fā)現(xiàn)和調用問題。但是,這種方案由于技術的限制還存在以下幾點需要發(fā)展的地方:其一是當前語義網(wǎng)技術還在發(fā)展,現(xiàn)在的工作只是在本體描述方面比較成熟,而且各個領域的本體還沒有完全形成標準,其二是雖然利用語義Web服務能夠解決動態(tài)服務發(fā)現(xiàn)和調用,但是將工作流作為Web服務進行調用只能實現(xiàn)粗粒度的互操作,也就是WfMC所定義的嵌套子過程互操作模型。要實現(xiàn)細粒度動態(tài)工作流互操,還需要描述服務提供者工作流的內(nèi)部結構,并根據(jù)此結構進行查詢和協(xié)商,這些都是以后工作所需要解決的問題。
參考文獻:
[1] W3C. Semantic Web. World Wide Web Consortium, http://www.w3.org/2001/sw/.
[2] Pan J Z, Horrocks I. RDFS(FA):Connectiong RDF(S) and OWL DL [J]. IEEE Transactions on Knowledge and Data Engineering, 2007,19(2):192-206.
[3] 武吉祥,毛新軍.支持Agent軟件與Web服務軟件互操作的AWIA[J].南京大學學報(自然科學),2008,44(2):123-131.