SOA和云架構(gòu)設(shè)計(jì)更多的是在企業(yè)架構(gòu)的應(yīng)用架構(gòu)和技術(shù)架構(gòu)層面,然后才過渡到單個應(yīng)用的架構(gòu)設(shè)計(jì)約束,因此也可以理解為是傳統(tǒng)軟件架構(gòu)設(shè)計(jì)更加上層的一個內(nèi)容。SOA和云架構(gòu)設(shè)計(jì)更加確切點(diǎn)來說應(yīng)該是基于SOA和云計(jì)算思想的架構(gòu)設(shè)計(jì)改進(jìn),而不是對面向?qū)ο蠹軜?gòu)設(shè)計(jì)思想的否定。
SOA思想強(qiáng)調(diào)的解耦,解耦思想最終落實(shí)到架構(gòu)設(shè)計(jì)中是業(yè)務(wù)能力組件化,組件間的交互通過服務(wù)接口進(jìn)行,粗粒度的服務(wù)本身就體現(xiàn)了松耦合,解耦不僅僅是組件的應(yīng)用層,還包括了數(shù)據(jù)庫和數(shù)據(jù)層都能夠自成一套可以獨(dú)立進(jìn)行需求,設(shè)計(jì),開發(fā),測試和運(yùn)維的全生命周期管理。另外為了最大限度的解耦,還需要借助消息中間件或服務(wù)總線,還需要考慮盡可能將同步服務(wù)轉(zhuǎn)換為異步服務(wù)設(shè)計(jì)。
SOA思想強(qiáng)調(diào)的粗粒度,在架構(gòu)設(shè)計(jì)中需要考慮的是不同的業(yè)務(wù)系統(tǒng),組件或模塊間只需要暴露需要暴露的服務(wù)能力而高內(nèi)聚的屏蔽內(nèi)部的數(shù)據(jù)和業(yè)務(wù)的復(fù)雜性。同時組件之間的交互要盡可能的減少傳統(tǒng)意義上的數(shù)據(jù)庫層的數(shù)據(jù)集成,數(shù)據(jù)集成和同步一方面是數(shù)據(jù)多點(diǎn)落地帶來的數(shù)據(jù)實(shí)時性和一致性方面的問題,一方面是數(shù)據(jù)的集成同步導(dǎo)致大量組件內(nèi)部邏輯外泄。同時盡量在架構(gòu)設(shè)計(jì)過程中遵循領(lǐng)域設(shè)計(jì)和建模的思路,即在數(shù)據(jù)庫上抽象領(lǐng)域?qū)ο髮樱云帘蔚讓訑?shù)據(jù)模型細(xì)節(jié)。
SOA思想強(qiáng)調(diào)的可復(fù)用,在傳統(tǒng)的架構(gòu)設(shè)計(jì)中本身就有一個重要步驟即可復(fù)用的組件的抽取,可復(fù)用的組件朝外提供的服務(wù)能力自然也是可復(fù)用的服務(wù),這是其一。傳統(tǒng)架構(gòu)設(shè)計(jì)中進(jìn)行完模塊和組件劃分后,需要考慮組件之間的接口設(shè)計(jì),那么在接口設(shè)計(jì)中需要考慮接口本身的服務(wù)化設(shè)計(jì),接口本身的可復(fù)用性設(shè)計(jì)。對于底層技術(shù)組件或共享數(shù)據(jù)組件的可復(fù)用大家比較容易理解,而對于業(yè)務(wù)服務(wù)的可復(fù)用重點(diǎn)則在于可以復(fù)用到多個不同的業(yè)務(wù)場景或業(yè)務(wù)流程中服務(wù)的組合和組裝。
SOA思想強(qiáng)調(diào)的服務(wù)本身的靈活組合和組裝,這個內(nèi)容往往偏EA架構(gòu)設(shè)計(jì)層面的內(nèi)容,即需要從端到端的業(yè)務(wù)流程層面來識別和分析服務(wù)。傳統(tǒng)的架構(gòu)設(shè)計(jì)往往關(guān)注的是一個個核心用例功能點(diǎn),而服務(wù)組裝編排關(guān)注的則是跨多個業(yè)務(wù)功能點(diǎn)的流程協(xié)同。提出這個的原因也正是,當(dāng)我們在企業(yè)內(nèi)規(guī)劃和建設(shè)一個全新的系統(tǒng)時候,務(wù)必先考慮該系統(tǒng)在整個企業(yè)應(yīng)用架構(gòu)體系中的位置,該系統(tǒng)和其它業(yè)務(wù)系統(tǒng)間的橫向縱向業(yè)務(wù)系統(tǒng)關(guān)系,然后再過渡到系統(tǒng)內(nèi)架構(gòu)設(shè)計(jì)。
對于單個系統(tǒng),前面專門有文章談過基于SOA的架構(gòu)設(shè)計(jì)要點(diǎn),這里再重點(diǎn)描述下即,單個系統(tǒng)能夠組件化設(shè)計(jì),組件之間能夠做到從數(shù)據(jù)庫到應(yīng)用層相對獨(dú)立,組件之間只能通過服務(wù)接口交互,這個重點(diǎn)解決了組件間的橫向協(xié)同問題;其次,單個組件的設(shè)計(jì)建議的方法還是遵循領(lǐng)域建模的思路,最好是在原來的分層技術(shù)架構(gòu)上,增加專門的服務(wù)層,即對于單個組件縱向來說也通過服務(wù)層來實(shí)現(xiàn)底層領(lǐng)域服務(wù)邏輯和上層界面展現(xiàn)和服務(wù)組裝的分離。對于組件縱向可以采用傳統(tǒng)API服務(wù)接口,而對于組件橫向則采用WebService接口來實(shí)現(xiàn)進(jìn)一步的解耦。
從以上分析來說,當(dāng)我們談到SOA架構(gòu)設(shè)計(jì)的時候,不要一開始就被消息中間件,ESB服務(wù)總線等內(nèi)容誤導(dǎo),如果沒有充分的考慮SOA思想內(nèi)涵并在傳統(tǒng)的架構(gòu)設(shè)計(jì)中引入SOA思想,那么即使采用了ESB服務(wù)總線最終也可能只起到了簡單的接口平臺的作用。
接著談下云的思想,云思想的核心是終端能力朝云端的遷移,即集中化。SOA雖然強(qiáng)調(diào)了復(fù)用,但是這個復(fù)用可能還是在原來單個業(yè)務(wù)系統(tǒng)內(nèi)部建設(shè),然后再將服務(wù)能力共享出來,而云的思想更多的則考慮建設(shè)都不在傳統(tǒng)的單個系統(tǒng)內(nèi)部了,而應(yīng)該集中化建設(shè),能力集中提供,這個集中化提供的地方即平臺。基于這個思想需要注意到的就是對于傳統(tǒng)的軟件架構(gòu)設(shè)計(jì)而言,由于關(guān)注的是單個業(yè)務(wù)系統(tǒng),可復(fù)用的組件或能力還在系統(tǒng)內(nèi)部,而到了云架構(gòu)設(shè)計(jì)階段,關(guān)注的是企業(yè)內(nèi)整個應(yīng)用和技術(shù)架構(gòu)體系,因此這些可復(fù)用的內(nèi)容從傳統(tǒng)的系統(tǒng)內(nèi)轉(zhuǎn)化到了完全的系統(tǒng)外,這個是云架構(gòu)設(shè)計(jì)思想下很重要的一個轉(zhuǎn)變,即準(zhǔn)備有了完全獨(dú)立于系統(tǒng)外的可為多個業(yè)務(wù)系統(tǒng)提供服務(wù)能力的云平臺。這個云平臺不是簡單的IaaS平臺,而更多是PaaS層面的流程平臺,數(shù)據(jù)平臺,集成平臺,技術(shù)平臺等。
云思想強(qiáng)調(diào)無限伸縮,對應(yīng)到架構(gòu)設(shè)計(jì)中即可擴(kuò)展性,對于傳統(tǒng)的架構(gòu)設(shè)計(jì)我們更加關(guān)注的是組件或接口本身的技術(shù)可擴(kuò)展性,而比較少關(guān)注業(yè)務(wù)系統(tǒng)本身所對應(yīng)的IT基礎(chǔ)設(shè)施或平臺本身的資源彈性伸縮擴(kuò)展性,這個在架構(gòu)設(shè)計(jì)中也是可以考慮引入的,包括各種分布式存儲,分布式處理和計(jì)算,數(shù)據(jù)拆分,對PaaS資源托管平臺的統(tǒng)一接入和適配等。
最后,在涉及到云架構(gòu)設(shè)計(jì)的時候,需要考慮多租戶設(shè)計(jì),多租戶設(shè)計(jì)和傳統(tǒng)架構(gòu)設(shè)計(jì)中的多組織設(shè)計(jì)還有些區(qū)別,租戶往往有更加嚴(yán)格的資源隔離和資源流量控制要求,而不僅僅是數(shù)據(jù)訪問上的隔離。還有就是在基于云架構(gòu)設(shè)計(jì)中,需要重點(diǎn)考慮自服務(wù)模式,即圍繞服務(wù)全生命周期的管控來考慮云的能力的服務(wù)化提供。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的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://m.hanmeixuan.com/
本文標(biāo)題:SOA和云架構(gòu)設(shè)計(jì)的一些要點(diǎn)
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/10839615959.html