[摘要] 本文介紹了Web服務組合的技術基礎語義Web服務的主要描述方法,討論了Web服務組合的關鍵問題,并分析了當前主要Web服務組合方法的特點,指出為保證服務組合的性能和質量,必須基于服務質量描述Web服務。
[關鍵詞] Web Services 服務組合 QOS
一、引言
Web服務結合了面向組件的方法和Web技術的優勢,利用標準網絡協議和XML數據格式進行通信,能實現不同平臺上各種語言編寫的服務之間的交互電子商務的迅速發展,對跨企業的應用集成以及企業內部應用的集成提出了需求。而Web服務的出現正好為這些應用的集成提供了一個很好的解決方案,使企業內和企業之間應用的集成成為可能,而且使應用的集成更加快捷和方便。因此,Web服務在企業的電子商務系統中得到了廣泛的運用。
單個Web服務通常只提供惟一的調用函數完成單一的功能,Web服務組合能夠利用Internet上分布的易于執行的輕量級服務創建功能豐富易于用戶定制的復雜服務, 將松散耦合的相關Web服務有機組織成更為可用的系統。
二、Web服務技術
Web服務組合問題涉及領域包括:Web服務技術領域,流程管理領域和人工智能領域。
1.Web服務技術
根據W3C的定義,Web服務是由URI標識的軟件應用程序,通過XML構件進行定義、描述和發現其接口和綁定。Web服務支持因特網的協議并能夠與其他基于XML消息的應用程序直接交互。Web服務技術允許不同軟件語言開發、分布在Internet不同地域的應用進行有效的發現和通訊,基于Web服務的應用程序集成在協議棧中較高層發生,注重服務語義,實現了業務的松散耦合集成。Web服務提供了一致化編程模型和一整套Internet規范,主要包括XML,基于XML的Web服務描述語言WSDL,由技術和商業領域的領導者共同開發的統一描述、發現與集成協議標準UDDI,用于描述服務合成過程的控制流和信息流的流描述語言BPEL4WS等。便于企業利用現有語言、平臺和已有的應用程序,以增量方式集成和應用Web服務。Web服務提供了一種支持電子商務的革命性的方式,最重要的價值在于以統一的語言完成所有的部件之間的溝通,從而達到整體效率的提高,促進了新型電子商務應用以及動態服務集成的迅速發展,激發了第三方增值服務市場的出現。
雖然在基礎層面上Web服務是一種非常好的集成工具,但在工作流和業務過程自動化方面仍然不夠完善。要實現基于Web的服務的應用集成系統需要一系列構件、應用之間互相協作,只有根據業務需求制定動態的業務流程才能解決具體、多變的商務問題。同時,服務的動態組合,服務質量的評價等問題還值得進一步深入研究。
2.語義Web服務研究
標準的Web服務缺乏必要的語義信息,導致Web服務功能得不到準確的描述,無法消除服務語義的模糊、理解的歧義性等問題,并影響了Web服務的自動發現、匹配和組裝。語義Web服務將語義Web概念和Web服務研究相結合, 利用語義本體對Web服務建模,在語義層面對服務接口、服務消息、服務結構、服務交互等進行描述,結合語義推理技術支持Web服務自動發現、組裝、調用和監控等關鍵過程。語義Web服務具影響力的代表性工作包括:
(1)OWL-S (Web Ontology Language for Services):前身為DAML-S,基于可判定的描述邏輯,將Web服務的本體分成三個上層本體,目前在語義Web服務領域最具影響力;
(2)WSMO/WSML(Web Service Modeling Ontology):基于框架邏輯,從四個方面描述語義Web服務:Ontology, Web Service, Goal和Mediator;
(3)SWSO/SWSL(Semantic Web ServiceOntology):基于一階邏輯,充分吸收了OWL-S和WSMO/WSML的優點;
(4)WSDL-S:獨立于語義表達語言,允許開發人員選擇本體語言,如OWL或者UML。與其他工作相比,WSDL-S基于標準WSDL擴展,與已有的工具平臺有更好的適應性。
三、Web服務組合
1.Web服務組合關鍵問題
服務組合作為一個滿足業務需求的流程規劃,涉及到基本服務和復合構件服務的協同,Web服務組合需要解決以下幾個主要問題:
(1)采用怎樣的Web服務組合模型作為組合研究的框架基礎;
(2)在可替換的服務中如何根據QoS要求進行質量驅動的服務選擇;
(3)建立怎樣的代價模型以評估Web服務組合的代價;
(4)怎樣定義各個組成部分之間的關系;
(5)如何在多個層面上提供更為精確和通用的語義信息的支持;
(6)怎樣驗證和測試組合Web服務;
(7)如何對QoS或其他行為進行監控,保證在滿足需要的同時,能夠高效的利用資源。從軟件工程的角度看,以上問題涉及服務組合的設計、開發、運行和管理等的軟件生命周期。從相關技術看,涉及了對形式化方法、語義學和運籌規劃等領域知識,使其成為一個跨學科的研究領域。
2.Web服務組合方法
圍繞服務組合問題,已經有大量的研究者進行了相當廣泛和深入的研究。當前解決服務組合的問題主要有基于工作流(workflow)的方法、基于AI Planning的方法和基于軟件工程的方法。
(1)基于AI Planning方法:主要有基于邏輯程序設計語言Golog方法、基于適合過程模型的分層任務網絡SHOP2方法和使用基于規則的專家系統構建復合服務的開發工具SWORD方法。目前,利用AI規劃技術求解語義Web服務的自動組合問題不能夠對組合服務中各種動態關系,特別是并發關系進行刻畫;
(2)基于工作流方法:主要包括基于Web服務業務流程執行語言BPEL4WS/BPEL方法、基于業務流程建模語言BPML方法和基于Web服務編排定義語言WS-CDL方法。基于工作流相關方法往往需要大量人工操作去事先定義該商業進程,不是真正意義上動態的自動的服務組合;
(3)基于軟件工程的方法,主要方法為借鑒軟件工程中的原則的Web構件組合方法。
3.Web服務質量屬性
為保證服務組合的性能和質量,必須基于服務質量(QOS)描述Web服務。質量屬性之間具有高度內連性,需要從系統論的角度深入分析移動環境下Web服務質量屬性特點及矛盾協調。服務質量屬性可以分為客觀的和主觀的服務質量屬性。主觀服務質量屬性主要是用戶對服務質量的全面感覺,用戶關于服務是否滿意的觀點,由于用戶感知的質量經常是被表達,非技術性的,很難客觀評價。在客觀服務質量屬性評價中,質量標準受到交互目標的影響,理想的服務質量屬性評價應根據任務執行而不同。
四、小結
綜上所述,服務組合的基礎是Web服務的形式化描述,Web服務組合是Web服務研究領域中的一個重要的研究分支,具有重要的理論意義和實用價值。利用與平臺無關的Web服務應用能夠將商業智能功能整合到企業應用程序當中,在海量的組合方案中,快速靈活地為用戶選擇出滿足用戶QoS需求的服務組合方案,為決策提供必要的商務智能信息服務,輔助達到更高層次的決策支持。
參考文獻:
[1]IBM Corporation. Web Services: Web Services architect, Part I: An Introduction to Dynamic E-business, 2001,http://www.106.imb.com/developerworks/webservices/
[2]BEA, IBM, Microsoft (2003), Business Process Execution Language for WebServices (BPEL4WS).http://xml.coverpages.org/bpel4ws.html
[3]IBM.WS-Bpel.http://www-900.ibm.com/developerworks/cn/webservices/ws-bpel_spec/index_eng.shtml
[4]岳昆王曉玲周傲英:Web服務核心支撐技術:研究綜述[J].《軟件學報》,2004,15(3):438-440