劉太甫
(黃岡職業(yè)技術學院電子信息學院,湖北黃岡438002)
隨著互聯網信息技術和高性能計算的發(fā)展,在產業(yè)界、學術界、IT界等各個領域產生的數據量,以前所未有的速度不斷增長,海量數據的出現為人們提出新的挑戰(zhàn)。為了有效滿足面向互聯網的復雜應用及對大規(guī)模計算能力、海量數據處理和信息服務的需求,必須有效地整合分散的計算資源。在這種情況下,“云計算”概念被提出來。
云計算是一種通過網絡對IT基礎設施的交付和使用模式,一種新型服務的計算模式,是用一種共享基礎架構的方法,能夠向各種互聯網應用提供硬件服務、基礎架構服務、平臺服務、軟件服務、存儲服務的系統。它的核心是提供計算資源、數據存儲和網絡服務。
面向服務的體系結構(Service-Oriented Architecture,SOA)是指在Internet環(huán)境下為了解決業(yè)務集成的需要,通過連接完成特定任務的獨立功能實體實現的一種軟件體系結構[1]。它能實現服務的高可重用性、靈活性。云計算是一種能夠動態(tài)提供虛擬化可擴展資源的計算模式,這些資源作為服務通過互聯網向外發(fā)布。所以,云計算實際上是使用互聯網資源的SOA,結合兩者的優(yōu)勢。而為人們提供網絡資源共享的便利。
云計算借助易于擴展、維護升級便捷等特性已經不斷被應用到互聯網中,筆者通過介紹云計算與SOA的特征,使基于云上的SOA架構隨著互聯網的發(fā)展而不斷應用到其中。
云計算是把存儲于個人電腦、服務器和其他設備的大量存儲器容量和處理器資源集中在一起,統一管理并協同工作。它的原理是將計算或欲存儲的數據分配到云環(huán)境中的各個節(jié)點,然后按需提供存儲空間和信息服務。云計算通過網絡訪問、按需服務、資源共享、低成本等優(yōu)勢,表現出具有大規(guī)模、虛擬化、用戶透明性、水平垂直可擴展性[2]、可靠安全性等特征。
云計算是一種部署架構,它的基本應用框架分為基礎設施層、應用層、服務提供層(如圖1)。處在最低層的是基礎設施層,該層主要包括支撐云計算的軟硬件資源,通過將軟硬件資源有機的結合起來,能夠有效地滿足用戶的需求。倒數第二層是應用層,這一層是云計算服務的核心層,它能夠為應用開發(fā)人員提供建立應用時所需的基于云的服務,即云平臺服務。開發(fā)人員就是云平臺的直接用戶,通過云平臺可以將請求傳遞給應用,然后使得應用可以運行。最上面一層為服務提供層,用戶的所有服務基本都是通過這一層與云計算服務提供方進行交互,并得到云計算的服務結果。這一層主要是和用戶應用接口相關的軟件,是云計算服務推向市場過程中最應該重視的層面,因為軟件的界面是否友好、功能是否全面,將直接影響著用戶使用云計算的基本框架。
圖1 云計算的基本應用框架
SOA是一個組件模型,是設計企業(yè)IT的架構方法,由一系列相互交互的服務組成,能夠將不同類別、不同平臺的服務結合在一起,動態(tài)地、實時地更新維護一個跨區(qū)域的多功能的應用實體。
SOA架構的系統具有以業(yè)務為中心、隨需應變和統一標準的特點。其中,企業(yè)服務總線(ESB)是SOA基礎架構的關鍵組件。SOA可以隨需應變地適應業(yè)務的內容變化和發(fā)展。如圖2所示,SOA通過標準化的機制,將這些服務注冊于公共數據庫之中,易被服務使用方發(fā)現,實現服務使用方和服務提供方之間的動態(tài)綁定和直接交互,從而完成企業(yè)應用中的一定邏輯功能[3]。從云計算模式角度分析,圖2中的服務代理方和服務提供方都部署在云端,以云計算的形式為服務使用方提供服務。服務使用方既不關心也無需知道這些服務屏蔽的具體細節(jié),只需關心需要什么服務即可。
圖2 SOA體系結構圖
云計算是按照使用者的需求提供軟件應用服務的業(yè)務模式,SOA可發(fā)揮其在系統和接口標準化等方面的優(yōu)勢,為云計算提供一個較好的技術平臺。SOA在云計算的服務提供層而進行資源整合,云計算補充了底層硬件層面資源虛擬化和整合,兩者的理念是相似的。
由于云內的應用需要標準化和規(guī)范化,它們需要一套完整的架構將其整合在一起形成一個完整的服務或服務流程,同時SOA也實現了對已有服務粒度的重定義,這在技術上使得云內的應用演變成了標準的云服務,并通過統一的服務治理策略來進行統一管理和維護。因此,云計算在其發(fā)展過程中與SOA必然會產生交集。
從上述對云計算和SOA的分析可以看出,云計算是一個面向服務的基礎設施,它采用了SOA的架構原則并且把這個原則應用到了一個基礎設施。SOA作為一個成熟的體系結構,能夠為云計算引入成熟的工作流程。云計算利用SOA可以將基礎設施作為一組服務提供給用戶。SOA可以指導云計算更加有效地提供服務。云計算涉及的服務概念是SOA中服務的延伸。為此,SOA與云計算需要彼此融合,相互補充,促進彼此發(fā)展和能力完善,從而形成一種有競爭力的框架模型。不僅可以很好地契合企業(yè)信息化建設永無止境、不斷創(chuàng)新的特點,同時也可兼顧企業(yè)應用的高穩(wěn)定、高復用、易擴展、易維護、低成本策略,實現企業(yè)資源的共享與重用,滿足企業(yè)快速發(fā)展的需要。
掌握SOA和云計算的各自適用范圍、相互融合關系,理解SOA對云計算技術和應用需求的支撐,能更好地引導和規(guī)范SOA和云計算技術在實際應用中的實施。因此,筆者借鑒SOA與云計算的特點及相互融合過程,提出了面向服務架構的云計算框架模型如圖3所示。
圖3 面向服務架構的云計算框架模型
該云計算框架模型分為用戶層、代理層、平臺層,其中平臺層中包括基礎設施層與應用層。用戶完成一次的訪問過程是先訪問用戶層的業(yè)務系統,然后通過代理層將信息資源匹配到能滿足用戶條件的服務,建立用戶層與平臺層之間的映射關系,并提供相應的接口。下面對各層進行定義描述。
(1)平臺層。平臺層包括了云計算系統中的基礎設施層與應用層。該層通過虛擬化技術將軟硬件資源共享至虛擬資源池。由于單一的或復合的云資源可以組成云資源單元來提高資源的可管理性和穩(wěn)定性,這些云單元被封裝成標準的云服務,服務之間是對等的。云服務主要實現單個服務的共享,為服務構造層的云計算服務提供注冊功能。最后通過SOA的企業(yè)總線(ESB)對云服務進行統一管理、分類、組合而成的具有相同功能的云計算服務集合,即虛擬服務。云計算和虛擬服務的分離實現了服務的虛擬化,有利于進一步資源共享。
(2)代理層。該層主要是面向多種服務的共享,通過虛擬服務信息匯聚到代理層,用戶可以根據這些信息進行資源發(fā)現和高度。另外,該層提供消息、用戶管理、系統的進行監(jiān)控等輔助功能。
(3)用戶層。用戶層是面向最終用戶的系統視圖,它主要包括任務管理功能、服務調度功能。任務管理是以項目管理的方式管理用戶的應用任務,通過服務調度功能的信息資源發(fā)現,選擇匹配的信息。
依據圖3,SOA解決業(yè)務需求到技術實現的分離,使業(yè)務系統靈活應對業(yè)務需求的變化。而云計算更多解決技術實現到平臺層的基礎設施單元的分享,使軟硬件環(huán)境靈活響應業(yè)務系統。通過SOA的ESB總線可以實現面向服務架構的云計算框架模型中各層之間的總線式集成,其次,對于該模型中平臺層,它既是一個在線開發(fā)環(huán)境,也是一個在線執(zhí)行環(huán)境,而不管是對于開發(fā)和執(zhí)行,在用戶層中的數據服務、業(yè)務服務、流程服務、展現服務等都可以作為平臺層在線開發(fā)時的能力單元。而這些能力單元在線進行服務編排和組裝時又可以借助SOA本身已有的流程引擎和規(guī)則引擎來完成。只是SOA中間件本身的很多能力都云化了,而不再是為單個應用提供服務。另一方面,SOA平臺也需要基礎設施支撐,這些基礎設施可以直接使用云計算平臺基礎設施層的計算能力單元和存儲能力單元,這些單元也可以服務的方式接入到ESB總線上。
由于企業(yè)中絕大部分用戶僅使用業(yè)務服務系統而不直接使用平臺層的基礎設施支撐環(huán)境,其云平臺的服務單元功能適度且隱蔽了各自功能的具體細節(jié),僅面向接口實現與調用,并與代理層在云端完成。因此可以提高開發(fā)人員的生產效率,實現靈活配置、少量的開發(fā)和大量的利用,敏捷定制各種企業(yè)應用,從而滿足企業(yè)快速發(fā)展的需要。
為了證明面向服務架構的云計算框架模型的切實可行性,筆者利用多臺計算機,借助云計算進行實驗。首先將每臺計算機分別提供不同的服務,然后選需任意一個用戶訪問到本機不存在的多種服務,同時云計算服務器在對外提供服務時,還可充分利用網絡中的每臺計算機的可用資源,為單一的用戶提供云計算環(huán)境,并能完成同樣的復雜任務。從而證明此模型是可行的,而且可以優(yōu)化企業(yè)現有資源,提高服務效率,降低工作成本。
云計算作為一種新型服務計算模式,在向外推出服務方面是對面向服務的體系結構的繼承與發(fā)展。目前,關于云計算的體系結構還沒有統一標準,各界都在積極以求制定一個合理、標準的云計算體系結構。筆者提出面向服務架構的云計算框架模型,分析用戶與云計算服務交互過程,并經實踐證明,該模型是可行、簡單、實用,各層的特征及功能也較為完善,能有效地實現資源的優(yōu)化調度。面向服務架構的云計算框架模型將會是未來一段時間企業(yè)信息化建設的一種發(fā)展趨勢,并對整體理解和研究云計算具有一定的意義。
[1]柴曉路,梁宇奇.Web Services技術、架構和應用[J].北京:電子工業(yè)出版社,2003.
[2]王龍,萬振凱.基于服務架構的云計算研究及其實現[J].計算機與數字工程,2009(07):89.
[3]張明寶,夏安邦.基于面向服務體系架構的敏捷虛擬企業(yè)信息系統框架[J].計算機集成制造系統,2004,10(08):986.