1 SOA
AOA是一個組件模型,將應用的不同功能單元通過服務之間定義良好的接口和契約聯(lián)系起來。服務接口獨立于實現(xiàn)服務的硬件平臺、操作系統(tǒng)和編程語言。系統(tǒng)包含的服務以一種通用和一致的方式進行交互,使系統(tǒng)集成不必關注底層的實現(xiàn)細節(jié)。SOA具有以下基本特點:
(1)面向服務。SOA以服務作為關注的重點,支持面向服務的開發(fā)方法。服務從更高的抽象層次上定義,與業(yè)務相對應,可通過面向過程、面向消息、面向對象等方法來實現(xiàn)。
(2)松耦合。SOA強調服務間是松耦合的,包括了三層含義:一是接口松耦合,即服務接口封裝了所有的實現(xiàn)細節(jié),對服務請求者屏蔽實現(xiàn)細節(jié);二是技術松耦合,指服務請求者和服務提供者的實現(xiàn)和運行不需要依賴特定的技術;三是流程松耦合,指服務不與特定的業(yè)務流程相關,能夠重用于不同的業(yè)務中。
(3)靈活性。在SOA的應用系統(tǒng)中服務是實現(xiàn)功能的基本單位。服務的可重用性和重組服務提高了業(yè)務的靈活性。
(4)標準化。SOA應用系統(tǒng)中的服務應盡量支持開放的標準,通過標準化提高互操作性。
2 云計算
目前關于云計算沒有統(tǒng)一的定義。IBM給出的定義是:云計算是一種通過虛擬化的方式共享資源的計算,計算資源可以動態(tài)部署、動態(tài)調度、動態(tài)回收。云計算被視為一種計算模式,通過基于互聯(lián)網(wǎng)連接的服務集合完成計算任務。云計算保證服務和數(shù)據(jù)在整個云中都可用,使得用戶能夠以較低的成本隨時接入訪問數(shù)據(jù),提供了集成、共享的公共平臺。云計算可以劃分為3種服務模型:
(1)基礎架構即服務(IaaS)。指的是將服務器、存儲和網(wǎng)絡等底層設施作為服務提供給用戶。IaaS一般按照需求利用服務器、連接、存儲以及相關的必要工具構建應用環(huán)境。因此用戶可以通過動態(tài)申請資源構建云應用。IaaS相對于軟件的使用要更為困難,不過卻為應用提供了更好的靈活性。
(2)平臺即服務(PaaS)。指的是一種易于配置的軟件平臺。這種平臺一般包含數(shù)據(jù)庫、中間件及開發(fā)工具,均以服務形式通過互聯(lián)網(wǎng)提供給第三方開發(fā)人員。開發(fā)人員可以通過PaaS部署應用,不用在意系統(tǒng)的管理細節(jié)。PaaS的典型應用是Google App Engine2,包括了完整的Python應用環(huán)境。通常PaaS可以包含于IaaS中,與IaaS相比更為好用,但不夠靈活。
(3)軟件即服務(SaaS)。指的是通過網(wǎng)絡將應用程序以服務形式提供給用戶。其中應用程序可以是公有云提供商提供的商用SaaS應用,或企業(yè)專用云提供的商用或訂制的SaaS應用。SaaS的供應商基于多租戶的體系架構為客戶提供軟件服務。
3 SOA與云計算的集成
3.1 SOA與云計算的比較
SOA與云計算在很多方面都有重疊,其中最為重要的交叉點是面向服務的概念。云計算關注的焦點是將計算當成可以買賣的商品,比如大規(guī)模在線存儲、網(wǎng)絡應用平臺等。云計算提供的服務非常廣泛,包括了從硬件層次到應用層軟件。而SOA一般提供象Web Service應用這樣的服務。SOA與云計算都非常依賴網(wǎng)絡,這也是它們共同的缺陷。
雖然SOA與云計算有很多共同點,但是它們有不同的側重點。SOA實現(xiàn)是系統(tǒng)與系統(tǒng)之問進行集成的技術,允許通過不同的部署語言和平臺進行系統(tǒng)集成;赟OA實現(xiàn)的系統(tǒng)接口一致性能夠降低集成的開銷,提高系統(tǒng)的敏捷性。云計算的重點是利用網(wǎng)絡購買需要的功能,允許市場以商品的形式提供各種功能,避免了用戶花費過多成本實現(xiàn)所需功能。在公共標準方面SOA和云計算發(fā)展的階段存在差異。SOA的軟件服務實現(xiàn)已有成熟的標準,比如WSDL、SOAP等。云計算還沒有形成成熟的標準,不同的服務供應商之間達成一致還比較困難。SOA與云計算的關系是一種互補的關系。云計算和SOA的供應商可以互相借鑒和學習。云計算中服務的設計和服務的擴展性都是值得SOA借鑒的。而SOA中的服務治理和架構驅動是云計算值得學習的地方。
3.2 SOA與云計算的集成方法
由于在SOA發(fā)展的早期一些企業(yè)沒有從SOA的投資中收益,很多企業(yè)對SOA產(chǎn)生了懷疑。經(jīng)過一段時間的思考,人們對SOA的理解回歸理性,對SOA的應用場景有了更為準確的定位。云計算的出現(xiàn)為SOA提供了新的發(fā)展起點,將SOA與云計算結合在一起運用于企業(yè)的信息化是當前推進兩者發(fā)展實現(xiàn)雙贏的有效途徑。本文提出從以下幾個方面進行SOA與云計算的集成。
(1)建立配套的規(guī)范標準。目前SOA和云計算都不是十分成熟,二者在標準化方面也有顯著差異。S0A在標準化方面已經(jīng)走到了前面,已經(jīng)有了一系列的規(guī)范,而云計算還處于各方各自為戰(zhàn)的局面。由于SOA和云計算最大的共同點就是服務,在服務方面也應該建立統(tǒng)一的標準,使得SOA可以通過云計算對外提供服務。另外SOA還可以根據(jù)服務的粒度采用云計算的服務進行新的服務組合。
(2)提供高可用的服務。云計算中運維工作由云服務提供商和虛擬化等技術承擔,而可伸縮性也導致云計算的用戶在一定程度上失去了對資源的控制權。在云計算中服務出現(xiàn)故障或者供應商出現(xiàn)問題時,云計算的用戶就面臨應用無法使用的問題。使用SOA實現(xiàn)應用系統(tǒng)的組件化和服務化是解決這一問題的措施之一。在基于SOA構建應用系統(tǒng)時,將應用功能細分為細粒度、無狀態(tài)的組件,然后將其封裝為服務,將同一服務的不同實例分散到多個實例中運行,從而提高服務的可用性。在云計算環(huán)境中,使用中的云服務是不可控的。這就需要在架構設計時充分了解云服務的可用性。為了提供高可用的服務,在云計算標準化之后,還可以使用多個云服務提供商提供服務來實現(xiàn)高可用。
(3)改進服務發(fā)現(xiàn)。服務發(fā)現(xiàn)是SOA中必不可少的功能,它幫助將經(jīng)過注冊的服務提供給用戶使用。在云計算中與SOA類似,也需要服務發(fā)現(xiàn)功能的支持。與SOA不同的是,云計算中采取的是付費訂購模式,需要用戶申購才能使用需要的服務。結合SOA的服務發(fā)現(xiàn)技術,云計算中可以改進服務發(fā)現(xiàn)機制,支持用戶從數(shù)量龐大的服務中進行選購。
(4)完善服務治理和管理功能。服務的治理或管理對SOA的成功實施非常重要。在SOA的發(fā)展中,治理技術已經(jīng)積累了一定的基礎。而云計算中幾乎沒有任何治理的思想,也沒有云計算控制和執(zhí)行策略,對云計算在企業(yè)中的應用起到了阻礙作用。云計算中對服務進行定價收費也是服務治理的一個重要應用場景。因此,利用SOA中的服務治理管理經(jīng)驗來推動云計算的發(fā)展,完善服務治理是SOA與云計算的有效結合點。
4 結語
云計算越來越受到企業(yè)的關注,已經(jīng)成為了最炙手可熱的瓶興技術。云計算的發(fā)展也為SOA帶來了新的活力,將二者結合運用成為了企業(yè)可選的新的發(fā)展路線。本文提出的SOA與云計算集成的方法為企業(yè)更好運用這兩種技術提供了參考。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標題:SOA與云計算的集成探究
本文網(wǎng)址:http://www.oesoe.com/html/consultation/1083978968.html
























