1. 程式人生 > >基於雲端計算的SOA企業架構設計

基於雲端計算的SOA企業架構設計

1 S0A技術理念

面向服務的體系結構(service—oriented architecture,SOA)是一個元件模型,它將應用程式的不同功能單元(服務)通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平臺、作業系統和程式語言,這樣做保證了這樣系統構建中的不同服務可以有一種和大家都適用的辦法進行相互的交換,這裡我就可以看到整個的SOA的實現的最終核心就是服務,最基本的元素也就是服務。

1.1 SOA的關鍵的技術。

1)WSDL(Web Service Definition Language),web服務描述定義語言。WSDL描述了web服務的介面、訊息格式約定和訪問地址三方面的基本內容。對服務最基本的描述是介面描述,服務消費者只有獲得介面描述才能向服務傳送正確的呼叫訊息。另外服務的通訊協議、訪問地址、傳送給服務的訊息格式約定也是訪問服務之前必須獲得的資訊。

2)SOAP(Simple Object Access Protocol),簡單物件訪問協議。SOAP是一種輕量的、簡單的、基於XML的協議,它被設計成在WEB上交換結構化的和固化的資訊,它這是可以和當前很多的網際網路協議和方式結合著使用的一種資訊。

3)UDDI(Universal Description Discovery and Integration),統一描述發現和整合,UDDI是一種目錄服務,用來說明一個web服務的一些資訊型別,UDDI定義如何查詢web服務(及其WSDL檔案),企業可以使用它對web服務進行註冊和搜尋。

1.2 S0A的特殊性和優勢的地方。

1)鬆散耦合。這樣的特點可以解除對整個系統兩端緊密控制的必要。對整個系統的可用性、伸縮性等,每個模組都可以進行單獨的管理,保證了系統不同部分的正常執行。

2)複用增加。這項優點是可以複用曾經開發和佈置的不同的服務,從而保證了資源的有效利用,實現了資源整體專案的繼續開發和交付工作。

3)遺留整合。這可以幫助把之前遺留的使用系統、資訊系統進行必要的服務的改善,以便它們進入新的應用系統,從而達到資源重複使用,避免不必要的過多資源的浪費,就是相當於資源的回收,然後包裝改善之後在加以利用的過程,這樣可以更好的減少維護和整合的使用成本。

微軟雲端計算革命

雲端計算起源於大型網際網路企業,成本和指數級的業務增長壓力使他們非常關注於IT資源的利用率和應用的可擴充套件性。雲端計算提供動態的、可伸縮的、基於網際網路的IT服務交付模式。目前,人們一致認為雲端計算將是繼Pc革命、網際網路革命之後的第三次IT革命。雲端計算根據服務部署的位置可以分為公有云、私有云和混合雲三種形式。

2.1雲端計算存在的特殊方面。

1)對資源強調共享而不是單獨的佔有。雲端計算是利用資源之間的共享來達到提升資源利用效率,從而達到減低計算的成本的目的。當前很多企業的資訊化系統通常採用“獨立方案”來進行,形成了很多“遺留系統”,造成了資料庫、Web應用和Web資源的浪費,而云計算是可以很好的解決這些問題的。

2)對資源強調集中不是分散開來。綜觀計算模式的發展,從最早期的主機計算模式,到分散式計算模式下的c/s和B/S模式,再到現在的雲端計算模式。可謂是“合久必分、分久必合、閤中有分、分中有合”。雲端計算通過資源集中形成一個計算資源(包括網路、伺服器、儲存、應用和服務)共享池(資源池),然後讓不同的使用者共享訪問,因此雲端計算模式下一個顯著的特點便是資料中心的建立。

3)不推崇靜態資源配置,強調動態的資源配置。雲端計算作為一種提供服務的系統,客戶需要的是滿意的服務,所以雲端計算必須對客戶的資源的需要做好及時的反饋,那麼做好這一方面的工作,很多的雲端計算運用中採用了虛擬化的技術,這樣才能減低不同的資訊資源之間的耦合度,以便更好的做好動態資源配置的效率提升。

2.2雲端計算的SPI模型

根據雲端計算中資源池內資源的類別,可將其服務模式分為三種。

1)基礎設施即服務(IaaS,Infrastructure as a Service)。這是雲所提供的最為基礎的服務形式,在這種形式中,使用者從雲中獲取的是基礎設施資源,例如伺服器、儲存裝置、網路裝置等。具備了這樣的設施資源, 使用者就不用購買、維護相關的系統的設施和軟體,還可以更加直接的使用這些設施做好自己的平臺和不同資訊體系的建立工作了。

2)平臺即服務(PaaS,Platform as a Service)。這樣的服務就是指為使用者通過服務的不是可以拿過來就用的軟體,也不是硬體資訊,而是一個經過處理整合的基礎性的資源,是一個可以為使用者提供開發使用的平臺,所以平臺服務所面對的不是一些普通的使用者,而是那些軟體開發的工作人員,他們可以完全的使用這些資源,開發定製化的應用。

3)軟體即服務(SaaS,Software as a Service)。這樣的服務中,雲服務可以把提供的商用軟體放在自己的伺服器上,使用的客戶按照需要在網路上向廠家訂購自己使用的軟體,根據訂購的服務的數量和時間給廠商支付費用,然後通過網路獲得廠商提供的服務。這個服務的出現,使組織不需要開發跟不需要購買軟體,只是在租用Web的軟體、雲服務所提供的管理和維護軟體,還提供軟體離線的使用和資料具體的儲存管理服務,這樣保證使用者可以任何時候使用訂購的軟體和服務。

3 基於雲端計算的S0A企業絮構設計模式

分析了S0A和雲端計算這些技術的特點以後,我們可以看得出,它們最終給客戶的都是服務,不一樣的地方是SOA它更加的注重的是服務的理念來設計架構。而云計算則通過IaaS、PaaS和SaaS將各種資源(服務)提供給使用者,所以在建設自己的企業的使用時,想要做到成本的節約和遺留資訊的整合是可以使用基於雲端計算的SOA這樣混合的架構設計的, 這樣可以更好的提高企業資訊化實際建設的效率的。

使用這樣的架構模式在企業架構設計的時候,在整體上需要依舊使用SOA設計模式,而在具體的各個部分的架構設計的時候,都採用雲端計算技術予以實現。首先,在硬體底層、資料層和業務層將企業應用以私有云或公有云的形式進行佈署(採用IaaS和PaaS),以提高系統資源的利用率:然後在服務層使用web服務的形式封裝分佈在雲端的各個功能:最後,在表示層採用SaaS的形式,用統一的平臺來實行企業應用的完美整合,從而加強使用者的體驗。

4 結論

因為雲端計算在國內的發展才剛剛開始,很多的技術方面的問題需要不斷的試驗和驗證, 但是SOA在軟體發展的行業卻是一個比較成熟的設計架構理念,它在企業遺留資訊和孤立資訊整合方面有著重要的作用,所以把雲端計算和SOA進行結合是不錯的選擇,可以更好的發揮它們的優點,保證企業資訊化的迅速發展,為更好的為企業提供技術和軟體的支援。