在前面的章節中,咱們說明了如何使用AgileEAS.NET敏捷開發平臺倆開發藥店系統,可是咱們沒有從整體上去說明AgileEAS.NET的一些功能,咱們都是在細節上講述了html
一些該平臺的相關特性,咱們在藥店系統的開發過程當中,只是包含了該平臺的大部分功能,還有一些功能,並無使用到,可能咱們後續會繼續講述這些功能。本文就將以前數據庫
開發的藥店系統,來進行總結和綜述吧,以前放出的文章中的配套文檔相對來講,還有一些內容還須要完善,不過大致上已經很詳盡了,原本想把概要設計文檔也放出的,但服務器
是我本機沒有特別好的UML建模工具,因此就擱淺了,對你們說抱歉了。下面咱們就來總結藥店系統開發過程當中的心得和體會。架構
一、AgileEAS.NET解決了藥店系統開發中的哪些問題。框架
二、藥店系統中用到了AgileEAS.NET平臺中的哪些技術。分佈式
三、而且分析這些技術在其餘領域的應用。工具
咱們在藥店中遇到的問題,前面也有具體的文檔有分析過,平臺提供的功能也是比較強大,主要的功能圖以下:測試
從上圖中咱們也能夠發現,咱們的非功能性方面的需求,例如藥店系統,須要支持分佈式訪問支持等。包括一些部署等方面的要求等等。網站
一、打印問題:spa
咱們的可選擇:
水晶報表:微軟提供的報表解決方案,功能強大,我認爲使用該報表能夠作出來一切報表,惟一缺點,須要客戶機安裝,不然沒法使用。
FastReport:很是強大的報表。支持可拖拽,非免費,收費。有一個開源版本,可是好像不是.NET的。
AgileEAS.NET平臺報表:提供強大的可視化設計器,而且也支持複雜的交叉報表的設計,而且是免費的,永久的,而且是開源的報表。而且提供了二種方案的支持,
一種是基於平臺的報表設計器,一種是獨立的設計器。
二、分佈式訪問支持
咱們的選擇:
本身開發:基於WCF或直接使用Remoting,WebService來進行服務端與客戶端之間的通訊。
市面上的一些免費的而且可商業應用免費的分佈式訪問中間件:
AgileEAS.NET分佈式訪問中間件:提供了普通模式與分佈式訪問模式的熱切換,只須要經過配置文件來簡單配置便可。具體的內容能夠參考系列文章中的分佈式訪問配
置與部署。具體文章《AgileEAS.NET平臺開發實例-智能升級及服務器部署》。
三、ORM問題:
咱們的選擇:
開源的免費的ORM組件:
NHibernate:NHibernate是把Java的Hibernate核心部分移植到Microsoft .NET Framework上。它是一個對象關係映射工具,其目標是把.NET對象持久化到關係數據庫。
Spring.NET:Spring.NET框架包括不少功能,Spring.NET 1.0包括完整的IoC容器和AOP類庫。1.1版加入Web、ORM和數據模塊。
Castle:Castle是由Hamilton Verissimo撰寫的,從2003年就開始開發,並在2006年11月發佈了1.0 RC2 。2007年09發佈了1.0 RC3版本。Castle是個輕量級(Lightweight)容器(Container)、實現 IoC(Inversion of Control)概念,是一個全方位的應用程序(Application)框架(Framework),並提供相關的一系列工具
IBatis:iBATIS 是一個能夠設計和實現更好的 Java/.NET 應用程序持久化層的框架。iBATIS 把對象和存儲過程或者使用 XML 描述符的 SQL 語句進行了關聯。
AgileEAS.NET平臺提供的ORM:
支持二種模式,一種是ActiveRecord模式,一種是表模式+ActiveRecord相結合的形式,整體來講,都是提供一個ORM訪問的功能支持。而且基於ORM組件,提供了
強大的數據庫模型設計器,經過該設計器來提供解決方案的生成及數據庫的相關雙向工程的相關工做。
四、資源管理器
目前市面上提供的這樣的組件的生命週期管理的資源管理平臺,開源的很少,固然就像OSGI所提供的功能已經很是強大,能夠看做是這樣的資源管理平臺,經過定義插
件契約,不一樣的模塊都能被這樣的平臺識別並提供相關的基礎服務。
相關的OSGI的平臺也是例子比較多,這裏就不詳述了。
AgileEAS.NET提供了平臺+插件的開發思想,提供這樣的插件的資源管理平臺,管理插件的資源的分配與回收,而且管理插件的生命週期。
關於資源管理平臺的具體的插件契約的說明及資源管理平臺的使用,請參考以下藥店中的相關文章的介紹。
《AgileEAS.NET平臺開發實例-藥店系統-準備開發環境(中)》
五、權限控制系統:
關於權限這樣,你們的經驗都是比較多了,若是深刻剖析的話,可能就是沒法剖析徹底,每一個人對權限的設計,都有幾個思路,目前的比較流行的權限控制系統,微
軟提供的RBAC標準的權限模型,關於具體的介紹,網上搜索,資料也是很是的多,思路也是很是的清晰。
你們通常在開發一個應用系統時,可能權限控制的問題,也會被弄得焦頭爛額的時候,這個時候,須要權限系統的控制,那麼咱們若是本身開發一些基礎的權限功
能,也是須要花費很是大的精力和時間。
平臺自己提供了簡單的權限控制模塊,關於權限的分配與控制的原理解析,AgileEAS.NET平臺權限管理=Windows2000的權限控制思路,經過ACL來控制模塊的相
關權限。具體的權限配置與分配,請參考以下文章:《AgileEAS.NET平臺開發實例-藥店系統-功能發佈[權限配置][下]》
六、智能客戶端:
關於智能客戶端這塊,我想你們對於C/S這樣的架構的思路,基本上都是差很少,關鍵是該組件的使用與本身的應用程序相結合時,是否可以方便的應用,固然若是
說本身開發的話,也就不須要考慮這塊的內容了
平臺也是提供了這一方面的支持,提供了二種模式的選擇,一種是WebService的還有一種是Remoting的,.NET平臺下,使用Remoting的方式,更新的速度快,
效率高。
七、其餘
快速的插件構建及方便的測試環境支持,經過平臺提供的測試環境,很方便的運行調試程序。更高的開發效率。
在藥店系統的開發的過程當中也是使用到了平臺提供的方方面面的技術了,基本上理解了藥店系統的開發流程,對平臺的使用能夠說是掌握了精髓的東西,如何可以快速的
使用平臺進行功能模塊的開發是,咱們追求的目標。也是開發該藥店系統的一個重要的目的。
一、ORM技術:
對象關係映射,平臺提供了ORM的功能支持,在藥店系統中使用了這塊的功能,經過代碼生成器,提供了ORM底層代碼的自動生成,這樣可以達到代碼的一致性和較好
的可讀性和可維護性等。
二、分佈式及智能客戶端:
經過平臺提供的分佈式訪問組件+智能客戶端支持,提供了分佈式數據通訊、智能客戶端+服務器部署功能等功能,只須要經過相關工具使用後就能完成相關功能。
三、基礎功能:
四、報表服務:
五、插件+平臺的開發思想:
六、軟件工程:
該平臺提供的是插件+平臺的敏捷並行開發方法。
上面講述了AgileEAS.NET平臺提供的一些功能,是主要的功能,但不是所有,有不少的功能,還得繼續發掘才能發現,咱們下面就來分析下AgileEAS.NET平臺在其餘的
應用場景的應用。
一、單獨使用ORM,來快速的完成數據的持久化。
ORM組件負責通用的持久化服務,提供一個充血模型,來完成相關的數據訪問支持。
二、單獨使用報表服務:
能夠脫離ORM來使用:
經過單獨的訪問組件,來提供報表定義文件的訪問,進而使用打印服務,關於具體的脫離使用,請參考以下文章
《AgileEAS.NET平臺開發實例-藥店系統-報表開發(高級篇)》
三、分佈式部署與智能客戶端
因爲工具基於AgileEAS.NET平臺開發,因此使用起來,會有一些限制,整體來講限制並不大。只要很好的配置便可。
四、插件+平臺
上面咱們也是分析了軟件工程方面的內容,咱們就知道了,該平臺的主要價值的體現,是在軟件開發過程的相關改進,提供開發速度,下降開發的成本,而且能夠實現,
敏捷並行的開發方法,經過每一個開發人員負責一個功能模塊的開發,最後組裝到平臺中,完成集成與部署。而這些模塊不會由於功能的分離而影響開發,固然敏捷開發中的用
戶故事的提煉也是基於這樣的分配思路。
五、基礎服務
權限管理:必須是符合平臺契約的插件,才能被權限分配及管理,不然沒法被平臺識別。
因此權限管理功能,必須符合插件契約才能夠,沒法單獨脫離契約存在。
其餘的底層基礎服務,也須要相關基礎組件的支持,平臺提供了AOP,IOC等相關組件的支持。
六、更多服務
上面咱們簡單綜述了藥店系統使用了AgileEAS.NET平臺中的相關功能,而且對比說明了,AgileEAS.NET平臺提供的強大功能,固然其中還有部分功能尚未所有整理貼
出,關於更多的功能詳盡分析及說明。 固然因爲本人水平有限,錯誤之處,還請你們多拍磚。
若是您在使用AgileEAS.NET開發平臺中有什麼問題,請使用以下幾種聯繫方式或者溝通方式。
一、郵箱方式:
魏瓊東: mail.james@qq.com 手機:18629261335 博客:http://eastjade.cnblogs.com/
殷長波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/
何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/
二、QQ交流羣:
AgileEAS.NET平臺交流羣:120661978(超級羣)[新建] AgileEAS.NET平臺交流羣:125643764(高級羣)[新建] AgileEAS.NET平臺交流羣:147168308(高級羣)[新建]