介紹Agile Framework

來源:互聯網
上載者:User

.Net開發一直缺少一個強大的先進的開發架構。微軟在.Net方面的宣傳和文檔總是讓人感覺在不斷的糾纏一些技術細節,一直沒有像J2EE那樣從整體為採用.Net技術開發中小型公司專屬應用程式軟體的開發人員指出一個清晰的開發架構。Petshop和Duwamish這樣的範例太小了,並且很落後於當前的開發水平,無法體現一些類似IoC容器,AOP,OR Mapping等流行的開發理念。而類似MBF這樣的由微軟官方推薦的企業架構又太過於龐大,並且特定於一些類似Biztalk,Sharepoint這樣的商業產品,給一些中小型企業軟體軟體商帶來很大的壓力。

這些做法其實是基於利益最大化而考慮的,微軟做為一家非常優秀的商業公司,這麼做本身也無可厚非。但是如果拋開一些商業上的因素,熟悉.Net技術的人一定會知道.Net其實是一個技術非常先進的優秀開發平台,並且絕對有能力可以實現一個類似J2EE這樣的開發架構。許多開源界的軟體開發人員也知道這一點,並且世界上也有許多優秀的程式員已經做出了卓越的貢獻,創造了有名的Castle、Spring.Net、Aspect#、NHibernate等。這些項目已經為構建一個“類J2EE”的的.Net開發架構做好了充分和必要的條件。

而Agile Framework則是Agilelabs Team為了這個目標盡自己的努力的成果。

Agile Framework架構是一個為了協助快速搭建企業級應用程式的基礎性平台。它採用了.Net 2.0技術,充分利用了物件導向、Web Service、多層結構、分布式部署、IoC容器、智能用戶端、ORM、動態外掛程式、工作流程等先進技術,並完美的體現了SOA的設計理念。達到降低耦合、提高重用,增加系統的靈活性和可擴充性,提高開發效率和品質,節約開發成本的效果。

Agile Framework不會像微軟的官方解決方案一樣,只考慮使用自家的技術,也不會像某些開源社區項目一樣,非開源免費產品不用,追求所謂的“零成本”,“開放”、“跨平台”。Agile Framework會盡量站在使用者的角度替使用者考慮問題,博採眾長,綜合利用各種最合適的,最優秀的技術或產品,在合理的成本條件下為使用者提供一套性價比最好、最實用的軟體系統。

Agile Framework架構是根據最新的Smart Client、MonoRails WebFramework、Castle IoC容器、WWF工作流程引擎、XML資料庫、DB4O物件導向資料庫、資料採礦、Reporting Service等技術構建的一個外掛程式式SOA開發架構,隨著時間推移,它將不斷增加入更新的設計概念和功能。

應用功能特點
  • Availability(可用性):為了保證採用Agile Framework開發的應用系統具有高可用性,Agile Framework 利用了SQL Server 2005的資料庫鏡像功能,允許交易記錄以連續的方式從原始伺服器傳遞到單台目標伺服器上。當主系統出現故障時,應用程式可以立即重新串連到次要伺服器上的資料庫。輔助執行個體幾秒鐘內即可檢測到主伺服器發生了故障,並能立即接受資料庫連接。同時還採用了離線資料處理技術,使應用程式在網路裝置或伺服器發生故障,甚至在大停電的情況下,都能在一定程度上保證系統的繼續運行。
  • Scalability(延展性):Agile Framework採用的是多層分布式架構,在負載量小的時候整個系統可以完全部署到一台伺服器上以降低成本,同時系統也可以非常方便的採用縱切(按照系統的功能模組來劃分)、橫切(按照系統的邏輯層次來劃分)或者兩者結合的方式將每個子模組分別部署到多台伺服器上群集處理。因此當服務的負載增長時,系統能簡單的通過增加伺服器數量來滿足需求,且不降低或得到更好服務品質。
  • Performance(效能):在表現層,Agile Framework採用了智能用戶端的離線資料處理,與伺服器端的互動是非同步,即使是在系統業務量非常繁重的情況下,工作站也能以極高的速度進行操作,給使用者帶來良好的使用體驗。在中介層,Agile Framework採用了強大的動態代理緩衝技術,能對調用的服務方法自動攔截,並根據不同的緩衝策略進行資料緩衝處理,極大的提高了服務響應速度。在資料層,Agile Framework採用了三層資料庫技術,將系統資料按照活動資料、聯機交易資料和聯機分析資料分類,並根據這些資料的特點有針對性的採用了物件導向嵌入式資料庫、XML資料庫和關係型資料倉儲分別儲存和處理,極大提高了資料處理速度。
開發功能特點
  • Transparency(透明性):Agile Framework提供的大量的優秀特性,比如離線處理、用戶端自動升級、記憶體資料庫、緩衝處理、遠程調用、交易處理、日誌記錄等等都被內建到架構之中,對開發人員透明化,開發人員可以完全不用自己來編寫代碼處理這些問題。Agile Framework已經都為您提供,並且一切都是在內部進行的,程式員只需要配置一些參數選項,所開發的應用程式就能自動獲得這些先進的特性。
  • Extendable(可擴充性):不需要做任何編程修改,原始的Agile Framework本身就已經是一個可以運行起來的軟體系統,只是還不包含任何的商務邏輯,沒有實用價值。所有的商務邏輯和使用者介面都是通過一種動態外掛程式機制將各種特定的業務組件和介面組件“插入”到架構之中,構建起一套具有實用價值的系統軟體。這種“外掛程式式”軟體設計結構非常容易被擴充,並且靈活性相當高。開發人員只需要開發和管理一些特定的商務邏輯模組,並可以根據實際情況選擇插入和替換某些業務或介面外掛程式就能達到添加和修改系統功能的目的,不需要重新編譯系統。
  • Loose coupling(松耦合):Agile Framework的設計從業務組件、介面組件到子系統都完全貫通了松耦合的概念。具體體現在:每個組件都不直接依賴於其它組件,它們之間通過介面來互相通訊。每個子系統也都不直接依賴於其它的子系統,它們之間通過工作流程引擎來互相通訊。這樣做的好處是,無論小到一個組件,還是大到一個系統,都是可“插拔”的,當您需要添加或替換一個功能組件甚至是一個系統的時候,會非常方便,甚至都不需要中斷系統的正常運行。

另:以上的介紹用語有些廣告宣傳的語氣,如果不太習慣還請諒解:)

Agile Framework目前正在開發和完善中,等到成熟後一定會發布並且公開原始碼,如果興趣請保持關注部落格園和我們的網站,我會及時的公布一些進展訊息。有好的建議或者批評都請不吝賜教,希望加入我們一起開發也非常的歡迎。

關於Agile Framework和敏捷實驗室的連結:

  • 敏捷實驗室
  • Agile Framework的開發指南Wiki(In progress)
  • Agile Framework整體架構圖
  • 關於Agile Framework架構設計方面的隨筆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.