基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 系统架构
本文是繼AgileEAS.NET應用開發平臺介紹及AgileEAS.NET之敏捷并行開發方法所做的架構補充,用于闡釋AgileEAS.NET平臺的架構設計思路。
????? 說起了系統架構,我也無法給出系統架構的確切定義,我的理解也許也只是基于自己經驗的一個片斷,我是學習園林專業身的,學習過園林建筑學,也許對軟件框架最早的理解來源于對建筑的理解,我們知道,一個好的建筑必須解決建筑及其附屬物的荷載及其美觀和居住的舒適性,而這個必須通過其建筑的骨架--承重體系來支撐,建筑最先進行的其他承重休息的澆筑。
軟件之系統架構有如建筑的骨架,不同規模、不同地域、不同應用的建筑會使用不同的承重結構。軟件系統架構的設計如同對建筑的框架設計一樣,對于不同的應用應該應用與之相匹配不同的架構,也就是說,客戶的應用決定著項目的架構及到技術選項。
????? AgileEAS.NET平臺所提出的系統架構適應于中小規律的管理信息系統。
????? 在AgileEAS.NET應用開發平臺介紹中我畫出了AgileEAS.NET的基本架構圖,本文我從系統的橫向擴展和縱向伸縮兩個方面來討論。
橫向擴展:
????? AgileEAS.NET平臺是基于“并行開發”這種思想支持的應用平臺,我們在在DotNET中用平臺+插件實現了這么一種理念,其核心的機制既用插件橫行擴展平臺。
????? 采用這種思路構建和擴展業務系統,需要一個統一的機制允許業務插件注冊到平臺,基于這種思路,各個業務模塊,都變成了可以自由組裝、拆卸的插件。
????? 插件運行容器是一組能夠實現插件業務調用的一組應用程序,可以是基于WinFrom的桌面應用程序、也可以是基于Web的網站應用,運行容器調用插件并由插件橫向擴展運行容器的功能,這樣一來,應用系統的開發就轉成為對運行容器的功能擴展,也就是項目的重點轉移于開發模塊插件這個焦點。
????? 業務插件的開發者可以選擇利用AgileEAS.NET所提供的快速開發技術實現,即依賴于平臺所提供的基礎組件,也可以選用開發者自己的技術去實現模塊插件,這將涉及到系統的縱向伸縮的問題。?
?
縱向伸縮:?
????? 不要是說搞軟件的技術人員,就是某些客戶機構人員,也跟你嚷嚷的要求軟件弄成三層結構才行,我想這個三并不指特定的三層吧,應該是泛指三或者多層結構吧。
????? 目前,大家所指的三層結構應該是對系統進行的所謂界面(UI)、業務邏輯(BI)、數據訪問(DA)三層吧,多層也是對這三層進行了詳細的分解的結果,業界經驗證明,這確實是解決系統復雜性的一種主流模式。但并不是說應用了三層架構就一定能解決系統的復雜性,他不是萬能的。他提供給我們一種解決復雜問題的思路,那就是根據應用的復雜程度合理的去分層。
????? 對于這種分層設計,我建議根據項目的實際情況合理的選擇合理的分層設計,如果對于很小的項目選擇復雜的分層設計,就會演變成為分層而分層的一種漩渦。
????? AgileEAS.NET支持不同層級的開發,對于很簡單的項目,你可以選擇把界面、業務、數據訪問全部放在模塊模塊UI實現;對于較復雜的項目,可以選擇使用模塊UI+數據訪問層,把業務邏輯并入UI實現,更為復雜的項目可以把界面、業務、數據三部分嚴格分解甚至可以把這三層中的任務一層再分解,比方,數據訪問層可以分解為數據訪問接口層、數據訪問實現層等,AgileEAS.NET提供一個基于消息的分布式通信服務,應用系統可選的基于它實現分布式應用。
????? 總之,系統的架構取決于客戶的應用、技術力量等諸多方面,優秀的架構在于系統擴展、伸縮性以及系統的抽像程度之間尋找一種平衡。
作者:魏瓊東?
出處:http://www.cnblogs.com/eastjade
關于作者:有13年的軟件從業經歷,專注于中小軟件企業軟件開發過程研究,通過在技術與管理幫助中小軟件企業實現技術層面開源節流的目的。熟悉需求分析、企業架構、項目管理。現主要從事基于AgileEAS.NET平臺的技術咨詢工作,主要服務于醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。如有問題或建議,請多多賜教!?
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過mail.james@qq.com?聯系我,也可以加入QQ群:113723486、199463175、116773358、116773358、212867943、147168308、59827496、193486983、15118502和大家共同討論,非常感謝。
? ? 本文轉自魏瓊東博客園博客,原文鏈接:http://www.cnblogs.com/eastjade/archive/2010/04/20/1715806.html,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 系统架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GDB调试器用法
- 下一篇: windows下的MySql实现读写分离