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