摘要:面向服務的軟件工程面臨新的挑戰(zhàn)。促進互聯網環(huán)境中松耦合式服務資源之間的互操作性行為協作,是實現服務資源深度共享與按需服務的關鍵。文章對服務虛擬化的關鍵技術:可用資源的服務互操作性封裝方法、虛擬化服務組織的互操作性聚合的基于本體的RGPS元建模方法、虛擬化服務管理的互操作性元模型框架及其注冊與存儲管理、虛擬化服務本體及其與RGPS關聯呈現等進行了研究。對研究的互操作性元模型框架(MFI)及ISO系列標準工作新進展進行了介紹。
[關鍵詞]互操作性元模型框架;按需服務;服務聚合
Abstract:Service-oriented software engineering (SOSE) faces new challenges; in particular, how to promote interoperability and cooperation among loose coupling service resources. This is critical for service resource sharing and for implementing on-demand Internet services. This paper discusses key technologies of service virtualization—including the interoperable package approach of available resources; interoperable aggregation and ontology-based element modeling RGPS in virtualization services; the framework, storage management, and registration of the interoperable element model; virtualization service ontology; and the appearance associate with RGPS (role, goal, process and service). Recent progress of the Metamodel Framework for Interoperability (MFI) and ISO series standards are also discussed.
Key words: metamodel framework for interoperability; service on demand; service aggregation
軟件的架構、發(fā)布與使用方式正在發(fā)生顛覆性的變化,軟件與服務相關技術的相互融合的速度增長迅猛,而理論方法的創(chuàng)新進程卻明顯滯后。
盡管利用信息技術提升當今現代服務產業(yè)已成為社會發(fā)展的主要推動力之一,可是在以信息技術為基礎的計算機和信息管理等學科領域,軟件、硬件和組織系統(tǒng)仍是傳統(tǒng)的基礎知識體系,沒有正式的學科體系來填補信息技術領域的一個巨大空白——服務[1]。
以用戶為中心,面向按需服務的目標,促進了面向服務的軟件工程(SOSE)新時代的到來[2]。從產業(yè)發(fā)展的角度來看,越來越多的信息技術公司正致力于從硬件產品為核心向計算機軟件與服務為中心的業(yè)務模式的轉型。例如,云計算已成為一個為服務提供者與消費者從事服務交付與使用的可擴展平臺與營運模式。云計算的目標是在云價值鏈上讓云的消費者、合作伙伴與服務提供者進行資源共享服務。無論說是軟件即服務(SaaS)、平臺即服務(PaaS),還是基礎設施即服務(IaaS),云計算實際上是一種服務!作為云計算的技術基礎,也迫切需要SOSE理論與方法的創(chuàng)新。
2010年1月中國計算機學會成立了服務計算專委會,標志著中國在服務計算研發(fā)和教育方面已經取得了一定的發(fā)展成就,其中特別是在服務組合及其優(yōu)化方面的軟件方法上成果突出。但是,軟件工程角度的系統(tǒng)性研究還有待于深入探討和創(chuàng)新。本文結合我們開展的國家“973”計劃項目以及自然科學基金等項目的研究工作,從SOSE中SaaS模型的角度,介紹我們的學術觀點及研究的主要進展。
1 服務的松耦合式互操作
互聯網計算中自主分布異構的服務之間通過網絡呈現松耦合。文獻[3]給出了SaaS模型中服務的松耦合與傳統(tǒng)面向對象(OO)軟件設計中以消息傳遞為代表的緊耦合的區(qū)別。本地或桌面OO軟件之間呈現預先設計的緊耦合。松耦合只能動態(tài)延遲綁定、異地異步運行,緊耦合實現級連接、固定綁定、集成運行;松耦合追求行為的動態(tài)獲取與協作,緊耦合追求無縫連接。因此,松耦合服務計算軟件的功能結構動態(tài)變化、沒有確定的邊界;緊耦合的OO軟件具有確定邊界、結構和功能。
文獻[4]認為,所謂語義互操作性能力,一般來說,是指兩個服務單元或者系統(tǒng)間交換具有精確含意數據的能力,并且接收方能夠準確地翻譯或轉換數據所攜帶的信息、信息所攜帶的知識,即信息、知識能夠被理解,最終產生有效的行為協作結果,而且結果的有效性確認是由互操作雙方來協定的。進一步將語義互操作性能力劃分為3個層次:
(1)含意互操作性。亦稱深度語義互操作或者完全語義互操作,即雙方完全理解協定的語義。
(2)部分語義互操作性。服務實體之間,僅僅能夠理解相互協定的部分語義。
(3)無語義互操作性。當服務實體之間的部分語義互操作性能力低于一定的閾值時,將會出現無語義互操作,其中也包括語法(或結構)互操作。
部分語義互操作是一個相當大的研究空間。我們應該研究部分語義互操作性能力刻畫的理論與方法。松耦合服務之間的語義互操作問題是一個挑戰(zhàn)性研究難題。作為基礎,應該研究公共的互操作性交互框架(如統(tǒng)一的信息描述方式:可擴展標記語言XML)。可是,XML提供的僅僅是語法交互框架。ISO/IEC 19763標準給出了語義支持的互操作性元模型框架(MFI)[5],其核心模型為松耦合式服務之間的語義互操作性管理。
2 服務聚合
面向服務的軟件提供了一種以“只為滿意的服務付費”為核心理念的商業(yè)模式。在這種模式下,人人都是用戶、人人都是開發(fā)者。對各類用戶而言是“按需使用,計量付費,不求所有,只求所用”;對服務提供者而言,所提供的服務必須質量更精、粒度更細、方式更靈活,以適應多元化和個性化的用戶需求。為實現以用戶為中心、滿足涉眾服務的高體驗質量(QoE)需求,不僅要提供給用戶一個或幾個離散的服務,而且要提供一組具有語義互操作性聚合能力的服務集作為解決方案。例如,以采購食品材料滿足自炊服務為例。如果我們不僅僅是采購到一些食品(如面條、肉魚、蔬菜、輔料等)材料及其使用說明(服務),而且商店還提供給用戶包括個性化偏好(辣、甜味道等)服務目標、指導用戶自炊的流程及其中應使用的食品材料等服務方案,用戶就能夠在最短時間內、得到高質量的自炊服務體驗。因此,按需服務需要服務聚合。
對于服務聚合,軟件理論上需要研究需求主導的服務的部分語義互操作性聚類。本文提出一種涉眾服務需求的角色(Role)、目標(Goal)、業(yè)務流程(Process)及可用Web服務(Service)的RGPS元模型描述框架及模型[6-7]。元模型基于本體元建模理論與方法,采用基于本體的RGPS元模型來組織服務的聚合,形成面向領域群體需求的服務資源聚合建模(服務聚合的規(guī)?;ㄖ?理論與方法及其軟件工具套件的開發(fā)。實現了基于領域服務功能本體的部分語義互操作性服務聚合及其可調可控的設計技術。服務虛擬化的軟件技術層次化體系如圖1所示。服務聚合的一個形象描述是“葡萄串”,其中葡萄串的蒂相當于描述用戶社會角色和服務目標;徑路描述相當于過程/可操作過程(如供應鏈、工作流等等)。當然實際上不僅僅是樹結構,還應包括并行、循環(huán)等復雜控制結構。葡萄描述相當于“即服務或原子服務”,本體標注RGPS間的語義關聯。一個領域往往有多種服務功能,對應多個服務聚合的葡萄串。
3 服務虛擬化
1959年Christopher Strachey等提出了計算機硬件的虛擬化技術,其核心是“去緊耦合”。50年來計算機陣列、服務器等硬件的虛擬化技術已經取得了長足的發(fā)展。傳統(tǒng)軟件的虛擬化概念并不陌生,如操作系統(tǒng)(OS)中內存的虛擬化管理技術、作業(yè)的虛擬化調度等,在計算機科學與工程的發(fā)展中,起到了重要的作用。
服務虛擬化的軟件理論與方法研究是SOSE中的一個核心問題,是實現服務資源高可動員性、深度共享、按需服務的關鍵。其核心問題是辯證統(tǒng)一“去緊耦合”與“互操作性協作”的矛盾。它能夠實現支撐服務和可用資源之間去緊耦合、需求和服務資源之間去緊耦合、通過網絡松耦合式服務的行為動態(tài)獲取與互操作性協作、互操作性云服務構造,以及支撐面向按需服務體系架構(ODSOA)的軟件服務解決方案。我們主要研究了4個層次的服務虛擬化計算方法及其軟件工具套件:
(1)可用資源的服務互操作性封裝方法。
(2)虛擬化服務組織中互操作性聚合基于本體的RGPS元建模方法。
(3)虛擬化服務管理的互操作性元模型框架及其注冊與存儲管理(RR)元建模。
(4)虛擬化服務本體及其與RGPS關聯的呈現,涉眾需求的服務本體生成方法及其和服務本體的本體對齊技術研究。
4 互操作性元模型框架
互聯、互通、互操作是網絡技術在整個發(fā)展過程中所必須具備的基本特性。各種局域網和廣域網協議讓計算設備互通,傳輸控制協議/網間協議(TCP/IP)實現了網際互聯。在萬維網時代,超文本傳輸協議(HTTP)和超文本鏈接標記語言(HTML)協議實現了終端與Web網站間的互操作,使得任何遵從這些協議的Web瀏覽器都能自由無縫地訪問萬維網;Web服務與面向服務的體系架構(SOA)開啟了服務計算的大門。基于服務的互操作成為新的挑戰(zhàn)。信息資源的互操作性管理的基礎:互操作性元模型框架,如圖2所示。
許多企業(yè)、組織和個人已經采用特定的語法規(guī)范和格式創(chuàng)建了大量的信息資源,并遵循特定的注冊元模型將其存儲在各種注冊庫中,以特定的方式在互聯網上進行發(fā)布,以便用戶查詢和使用。隨著云計算等新型計算模式的出現,網絡資源的發(fā)布方式統(tǒng)一為服務,從IaaS、PaaS到SaaS,網絡環(huán)境中任何可用的信息資源都以服務的形態(tài)存在,以按用付費的方式提供給用戶。因此,需要對這些分布、異構、自治的信息資源進行統(tǒng)一的管理,屏蔽信息資源本身的細節(jié)和物理位置信息。與此同時,大眾用戶需求正逐漸呈現出多樣性和個性化的特征,可能涉及多個領域的知識,這使得滿足大眾用戶需求的服務定制也需要跨領域/組織的資源和服務通過互操作、協作等方式共同完成。但這些企業(yè)和組織提供的數據和服務在語法和語義上的差異阻礙了它們之間有效的信息共享和交換。如何利用開放的標準實現服務之間的互操作顯得十分重要。這種開放的互操作標準不會顛覆現有的標準,而是在保持其獨立性的基礎上,實現部分語義互操作性兼容。
根據IEEE的定義,互操作性指的是“兩個或多個系統(tǒng)或組成部分之間交換信息以及對所已經交換的信息加以使用的能力”?!敖粨Q”意味著信息系統(tǒng)在數據格式、通信協議以及接口描述等方面有約定?!笆褂谩币馕吨换ルp方能夠一致地理解信息的含義。所以,為了實現軟件系統(tǒng)之間的互操作,需要對軟件系統(tǒng)間交換的信息所遵循的語法、語義給予明確的記錄,即注冊。同時,對于交互雙方在語法、語義方面的對應關系也需要準確地說明,即建立語法和語義方面的映射。注冊也是一種虛擬化聚合服務的技術,是SOA架構中的關鍵一環(huán)?;谶@一理念,ISO/IEC JTC1 SC32制訂了MFI系列標準,從模型注冊、本體注冊、模型映射的角度對注冊信息資源的基本管理信息提供參考,能夠在一定程度上促進軟件系統(tǒng)之間的互操作。
2003年受國際標準化組織(ISO)的委托,在我們研制的語義互操作性注冊與存儲管理的本體元建模理論和技術基礎上,主持研制ISO/IEC 19763-3:本體注冊元模型。2008年3月該標準被ISO國際組織公開頒布,并推廣應用,為服務資源的互操作性注冊提供了語義支撐。2008年我們向ISO國際組織提交了新的標準提案[8]。經ISO主權國家的專家評審,2009年被批準立項,隨后委托我們主持4個相應的ISO標準系列(ISO/IEC 19763-5,7,8,9)研究。MFI系列標準可以從以下兩個方面來進行說明:
(1)面向按需服務選擇的互操作性管理的基本模式
MFI-1,2,3,4,6描述了支撐語義互操作性注冊與存儲管理的基本模型,其中包含SCIS核心模型,提供語義支撐的本體注冊元模型、語義映射元模型等。這些標準主要致力于從抽象的元模型層為大量異構信息資源和服務提供統(tǒng)一的注冊標準,并能為它們之間的互操作提供語義和語法層面的支持。
MFI-1是整個MFI標準族的參考模型,用于說明其研究范疇和各部分之間的關系。
MFI-2是核心模型,定義了待注冊模型、元模型和本體之間的關系,是實現模型間映射和軟件系統(tǒng)間互操作的基礎。
MFI-3是本體注冊元模型,為各種語言描述的本體提供了一個公共的注冊機制,能在一定程度上促進本體之間的互操作,并為軟件系統(tǒng)之間基于語義的互操作提供基礎;同時,由于信息資源和服務都在不斷演化以適應不斷變化的用戶需求,MFI-3在后續(xù)研究中還考慮了本體演化對信息系統(tǒng)之間互操作的影響,為注冊本體的演化信息進行了一定程度的擴展。
MFI-4是模型映射元模型,主要用于注冊和管理元模型和模型之間的映射信息,為不同語言定義的元模型/模型之間的轉換提供支持。
MFI-6是注冊規(guī)程,定義了在注冊各類模型的過程中必需要遵從的規(guī)程。
(2)面向按需服務的RGPS注冊元模型標準
以用戶為中心,且計算資源以服務的形式提供要求,不僅需要數據資源的管理,還需要服務資源、用戶需求及其之間關聯信息的管理。這種背景下,需要有一套合理描述用戶需求和服務的方法。我們認為,用戶角色、業(yè)務目標、業(yè)務流程以及服務資源是這種描述的4個要素[9]。
我們在近幾年關于RGPS研究的基礎上,向ISO/IEC JTC1 SC32提交了MFI-5, 7, 8, 9標準提案,獲得ISO組織通過,并立項研制MFI-5流程模型注冊元模型、MFI-7服務注冊元模型、MFI-8角色和目標注冊元模型。這幾項標準為網絡中的業(yè)務流程、服務、目標等不同層次、不同粒度的信息資源提供了一個標準的注冊方法,對其呈現給大眾用戶的表現方式進行了統(tǒng)一。此外,MFI-9提供了一套完整的方法學,詳細闡述了上述標準所提供的注冊信息之間的關系,并說明了如何使用基于上述標準提供的注冊信息、通過多次迭代的模型映射過程幫助用戶完成按需的按需服務選擇和定制。
5 結束語
本文從SOSE角度列舉了關于服務計算的軟件理論與方法研究的若干重要問題,介紹我們的學術觀點及其開展的研究工作新進展。SOSE理論與方法包括多方面研究,但是實現的核心目標是:促進互聯網環(huán)境中松耦合式服務資源之間的互操作性行為協作,實現服務資源深度共享、按需服務。我們將進一步研究服務云的互操作性構造方法和管理與服務的關鍵技術及其標準化,促進中國云計算時代的軟件工程學科和現代服務業(yè)的快速發(fā)展。
6 參考文獻
[1] ZHANG Liangjie, ZHANG Jia, CAI Hong. Services Computing, Core Enabling Technology of the Modern Services Industry [M]. Berlin, Germany: Springer/Beijing, China: Tsinghua University Press, 2007.
[2] 金芝,何克清,王青. 軟件需求工程:部分研究工作進展 [J]. 計算機學會通訊, 2007(11).
[3] HE Keqing, WANG Jian, LIANG Peng. Towards Semantic Interoperability Aggregation in Service Requirements Refinement [J]. Journal of Computer Science and Technology, 2010, 25(3).
[4] 何克清, 何揚帆, 王, 等. 本體元建模理論與方法及其應用 [M]. 北京: 科學出版社, 2008.
[5] 李兵, 黃永峰. 贏在需求:按需服務的網絡化軟件開發(fā) [J]. 計算機學會通訊, 2009(12).
[6] ISO/IEC 19763-3:2007. International Standard: Information Technology-Metamodel Framework for Interoperability (MFI)-3: Metamodel for Ontology Registration [S]. 2007.
[7] WANG Jian, HE Keqing. RGPS: A Unified Requirements Meta-Modeling Frame for Networked Software [C]//Proceedings of the 3rd International Workshop on Advances and Applications of Problem Frames (IWAAPF'08)Co-Located with 30th International Conference on Software Engineering (ICSE’08), May 10-18, 2008, Leipzig, Germany. 2008:29-35.
[8] WANG Jian, HE Keqing, HE Yangfan, et al. RGPS Metamodel Based on Demand Model Selection [C]//Workshop of ISO/IEC SC32 WG2. Wuhan, China.2008.
[9] 何克清, 彭蓉, 劉瑋,等.網絡式軟件 [M]. 北京: 科學出版社, 2008.
收稿日期:2010-05-05
何克清,日本北海道大學工學博士畢業(yè);武漢大學軟件工程國家重點實驗室教授,武漢大學軟件工程研究所所長,湖北軟件評測中心主任,IEEECCF高級會員,SO/IEC中國代表,CCF服務計算專委會副主任;從事面向服務的軟件工程、語義互操作性技術等方向的科研工作;已發(fā)表學術論著70余篇。
李兵,華中科技大學工學博士畢業(yè);武漢大學計算機學院、軟件工程國家重點實驗室教授、博士生導師,中國計算機學會高級會員,中國電子學會高級會員,中國電子學會云計算專委會委員;長期從事網絡化軟件工程、復雜網絡與云計算等方向的科研工作;已發(fā)表學術論著50余篇。