服務計算,也稱為面向服務的計算,可以定義為尋求開發計算抽象、體系結構、技術和工具以廣泛支持服務。服務導向將物理、硬件和軟件資產轉變為一種范式,在這種范式中,用戶和資產建立按需交互、綁定資源和運營,提供一種抽象層,將重點從基礎設施和運營轉移到服務。
但是,服務計算還沒有充分發揮其潛力。技術進步為服務計算提供了越來越多的機會。為了避免過去的問題,這里首先評估了服務計算的當前狀態,然后制定了一個利用新興概念和技術來交付服務范式的全部潛力的策略。它確定了現實世界中服務計算中發展和潛在實現的主要障礙,并提出了研究方向,使服務計算領域能夠重新定義自己,成為數字化進程中的強大引擎之一。
1.服務計算的演進
在過去的幾十年里,計算技術在為越來越多的領域提供自動化解決方案方面取得了巨大的進步。在計算的早期,面臨的挑戰是以機器可讀的格式表示信息,這種格式由比特和字節組成,稱為數據。隨著時間的推移,人們熱衷于用意義補充數據,從而將其轉化為信息。隨著計算機技術的進一步發展,出現了在信息中增加推理的想法,從而產生了知識。因此,服務的抽象定義被用來滿足行動和交付知識的需要,即為知識提供有用的方法。因此,服務事實上目前被認為是計算價值鏈中的最高層次。
在今天的社會和經濟環境中,服務無處不在。這類服務包括醫療保健、財務管理、人力資源和旅游規劃等等。服務與其他計算范式的區別在于它們在競爭環境中工作的能力,在競爭環境中區分相似服務的關鍵參數是它們的質量。知識的本身是不夠的,但需要采取行動才能帶來好處。在服務的應用中,使用服務質量(QoS)作為關鍵判別因素的能力,可以在提供關于“操作”在服務之間進行選擇。
隨著各經濟體系的重大結構性轉變,數據策略和創新必須為產業提供工具,以創造競爭優勢,并為其服務增加價值。在線服務的進展正把互聯網轉變為一個全球工作場所、一個社交論壇、一個管理個人事務和促進協作的方法,以及一個提供服務的商業平臺。此外,組織競相為其在線服務提供接口,允許第三方開發者編寫輔助程序,為原有服務增加新用途,豐富其功能和可訪問性,并增強其靈活性。
Web 服務技術的開發在某種程度上獨立于服務的概念。在過去,它們一直處于各種研究的中心。在企業市場中,現成的軟件或硬件產品的銷售正迅速被定制的Web 服務所取代,這些服務旨在解決個人問題。服務計算具有更廣闊的視野,已成為一個跨學科的研究領域,研究 IT 服務行業普及背后的科學和技術。服務計算的最終目標是彌合 IT 和業務之間的差距,使 IT 服務能夠更有效地運行業務服務。到目前為止,Web 服務一直是交付服務計算的關鍵技術。
服務計算旨在支持服務的創建和交付,服務包括分布在 Web 上的計算設備和軟件組件,并由不同的組織提供(通常也是控制)。為了達到這個目標,標準化組織,例如W3C和OASIS ,已經領導了實施服務系統的規范化和標準化工作。在學術界,服務計算引起了廣泛的關注。
盡管如此,服務計算的最新技術在很大程度上仍然停留在研究領域,其廣泛應用的潛力在很大程度上尚未得到實現。一個關鍵的障礙是由無數常常相互競爭的 Web 服務標準造成的混亂,這些標準試圖標準化服務生命周期的每一個方面。此外,現有的 Web 服務標準和技術沒有為關鍵新興領域的計算需求提供足夠的支持,這些領域包括移動計算、云計算、大數據和社會計算,目前正在影響著全球商業的格局。這兩個障礙(即 Web 服務標準的混亂和缺乏對新興計算巨大挑戰的支持)阻礙了更廣泛和更快速的服務計算的采用。
重新審視服務范式與交付技術的疊加,盡管 Web 服務可能仍然與開發各種應用程序相關,但需要關注它們的底層服務需求。特別是,發展一種新的服務范式,其中包括可國際數據中心確定的四種技術,同時引進新技術,而不是強調擴大現有的網絡服務標準和技術。
服務計算的一個目標是利用服務范式的功能和非功能組件的力量和簡單性來構建模塊化的軟件應用程序,并為選擇和組合服務提供更高層次的抽象,從而將它們提升到一級對象狀態。面向服務的體系結構是一個獨立于技術的框架,用于定義、注冊和調用服務。然而,服務計算比面向服務的體系結構更廣泛,包括業務流程建模、管理和分析的上層應用,以及服務數據管理和分析的底層應用。云計算作為一種新的服務交付模式的出現,激勵了研究人員和從業人員探索在云中使用服務計算。已經有大量的研究致力于如何利用服務計算概念來促進云應用程序的開發。服務計算可以從移動計算、云計算、大數據和社會計算的出現中受益,并為新的方向做出貢獻。
自從服務計算的概念出現以來,已經發表了許多觀點和調研文章。本文的努力與以前的嘗試有兩個不同,首先,將服務計算與實現面向服務系統的技術分離開來,以充分利用服務計算的承諾和期望。其次,強調了服務計算對新興計算趨勢的貢獻和作用。
2 服務計算研究面臨的挑戰
目前的服務計算研究主要集中在七個問題領域: 體系結構、規范語言、協議、框架、生命周期、服務質量,以及跨越自治企業邊界建立信任和聲譽。這些問題在新興服務領域中表現得尤為明顯。
服務計算中一個經常被忽視的戰略挑戰是分析為什么服務計算在現實世界中沒有充分發揮其潛力,以及需要做些什么來改變這一點。阻礙服務計算轉化為有效解決方案的一個障礙是,缺乏將復雜數據處理問題轉化為常規服務的簡單方法,以及通過以數據為中心的架構解決復雜服務交互的簡單方法。一個重大的挑戰是使在不同平臺上工作的多個組織能夠進行無縫合作,以滿足消費者的需求。
服務計算與其他計算范式的區別在于它們在競爭環境中工作的能力,在競爭環境中區分相似服務的關鍵參數是它們的質量。自動化組織間服務組合的障礙包括組織層面的能力、信任、問責制、功能性和非功能性目標(包括安全和隱私)以及技術層面的交互協議和表示方面的差異。
服務計算中的四個新興研究挑戰是服務設計、服務組合、基于眾包的聲譽和物聯網。首先,服務設計是服務計算中一個基本但尚未解決的研究問題。其次,在大規模 Web 和云服務系統、大數據和社交網絡環境中服務組合存在著挑戰。再次,眾包是物聯網部署的一種經濟有效的方式,作為聲譽計算的一個關鍵機制。最后,服務計算如何幫助實現物聯網愿景和挑戰。
2.1 服務設計中的挑戰
服務設計是關于映射對服務的性質及其關系的正式理解。這是建立健全服務體系的重要前提。迄今為止,服務系統的建立缺乏足夠嚴格的基礎,無法對其進行推理。首選的方法是依賴于傳統的軟件工程方法,這些方法通常不考慮服務系統內在地將自治部分組合在一起這一事實。Web 技術潛在地為開發完善的服務系統提供了一個獨特和統一的平臺。然而,目前還沒有一個全面的理論框架來定義和分析 Web 上的復雜服務系統。
2.2 服務混合調用的挑戰
由于大數據的廣泛成功,將大量的服務組合成一個連貫的系統是一個新興的研究領域。2008年,一項調查發現互聯網上有5077個 WSDL 描述的 Web 服務。2016年,在一個公共網站上注冊的 Web 服務大約有15000個。此外,很大一部分現代 Web 服務是非 WSDL 描述的,例如那些基于云的 Web 服務。目前流行的云計算激發了基于云服務的快速增長,2013年的一項調查發現已經有了6686項云服務。在智能手機時代,數以百萬計的應用程序可以從基于云的應用程序商店下載。截至2015年7月,Android 應用程序和蘋果應用程序分別有160萬和150萬個。準確有效地從這些大規模存儲庫中搜索服務正在成為一個關鍵的挑戰。
因為大數據可以被多個服務同時訪問,大多數假設靜態數據環境的現有服務選擇、組合和推薦方法是不夠的。應該探索處理一致性的組合技術。在物聯網的背景下,智能城市可以被視為一個典型的大規模服務組合的例子,其中數百萬不同且異構的數字設備和服務被動態地集成,以提供多種實時功能或用戶定制的功能。從如此眾多和不斷變化的設備和服務中選擇和組合服務,以實時和了解上下文的方式滿足用戶需求,是一項艱巨的任務。
在 Facebook 和 Twitter 等大型社交網絡中,數十億用戶注冊,大多數用戶平均擁有數百個朋友或追隨者(2010年 Facebook平均每個用戶擁有338個朋友,2013年 Twitte平均每個用戶擁有208個追隨者) ,由此產生的大數據既復雜又龐大。基于社會關系的服務組合構成了根本性的嚴峻挑戰。
2.3 基于眾包聲譽面臨的挑戰
信任在服務生態系統的功能中起著重要作用。然而,當提供類似功能的服務相互競爭時,很難建立信任。在社交網絡中,聲譽是根據消費者過去的行為來預測可信度的一種有效方法。在一個開放且常常是匿名的環境中,通常很難確定聲譽。因此,聲譽和眾包是獲得信任的重要途徑。
計算一個社區中服務實體的聲譽是通過收集該社區中所有個人用戶對該實體的意見來實現的。通過社區內的合作,眾包為數據收集提供了一個有效的手段。然而,在計算基于眾包的聲譽方面仍然存在著一些挑戰。
2.3.1 眾包的質量
眾包與傳統的用戶反饋收集之間的主要區別在于,眾包更有可能利用經濟獎勵和其他激勵措施來激勵參與。然而,目前還不清楚這些因素如何影響眾包的質量。此外,用戶的意見通常是模棱兩可的,依賴于上下文,并基于個人偏好。歧義指的是用戶表達的東西,而不是他們真正的想法。用戶的意見也可能受到時間、地點和社會因素(例如,用戶之間或用戶與服務提供者之間的社會關系)的影響。一些用戶可能對某些服務產品有特別的偏好。鑒于眾包聲譽受到幾個相關因素的影響,因此很有必要預測眾包聲譽的結果。
2.3.2 測試平臺
迄今為止,還沒有標準化的測試平臺來比較信任和聲譽模型。人們需要設計適當的評估指標來比較服務的信任和聲譽模型。
2.4 物聯網的挑戰
物聯網是一個新興的且有前途的領域,它提出把每一個有形的實體變成互聯網上的一個節點。更具體地說,有形實體(“物”)是任何與互聯網相連的傳感器、照相機、顯示器、智能手機或其他智能通信設備。物聯網帶來了兩個根本性的挑戰: 與物的溝通,以及對物的管理。通過向物聯網提供通信和互操作性手段(如 REST 和服務組合模型) ,服務技術可以幫助解決這些挑戰。一個挑戰是資源受限,傳統標準過于重量級,不適用于物聯網。此外,由于架構上的差異,現有的服務組合模型不能直接用于物聯網互操作。與單一類型的 Web 服務組件模型相比,物聯網組件模型是異構和多層的(比如設備、數據、服務和組織)。物聯網組合需要創新的模式。物聯網的功能規范是一個關鍵的挑戰。通過多樣化的、移動的和情景感知的設備,數據和服務可以同時產生多樣化的情景感知功能。因此,在物聯網中,所需的組件功能比傳統設置更加動態化,這在組合過程中帶來了顯著的復雜性。
簡而言之,物聯網涉及到整合可能數十億的東西,并利用它們的數據和功能來提供有利于企業、行業和社會的新穎智能服務。與服務計算相關的基本物聯網挑戰有:
1) 持續維護物聯網設備的網絡個性和環境。特別地,物聯網需要具有反映其物理空間的 Web 標識和 Web 表示(例如,Web 代理)。它們還需要在社會、環境、以用戶為中心和應用程序環境中進行連接和溝通,并且這些環境需要得到維護和管理。
2)不斷發現、整合和(重新)使用物聯網的東西及其數據。具體來說,物聯網環境是一個聯邦環境,在這個環境中,事物及其數據、云服務和 IT 服務(例如,用于數據分析和可視化)通常由具有不同接口的獨立供應商提供,還有業務、成本和 QoS 模型。為了提供新的互聯網規模服務,物聯網必須(重新)使用由他人部署的物聯網內容和由他人為自己的目的收集的數據。
3 服務計算的方向
根據前面提到的主要挑戰,我們現在提出一個服務計算的研究路線圖。路線圖集中在四個新興的研究領域,即服務設計、服務組合、基于眾包的聲譽和物聯網。
3.1 服務設計
數據庫、軟件工程和分布式系統的研究為服務設計奠定了基礎。服務系統的設計應該建立在一個正式的服務模型基礎上,該模型能夠有效地訪問具有不同功能的大型服務空間。服務模型可以支持服務訪問,就像關系模型支持結構化數據訪問一樣。由于通常需要服務組合來滿足復雜的用戶請求,因此服務模型支持不同服務及其操作之間的依賴關系非常重要。與關系模型類似,服務模型應該支持服務查詢代數和演算的設計,允許普通用戶以高效透明的方式聲明性查詢多個服務。此外,服務查詢優化應該不僅僅是生成有效的查詢執行計劃。由于大量的服務提供商可能會競相提供類似的功能,服務模型的設計應該支持實現優化策略,以便根據預期用戶提供的質量找到“最佳”服務。
服務模型通過定義一組代數運算符提供了將服務作為一級對象進行操作的標準方法。其中包括從服務中選擇特定的操作,以及基于質量的服務選擇和跨多個服務的混搭操作符,以形成組合服務。這些操作符的實現可以生成服務執行計劃,用戶可以直接使用這些計劃來訪問服務。鑒于功能和質量的依賴,服務模型比關系數據模型更復雜。
特別是,服務的三個關鍵特性是至關重要的: 功能、行為和質量。功能性由服務提供的操作指定; 行為反映服務操作如何被調用,并由服務操作之間的依賴約束決定; 質量決定服務的非功能屬性。可行的服務查詢語言應該允許用戶定位和調用他們所需的功能,選擇滿足其質量要求的最佳服務提供者,并在需要多個服務的功能時生成服務混搭。
設計服務混搭的一個重要方法是不從一個角度來設計,而是從兩個或多個自治方之間的交互表示來設計。協議是交互的規范,刻意忽略服務的實現,但描述為交互,協議促進了異構和自治服務之間的互操作性。協議采用新方法來適應數據表示,但需要進一步的研究來彌合交互和數據之間的差距。一個重要的方向是將社會技術交互正式化,作為自治服務治理的基礎。
3.2 服務混搭
大規模 Web 和云服務結合的服務計算
大規模 Web 和云服務的結合擴展到了非 WSDL 描述的服務或純文本描述的服務。例如, programmableweb.com 提供了超過10,000個 API 服務和超過6,000個服務混搭,其中絕大多數以純文本形式描述。網絡信息抽取、自然語言處理、數據和文本挖掘、各種分類和信息檢索技術可以用來提取有用的語義、分組相關服務和檢測新的組合模式。盡管如此,由有限的術語加上服務提供商使用的不同命名慣例組成的服務說明提出了新的挑戰,需要技術創新來推進服務計算和所有相關領域的最新技術。此外,軟件系統可能需要在其生命周期中不斷發展,并能夠處理其運行環境中的變化和其工作流日益增加的復雜性。自適應軟件對其行為進行評估,并根據評估結果進行調整,以解決問題,提高性能。
云計算環境為部署服務提供了一個有吸引力的選擇,因為它提供了潛在的可伸縮性和可訪問性。然而,它引入了與以下方面有關的問題:
- 維護性資源不在服務提供者的顯式控制之下。
- 云安全可能不在服務提供商的企業邊界內。
- 服務水平協議(SLA)資源分配是云提供商的責任。例如,服務可能不可用,這不僅是由于服務提供者的更新,而且還由于云提供者的更新。這些問題必須在服務轉移到云中以及云中的容器時得到解決。
大數據驅動的服務計算
新的服務選擇和推薦技術是利用大數據研究成果的關鍵方法。當前大數據研究的一個重要課題是在線處理數據的算法和模型的開發。在線服務混搭可能為實現可擴展和自適應的組合解決方案以處理大規模、高度動態和多樣化的大數據服務提供了一個有前途的方向。另一個重要的因素是人類如何解釋服務計算和大數據框架的結果。因此,將大數據分析框架與它們所服務的人類的性質聯系起來將變得越來越重要。
大規模社交網絡中的服務選擇、推薦和混合調用應該結合社交網絡和復雜網絡分析方法,以及可信計算技術。一個方向是將記錄服務用戶與服務數據之間的交互的社交網絡數據結合起來,以檢測服務之間的隱藏關系并生成潛在的服務。特別地,通過社交媒體服務展示的用戶活動,如發布歷史、問題和服務反饋,可以帶來新穎的洞察力,以更好地理解和利用傳統和新興服務。例如,可以從社交媒體或電子商務平臺記錄的事件日志中檢測到用戶行為模式,并用于發現業務流程挖掘的潛在知識。此外,新興服務可能會帶來超越傳統服務的QoS 特性,比如可靠性、可用性和響應時間。可以通過捕捉用戶個人判斷的社交媒體服務提取出反映用戶選擇和服務興趣的領域質量特征。
3.3 基于眾包的聲譽眾包的質量
貨幣或其他興趣因素會影響眾包選擇服務的數據質量,調查這些利益因素可以得到對眾包的可靠性和眾包貢獻者的范圍的影響。研究影響眾包數據質量的三個因素未模糊性,語境依賴性和個人偏好。對于模糊性問題,應該集中在如何設計信任評估問題和度量指標以及人機交互,通過與認知科學和人機交互研究的合作,精確捕捉用戶與信任相關的感知。語境依賴性與個體偏好的區別在于前者更多地依賴于客觀因素,如時間、地點和社會關系,而后者更多地依賴于主觀因素,如個人經驗。這兩種因素,可能會同時影響對方。研究應著眼于如何建立這兩組因素之間的相互關系模型,以及如何將它們結合起來,以預測它們對眾包數據質量的影響。
眾包貢獻者的可信度
人員(即用戶或其他服務)的可信度決定了其他服務消費者可能相信其報告的關于其所調用的服務評級,這可以區分服務信任和反饋信任。例如,作為服務提供者不值得信任的服務可能作為判斷其他服務提供者行為的依據而值得信任,反之亦然,還應探討選擇具有不同成本和可信賴程度的眾包用戶的折衷戰略。選擇最合適的眾包貢獻者或眾包工作者將需要互動和組合來自貢獻者、服務提供者和第三方來源的服務,如工作列表和社交媒體。
3.4 物聯網
在傳統的服務計算中,重點是找到有效的組件服務。在新興物聯網架構中,需要找到組件服務、云平臺服務支持的數據服務和設備的有效組合。組件服務是物聯網不可或缺的一部分,因為它們需要在任何地方管理設備 Web 表示、上下文和相關數據處理服務,而不需要依賴計算中心。
作為對當前服務發現和集成工作的補充,物聯網研究的一個重要而新穎的方向在于設備發現和集成領域。語義傳感器網絡(SSN)和 OpenIoT的現有成果為物聯網設備發現和集成提供了一個設備層架構和相關功能。SSN 定義了一個本體,用于描述物聯網事物,并從它們產生的數據的屬性中找到設備。盡管如此,由于物聯網的功能和訪問方法各不相同,單一的統一本體不可能覆蓋高度異構的物聯網空間。信息檢索和文本挖掘技術可以用來提高設備發現的準確性。
通過發現事物之間的相互關系,可以極大地促進物聯網事物的整合。然而,物聯網事物之間的相關性通常很難發現。不像人類社交網絡,人之間有著良好的聯系,事物之間的顯性聯系通常是有限的。一個方向是多跳連接,它利用人與事物之間的交互來關聯物聯網事物。
基于知識圖譜的方法和機器學習技術可以幫助發現物聯網事物之間隱藏的關系,從而建議有趣而新穎的集成模式。
4.小結
服務計算支持著移動計算、云計算、大數據、社會計算等新興計算領域的進步,其潛力遠遠大于迄今為止所取得的成就。將服務計算帶到創新的新高度,即要使服務計算范式獲得成功,就需要將其與當今的技術分離開來。那些挑戰是困難的,但回報是巨大的,服務計算沒有理由不為計算機科學和社會帶來巨大的利益。