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