[摘 要]WSMO作為W3C的成員報告,為語義網絡服務提供了一個建模本體。文章全面系統的介紹WSMO的整體理論框架,包括理論模型(WSMO)、建模語言(WSML)和執行環境(WSMX)的構建,在此基礎上,對WSMO和OWL-S兩種描述網絡服務的本體語言進行比較分析,并深入剖析了應用范例VTA。
[關鍵詞]WSMO;WSML;WSMX;OWL-S;WSMO應用范例;VTA
DOI:10.3969/j.issn.1008-0821.2010.08.004
[中圖分類號]TP393 [文獻標識碼]B [文章編號]1008-0821(2010)08-0019-06
The Theoretic Framework and Application of WSMOWei Lai1 Wang Xuelian2
(1.Academy of Computer Sciences and Information Technology,Northeast Normal University,
Changchun 130117,China;
2.Library,Northeast Normal University,Changchun 130024,China)
[Abstract]WSMO is the new member report of W3C,it is the web service modeling ontology for semantic web services.The paper introduced the theoretic framework of WSMO fully and systemicly,including WSMO theoretic model,modeling language and execution environment.On the base of this,the paper compared the WSMO and OWL-S,pointed out the difference between them.Furthermore,deeply analyzed the application of WSMOs case-VTA.
[Keywords]WSMO;WSML;WSMX;OWL-S;WSMO application cases;VTA
1 WSMO簡介
WSMO(Web Service Modeling Ontology,網絡服務建模本體)[1]是描述語義網絡服務相關方面的本體,以網絡服務建模框架WSMF(Web Service Modeling Framework)為基礎。由歐洲委員會和愛爾蘭科學基金等多個組織資助,與歐洲語義網絡服務領域的關鍵研究項目(如SEKT[2]、DIP[3]和Knowledge Web[4])結盟,以促進語義網絡服務的發展。WSMO是W3C的成員報告,于2005年4月向W3C提交,2005年6月正式發布[5]。
1.1 WSMO的使命
WSMO為語義網絡服務的核心部分提供本體的詳細說明,為描述語義網絡服務的各個方面創立網絡服務建模本體,以解決Web Service的整合問題,將互聯網絡從一個人類的信息知識庫轉變為世界范圍的分布式網絡處理系統。
WSMO具有簡單(盡可能簡化整合問題)、完整(解決整合問題涉及的所有方面)及可操作(將現有的一系列語義操作作為參考)的特點,可以在不同應用領域(如旅游、銀行、市場、供應鏈等領域)開展實際應用研究,同時在語義網絡服務方面,能夠開發出一個易于被服務機構和用戶方使用的本體。
1.2 WSMO的設計原理
(1)遵守網絡協議。WSMO繼承URI的內容體系,作為最基本的設計原則,同時采取命名域表示信息空間,支持XML和其它W3C的網絡技術協議。
(2)基于本體。本體是WSMO的數據模型,網絡服務中所有的資源描述及數據轉換都基于本體。本體是目前廣泛接受的Semantic Web知識表示方法,本體的擴展使用允許從語義上增強信息處理過程并支持互操作,WSMO支持Semantic Web本體語言的定義。
(3)精確的匹配。WSMO的資源全部獨立定義,這與網絡開放和分布的特點一致。
(4)強化中介作用。中介主要處理開放環境下出現的特殊情況,WSMO在數據、本體、入口和過程等方面采用不同的中介。
(5)本體的作用獨立。WSMO本體能夠將用戶的需求與可得到的服務獨立描述。存在于特定關系中的用戶可以獲取不同的網絡服務,例如用戶可能希望根據天氣、文化等方面的要求預定一個假日,網絡服務將有針對性的提供航班和旅店。
(6)描述與執行。WSMO在語義網絡服務元素(描述)和應用技術(執行)方面進行區分。前者需要基于適當格式的簡明、合理的描述框架并提供簡明的語義描述;后者主要關注支持現有的和潛在的語義網絡和網絡服務技術。WSMO目標在于提供一個適當的本體描述模型并整合現有的及潛在的網絡服務技術。
(7)服務與網絡服務。網絡服務是能夠實現用戶目標的計算機化實體。WSMO作為描述服務的方式,不能取代網絡服務的功能[6]。
2 WSMO體系架構
WSMO由3個部分構成,即WSMO(Web Services Modeling Ontology)——理論模型、WSML(Web Services Modeling Language)——建模語言、WSMX——(Web Service Execution Environment)執行環境[7]。
20102010年8月第30卷第8期WSMO理論框架與應用研究Aug.,2010Vol.30 No.82.1 WSMO
2.1.1 定義WSMO的語言
(1)WSMO定義的元-模型層(Meta-model Layer)
WSMO[8]是語義網絡服務的元模型。使用MOF[9](Meta-Object Facility)規范來說明這個模型。MOF為規范、構建及元模型技術管理界定了一個抽象的語言和架構。MOF定義的元數據架構由4個層次組成:
①包含描述數據的信息層;
②模型層,由信息層描述數據的元數據組成;
③元-模型層,由定義元數據結構和語義的描述組成;
④元-元-模型層,由對元模型層結構和語義的描述組成。
在WSMO中,根據MOF界定的4個層次,WSMO本身組成了元模型層,本體、網絡服務、目標和中介規范組成了模型層,由本體描述的實際數據和網絡服務間的交換組成了信息層。
(2)標識符
每一個WSMO元素都由一個標識符界定:
①URI——WSMO中的任何內容都有一個URI默認標識,除非將其歸為變量或者匿名ID。
②匿名IDs——匿名ID可以被編號(#1,#2,…)或者不編號(#),這些都代表標識符。匿名ID可以用來標識存在的對象,但是不需要專門的標識符。
2.1.2 WSMO的頂層本體(Top-Layer)
WSMO的頂層本體包括本體、網絡服務、目標、中介四部分內容。其中,本體提供能夠被其它要素使用的術語;目標用來定義網絡服務應該解決的問題;網絡服務描述定義網絡服務的各個方面;中介協助解決問題。
(1)本體
在WSMO中,本體提供了WSMO其它元素使用的術語,以描述涉及領域的相關問題。抽取概念的最核心部分定義本體,本體通過提供概念和概念的之間的關系定義一個一致認同的術語。為了描述關系和概念的語義結構,本體通常提供一系列用邏輯語言表達的規則。WSMO提供8個本體元素:非功能屬性、本體輸入、使用中介、概念、關系、功能、實例和公理。其中非功能屬性包括投稿者、覆蓋范圍、創造者、數據、描述、格式、標識符、語言、所有者、出版者、關系、權限、來源、主題、題名、類型、版本等內容;本體輸入允許在本體設計時采用模塊化處理,只要沒有沖突,輸入的數據就能夠用于解決問題,或者使用中介來解決這一問題;中介用于校驗輸入本體;概念是組成問題領域術語的最基本元素,一個概念提供名稱和類型的屬性;關系用來描述幾個概念之間的相互關系模型;實例一般被明確的界定或鏈接到實例庫中。
(2)網絡服務
網絡服務是描述一個領域提供服務獲取的計算機化實體,這些描述包含了網絡服務的性能、界面及內部操作,網絡服務的全部內容都使用由本體規范的術語進行描述。網絡服務描述由網絡服務功能、非功能和行為組成。網絡服務能夠提供不同的服務,如Amazon能夠用于獲取圖書同時也能發現一本圖書的ISBN號碼。
(3)目標
表現用戶愿望,能夠通過網絡服務執行實現。本體可以作為描述相關方面的領域術語。
(4)中介
中介是描述解決不同WSMO元素之間的交互問題的元素,是解決數據、過程、接口相容性的核心內容。WSMO將中介區分為4種類型(圖1):
ggMediators:鏈接兩個目標,這個鏈接實現了將資源目標提煉成對象目標;如果兩個目標可以替換表明等值;
ooMediators:輸入本體并解決可能出現的本體之間不匹配現象的中介;
wgMediators:將網絡服務與目標鏈接的中介,是實現網絡目標的手段,wgMediators可以明確顯示出不同詞表款目和主題圖的區別;
wwMediators:鏈接兩個網絡服務的中介。
WSMO并不規定使用中介的類型,因此為中介的使用提供了最大的靈活性,允許網絡服務、目標和本體之間的弱鏈接。圖1 WSMO中介類型及關系圖(資料來源:http:∥www.wsmo.org/TR/d2/v1.2/)
2.2 WSML
2.2.1 WSML目標
WSML[10]的目標是提供正式的用來描述WSMO定義的全部元素的方法。WSML的不同變量對應著不同級別的邏輯表達并使用不同的語言實例。更確切的說,WSMO采取Description Logics(描述邏輯),First-Order Logic(一階邏輯)和Logic Programming(邏輯過程)作為WSML語言變量發展的起點。WSML語言變量既包括語法層和語義層。所有的WSML變量根據具有與WSMO概念模型元素相似的易讀的語法規則進行規范。同時WSML提供XML和RDF轉換系統,并提供基于OWL應用的WSML本體和OWL本體之間互操作的映射。
2.2.2 WSML使用F-Logic語言的原因
F-Logic語言提供了一個標準的建模理論;是一個完整的first order logic(一階邏輯)語言;處于first order logic(一階邏輯)語義時,能夠提供second order(二階邏輯)語法;提供一個小型的語義操作推理引擎。
2.2.3 WSML變量(參數)
圖2顯示了WSML的不同變量和變量間的關系。圖中箭頭代表“擴展方向”。在邏輯表達和語言實例中的變量不同。基本語言WSML-CORE擴展到兩個方向,Description Logics(WSML-DL)和Logic Programming(WSML-Flight,WSML-Rule),WSML-Rule和WSML-DL都擴展到First-Order Logic(WSML-Full)。
WSML-CORE由Description Logic和Horn Logic在Description Logic Programs基礎上共同界定。在WSML家族中表達能力最小,擁有最好的計算機化特征。主要特點是支持
圖2 WSML的變量和變量間的關系(資料來源:http:∥www.wsmo.org/TR/d16/d16.1/v0.21/)
模塊的分類、屬性、二元關系和實例,同時支持分類層級和關系層級。WSML-DL是完全采用DL的WSML-CORE的擴展。WSML-FLIGHT是具有元-模型、限制和動態否定特點的WSML-CORE的擴展。以F-Logic為基礎,提供一個強大的規則語言。WSML-RULE是WSML-FLIGHT在邏輯程序方面的擴展。WSML-FULL在First-Order下將WSML-DL和WSML-Rule統一起來。
2.3 WSMX
2.3.1 WSMX的特點
(1)WSMX[11]是一個綜合性的軟件框架,用于支持基于語義描述的Web Service的發現、選擇、中介、調用及互操作。
(2)是WSMO所定義的語義網絡服務各個方面的概念模型的參考執行環境,增強各種商業應用的網絡服務整合功能,目標是采用靈活的方式提高自動商業處理,并提供可升級的綜合解決方案。
(3)WSMX能夠將服務需求者和提供者整合到一起來構建專門的任務,甚至在服務需求者和提供者預先并沒有意識到彼此存在的情況下以及他們之間在數據和公共行為模式上存在重大差異的情況下。
(4)是一個開放的和共同參與的資源環境,內容重用性和一般功能性是指導WSMX發展的核心概念。
2.3.2 WSMX體系架構
WSMX體系架構包括用戶界面、邏輯層、交流層和數據保存層。其中用戶界面用WSMX描述注冊服務功能并顯示系統的執行信息;邏輯層負責處理WSMX與網絡服務需求者和提供者之間的信息轉換;交流層負責接受、處理和轉換各種信息;數據保存層由數據庫系統組成用于數據存儲和檢索。WSMX需要更多功能更強的組件,尤其是解決安全、轉換、信任、預警等問題的組件,這也是WSMX的發展目標和方向。圖3描述了WSMX的體系架構。圖3 WSMX的體系架構(資料來源:http:∥www.wsmo.org/TR/d13/d13.4/v0.1/)
可見,WSMX的體系架構包括:
(1)核心組件(Core Component)。核心組件是WSMX的核心部分,所有組件間的互操作都通過核心組件來控制,如系統的商業邏輯、事件引擎、內部工作流引擎、分布組件加載等。目前核心組件是WSMX的核心模塊,為了保證WSMX信任度的提高,將會發展一系列的分布式核心組件機制。沒有專門的界面來定義核心組件。在參考執行時,提供一個封裝的中介層以區別核心組件和其他組件。
(2)資源管理器(Resource Manager)。資源管理器是WSMX的長期保存界面。負責存儲WSMX使用的每一個數據條目。目前,WSMX界定了6個知識庫,4個資源庫負責頂層概念,如WSMO、網絡服務、本體、目標和中介器等,第5個資源庫用于存儲非WSMO數據條目,如事件和消息,第6個資源庫用于存儲WSDL文檔,作為WSMO服務描述對象SOAP的基礎。將來還將增加ebXML和UDDI庫的建設用于WSMX數據保存。
(3)服務發現(Service Discovery)。WSMX發現組件重點發現與服務需求者目標匹配的網絡服務描述。
(4)非功能選擇器(Non-functional Selector)。用于從網絡發現的匹配服務列表中選擇最適合的服務。如果發現不止一個滿足目標的服務結果,選擇界面用于選擇一個適合的服務,不包括調用服務。
(5)協商(Negotiation,Functional Selector)。功能性選擇器用于從匹配服務列表中選擇最適合的服務,這里服務必須作為選擇程序的一部分被調用。
(6)數據中介(Data Mediator)。數據中介組件用于調節在網絡服務的發現、組合、選擇或調用中存在的數據異構性問題。
(7)程序中介(Process Mediator)。程序中介具有調節出現在網絡服務調用中出現的公共程序的異構性,保證調用者的公共程序和調用的網絡服務匹配。
(8)交流管理器(Communication Manager)。交流管理器是WSMX發送或者接受消息的入口,通過調用和接受界面獲取的。
此外,還包括編排引擎界面(Choreography Engine Interface)、剖析器界面(Parser Interface)、網絡服務建模技術界面(Web Service Modelling Toolkit Interface)及響應界面(Reasoner Interface)等組件。
3 WSMO與OWL-S的區別
OWL-S是OWL在語義網絡服務中的應用,是DAML+OIL本體中專門用來描述網絡服務的高層本體語言。OWL-S定義基本的類和屬性描述服務,在最廣泛的意義上覆蓋服務的描述,而不關注專門領域或問題的應用。
WSMO是一個網絡服務建模本體,創建一個與語義網絡服務相關的各個方面的描述本體,目的在于解決整合問題,更加關注網絡服務的整合,同時也關注專門領域的應用。
OWL-S定義了網絡服務的外部可見的行為,而WSMO同時構建了怎樣利用其他的服務提供者,實現網絡服務的功能[12]。表1給出了WSMO與OWL-S的具體區別。表1 WSMO與OWL-S的區別
名 稱WSMOOWL-S獨立性描述獨立的定義需求目標和網絡服務使用簡單的模型元素描述提供者和需求者非功能屬性定義一系列核心的非功能屬性僅將非功能屬性限定在綱要(profile)描述非功能屬性推薦使用廣泛使用的詞表,如DC或FOAF,鼓勵已有術語再利用不主張使用通用的詞表描述需求根據目標描述需求使用綱要(profiles)描述被查詢的服務中 介使用不同類型的中介器將核心元素聯系起來,處理分布環境的異構問題將異構問題作為構建問題,中介器不是本體的一個元素,是網絡服務設施的基礎部分行為描述網絡服務過程的定義在底層,不公開提供服務模型描述的細節語義描述應用描述不公開,但是提供正式語義過程模塊中不提供正式的應用描述語義基 礎沒有提供網絡服務調用機制提供WSDL的基礎語言層語言描述層面清楚獨立在不同語言層之間缺少概念的獨立性
4 范例分析
目前,WSMO的使用范例主要有:Virtual Travel Agency for Online Train Tickets[13]、SWF語義網絡服務代理協作[14]、DIP[15]、Cocoon Projekt[16]及Stream Flows!System[17]等。下面以“Virtual Travel Agency”為例介紹WSMO的應用架構。
VTA是WSMO發展的第一個應用實例,數據來自WSMO發展的早期階段,主要目的在于發展WSMO的基本元素,因此,僅限定了WSMO資源的一小部分:4個模塊化的領域本體、2個目標、1個網絡服務及WSMO中介。使用WSMO的概念框架,為這個使用案例指定本體、目標、網絡服務和中介的頂層概念。VTA為最終用戶提供查找和購買奧地利和德國線路的車票服務,假定用戶要購買國際車票,使用案例的過程包括:
(1)用戶創建描述購買國際車票的最高層目標;
(2)VTA是能夠滿足用戶需求的一個服務提供者;
(3)用戶進一步描述和提煉需求,提供具體的地點和時間;
(4)VTA返回一系列的可能路線;
(5)用戶在這些路線中選擇一個,并發送一個在線預定的請求;
(6)VTA整合在線車票預定服務,執行預定和付費過程,并向用戶發送在線車票。
VTA提供的4類本體包括:
(1)International Train Ticket Ontology本體描述火車票領域本體;
(2)Date and Time Ontology為時間和日期及其關系界定了一般模型;
(3)Purchase Ontology描述在購買者和銷售者之間,購買一個產品的基本要素,包括購買訂單、購買雙方、產品、付費、交付;
(4)Locations Ontology描述地點,包括路線、國家和城市及其關系。
VTA各方通過B2B方式進行整合并提供語義網絡服務,VTA能夠調用由幾個eTourism提供者提供的網絡服務,并整合成新的服務。VTA功能可以進一步擴展,能夠創建一個提供更為復雜的旅行組合服務網絡。具體的架構見圖4。
圖4 VTA服務總體框架(資料來源:http:∥www.wsmo.org/TR/d3/d3.3)
通過上面的范例可以看出,基于WSMO的語義網絡服務更加關注實現自動和半自動的語義網絡服務,強調網絡服務的自動發現、中介及組合服務等功能性的網絡整合服務。
通過WSMO定義的本體和語言對目標和服務進行描述,服務需求方利用各種中介發現服務、選擇服務,服務提供方利用各種中介描述服務、提供服務,并在需求方和服務方之間進行互操作,將需求和服務匹配起來,完成自動的網絡整合服務[18],如圖5所示。
圖5 WSMO的應用過程(資料來源:見參考文獻18)
WSMO的目標是整合網絡服務,充分考慮了語義網絡服務的主要問題:(1)詞表的差異,不同的商業描述采用不同的術語,WSMO通過本體,提供一種能夠正式的和清晰的描述詞表的機制,能夠發現不同商業伙伴使用詞表的差異和重復現象,并能夠解決它們之間的矛盾;(2)不同的入口,即商業伙伴之間有自己的互操作模式;(3)不同的商業處理過程,可能阻礙互操作。目前的網絡服務核心在于通過一個注冊系統(UDDI),使用WSDL語言對各類服務描述和登記,技術關注的重點在于輸入輸出的數據類型和存取細節。
5 結束語
WSMO作為語義網絡服務描述的本體語言,通過定義本體、描述語言和執行環境為語義網絡服務各個方面提供了標準的描述機制,實現異構系統之間的互操作,為解決語義網絡服務的自動發現、選擇、調用、整合問題提供切實可行的方案。本文對WSMO的理論框架和基本的應用范例進行了初步的探討,在理論和實踐上,尤其是WSMO在圖書情報領域的進一步應用研究,還需深入研究和思考。
參考文獻
[1]Web Service Modeling Ontology[EB].http:∥www.wsmo.org,2009-07-04.
[2]Semantically-Enabled Knowledge Technologies[EB].http:∥www.sekt-project.com,2009-07-04.
[3]Data,Information,and Process Integration with Semantic Web Services[EB].http:∥dip.semanticweb.org,2009-07-04.
[4]Knowledge Web[EB].http:∥knowledgeweb.semanticweb.org,2009-07-04.
[5]W3C Submission[EB].http:∥www.w3.org/Submission,2009-07-04.
[6]D2v1.2.Web Service Modeling Ontology(WSMO)[EB].http:∥www.wsmo.org/TR/d2/v1.2,2009-07-04.
[7]WSMO NEW Structure,main intermediate deliverables[EB].http:∥www.wsmo.org/papers/presentations/SDK-cluster/lausanne/wsmotiti.ppt,2009-07-04.
[8]D2v1.2.Web Service Modeling Ontology(WSMO)[EB].http:∥www.wsmo.org/TR/d2/v1.2,2009-07-04.
[9]Meta-Object Facility,version 1.4[EB].http:∥www.omg.org/technology/documents/formal/mof.htm,2009-07-04.
[10]D16.1v0.21 The Web Service Modeling Language WSML[EB].http:∥www.wsmo.org/TR/d16/d16.1/v0.21,2009-07-04.
[11]D13.4 v0.2WSMX Architecture[EB].http:∥www.wsmo.org/TR/d13/d13.4/v0.1,2009-07-04.
[12]A Conceptual Comparison between WSMO and OWL-S[EB].http:∥www.wsmo.org/2004/d4/d4.1/v0.1/20050106/d4.1v0.120050106.pdf,2009-07-04.
[13]Virtual Travel Agency for Online Train Tickets[EB].http:∥www.wsmo.org/TR/d3/d3.3,2009-07-04.
[14]SWF—Agent Collaboration with Semantic Web Services[EB].http:∥swf.deri.at,2009-07-04.
[15]Data,Information,and Process Integration with Semantic Web Services[EB].http:∥dip.semanticweb.org,2009-07-04.
[16]Cocoon Projekt[EB].http:∥www.cocoon-health.com,2009-07-04.
[17]Stream Flows!System[EB].http:∥scholar.google.com/url?sa=Uq=http:∥www.wsmo.org/TR/d3/d3.6/v0.1/20050527/d3620050527.pdf,2009-07-04.
[18]Using the web service modeling ontology to enable semantic e-business[EB].http:∥delivery.acm.org/10.1145/1110000/1101807/p43-debruijn.pdf?key1=1101807key2=2022512511coll=GUIDEdl=GUIDECFID=15151515CFTOKEN=6184618,2009-07-04.