arc320基于net framework20企業(yè)應用框架的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、ARC320基于.Net Framework2.0企業(yè)應用框架的設計與實現(xiàn),,課程內(nèi)容概述,我們試圖通過實際的企業(yè)應用框架的設計開發(fā)過程,跟大家分享三件事情。第一開發(fā)適合自己企業(yè)的基礎框架,可以極大提的高生產(chǎn)率和軟件質(zhì)量;第二講述我們基于DotNet2.0開發(fā)自己企業(yè)應用框架的故事;第三探討企業(yè)應用框的架設計和實現(xiàn)。,課程內(nèi)容安排,為什么我們需要應用框架企業(yè)應用框架介紹企業(yè)應用框架的設計企業(yè)應用框架的實現(xiàn)

2、企業(yè)應用框架實施,,為什么我們需要應用框架,問題?,在我們的項目開發(fā)中是否經(jīng)常遇到這些問題:一些基礎的功能在不同的系統(tǒng)中總是重復開發(fā)?譬如:數(shù)據(jù)訪問,事務管理,用戶認證,權限管理等等。不同的程序員總是出現(xiàn)同樣的錯誤?譬如:沒有釋放資源,異常沒有處理等等。功能相似的代碼在多個地方出現(xiàn)?每個項目啟動都要搭建一套基礎框架?在組織級沒有技術積累,項目的成敗很多時候決定于幾個關鍵成員?,問題?(續(xù)),沒有體系結構的代碼隨處可見,大家風格

3、各異,維護性差?系統(tǒng)的擴展性差,沒有成員愿意動以前的代碼,常常更愿意重新做?系統(tǒng)的模塊、單元職責不清,緊密耦合,很難重用?……,如何解決這些問題?,引入應用框架是一種行之有效的方法。,,讓軟件開發(fā)工作變?yōu)橐环N榮譽感和成就感,,企業(yè)應用框架介紹,框架,在建筑行業(yè)框架指的是支撐其它物體的結構,或者說是建筑物的基礎支撐骨架。,軟件的框架是一個軟件的支撐結構,是經(jīng)驗的積累,是失敗的教訓,是一種創(chuàng)新,是一組可重用的設計和代碼 ……,為何使用

4、應用框架,從已有的框架分析:MVCMFCDotNetJAVASpring……基于框架開發(fā)可以極大提高生產(chǎn)率和軟件質(zhì)量。使用框架可以使我們擺脫前面所述“問題”的困擾。使用框架還有更多的優(yōu)點。,使用框架的優(yōu)點(1),模塊化把應用分割成多個組件或者模塊,分而治之。隔離變化的影響范圍。降低系統(tǒng)的復雜性。 可重用框架為項目提供可重復使用的,穩(wěn)定、成熟、可靠的組件。極大的提高系統(tǒng)的開發(fā)效率。不僅僅是代碼,組件的重用,

5、而且重用了以前的設計、經(jīng)驗、教訓。站在巨人的肩上。,使用框架的優(yōu)點(2),簡潔性不是框架簡單了,是應用程序開發(fā)者的工作變得簡單快樂。通過框架封裝了基礎的處理流程和控制邏輯,開發(fā)者可以透明的使用,極大的提高開發(fā)效率,節(jié)約成本??删S護是我們的應用系統(tǒng)可以“隨需而變”的一種能力。由于框架被多個應用所共享,代碼已有一份,所以只需修改一次,所有的地方都保持一致。使用框架,業(yè)務規(guī)則被抽象出來作為一種擴展機制實現(xiàn)業(yè)務規(guī)則的修改只需要修改

6、配置或者提供一個擴展實現(xiàn)即可。,使用框架的優(yōu)點(3),可靠性系統(tǒng)持續(xù)正確的運行,不間斷的提供服務的一種能力。框架是開發(fā)工作長期的積累,是經(jīng)過實踐穩(wěn)定下來的一組可重用的設計和代碼,它是經(jīng)過實踐檢驗的,可以提供極高的可靠性??蓴U展框架可以非常方便增加自定義的功能,以適應特定的業(yè)務需求。在框架設計中很關鍵的是在應用可能發(fā)生變化的地方增加系統(tǒng)的擴展性和靈活性?!?使用框架的不足,開發(fā)成本框架的設計開發(fā)需要大量的人力資源和物質(zhì)資源

7、。開發(fā)高可用性和高可靠性的框架,需要業(yè)務領域的專家和軟件設計開發(fā)領域的專家??蚣艿拈_發(fā)是一種長線的投資,適用于有多個應用的大中型企業(yè)。學習成本要在項目中應用框架,所有的開發(fā)者首先要學習框架的使用??蚣芴峁┝艘环N新的編程模型,新的API,新的服務和配置項,需要開發(fā)者掌握更多的開發(fā)技術,才可以高效的構建應用系統(tǒng)。,框架的分類,業(yè)務應用(Business Application)實現(xiàn)具體業(yè)務應用的框架。應用框架(Applicati

8、on Framework)應用系統(tǒng)的支撐體系結構,應用系統(tǒng)的半成品。特定領域框架針對特定領域的業(yè)務邏輯構建的專有組件??珙I域的框架不包括業(yè)務領域知識的共享組件?;A框架(Foundation Framework)應用框架和業(yè)務系統(tǒng)構建的基礎,軟件開發(fā)商提供的開發(fā)工具:DotNet、Java、MFC,Spring,Struts。,框架的開發(fā)過程,和其它項目一樣,框架開發(fā)也包含下面幾個階段:分析確定框架的目標和范圍。設計

9、確定架構的通用點和擴展點,設計框架的藍圖。實現(xiàn)編碼實現(xiàn)框架。穩(wěn)定開發(fā)者驗證框架實現(xiàn),開發(fā)Demo項目和文檔。,,企業(yè)應用框架的設計,框架設計藍圖,框架設計解析(1),ZTE Framework 統(tǒng)一的基礎平臺,包括系統(tǒng)各個層次需要的基礎功能。如:數(shù)據(jù)訪問組件,事務管理組件,日志記錄組件,異常處理組件等。ZTE Business Block 各種商務應用模塊集合。例如:采購管理模塊,合同管理模塊,庫存管理模塊,財務管理模塊,計

10、劃模塊,MRP模塊,車間管理模塊,供應商管理模塊,銷售管理模塊,客戶管理模塊等等。每個塊都是產(chǎn)品化的系統(tǒng)模塊, 可以方便的Plug-In到系統(tǒng)框架,通過ZTE Management Studio 配置后,可以滿足各種典型的商務應用。,框架設計解析(2),ZTE Business Flow 工作流組件。支持ZTE Business Block之間的工作流控制和管理。ZTE Management Studio 框架產(chǎn)品的管理、配置、監(jiān)控平

11、臺。ZTE Business Client ZTE業(yè)務客戶應用模塊,用戶可按CS模式使用,也可按BS模式使用。Visual Studio.Net 框架的開發(fā)工具,支持用戶使用Visual Studio.Net開發(fā)新的模塊,注冊到 ZTE Business Block中,擴展系統(tǒng)的功能,滿足自定義的業(yè)務功能擴展。,ZTE Framework設計,通用類庫( Common )應用層類庫( Application )業(yè)務層類庫(

12、Business )資源層類庫( DataAccess )工具庫( Tools ),通用類庫( Common ),系統(tǒng)通用的組件集合數(shù)據(jù)訪問組件事務管理組件異常管理組件日志管理組件緩存管理組件數(shù)據(jù)加密組件服務通訊組件自動更新組件,應用層類庫( Application ),系統(tǒng)應用層通用組件集合客戶端主框架Web主框架WinForm用戶管理WebForm用戶管理,業(yè)務邏輯層類庫( Business ),系統(tǒng)業(yè)務

13、層可重用組件集合系統(tǒng)主框架服務用戶認證服務用戶管理服務,數(shù)據(jù)訪問層類庫( DataAccess ),系統(tǒng)資源訪問層可重用的組件集合系統(tǒng)主框架數(shù)據(jù)訪問組件用戶認證數(shù)據(jù)訪問組件用戶管理數(shù)據(jù)訪問組件,工具庫( Tools ),自動更新配置工具文檔生成工具(NDoc2.0)查詢生成工具密鑰生成工具,,企業(yè)應用框架的實現(xiàn),通用類庫實現(xiàn)(1),數(shù)據(jù)訪問組件擴展Enterprise Library中的DataAccess模塊添加

14、SqlMapper功能添加DbRefCursor功能Oracle返回游標。事務管理組件基于數(shù)據(jù)訪問組件實現(xiàn),使用線程靜態(tài)的上下文類保持用戶的數(shù)據(jù)庫鏈接狀態(tài)和事務狀態(tài)。自動綁定參數(shù)。,通用類庫實現(xiàn)(2),異常管理組件擴展Enterprise Library中的ExceptionHandling模塊定制了兩種類型的異常處理策略定義系統(tǒng)基礎異常處理數(shù)據(jù)庫異常(常見的錯誤碼替換為用戶異常)日志管理組件擴展Enterprise

15、 Library中的Logging模塊定義自己的日志配置,簡化了日志寫出動作。,通用類庫實現(xiàn)(3),緩存管理組件直接使用Enterprise Library中的Cache模塊。數(shù)據(jù)加密組件直接使用Enterprise Library中的Cryptography模塊。,通用類庫實現(xiàn)(4),服務通訊組件包裝DotNet中的Remoting和Web服務的類庫,通過配置實現(xiàn)切換。添加服務基礎類,用戶上下文信息。自動更新組件擴展

16、Update Application Block模塊。添加按定義的模塊,角色下載部分的應用程序。自動更新配置工具。,應用層類庫實現(xiàn)(1),客戶端主框架包括系統(tǒng)主界面,用戶登陸窗,基礎窗體,版本信息等用戶登陸全過程(認證,系統(tǒng)初始化)用戶權限透明校驗用戶菜單加載通過配置文件動態(tài)加載業(yè)務窗體Web主框架MasterPage、基礎WebForm,用戶登陸,系統(tǒng)版本信息用戶登陸認證過程。用戶權限數(shù)據(jù)的加載,系統(tǒng)初始化通過

17、配置動態(tài)加載業(yè)務應用界面。,應用層類庫實現(xiàn)(2),WinForm用戶管理用戶創(chuàng)建,修改,分配角色等UI界面實現(xiàn)角色創(chuàng)建,修改,授權的UI界面實現(xiàn)WebForm用戶管理用戶創(chuàng)建,修改,分配角色等Web窗體實現(xiàn)。角色創(chuàng)建,修改,授權的Web頁面實現(xiàn)。,業(yè)務層類庫實現(xiàn),系統(tǒng)主框架服務按用戶的權限取用戶的菜單項,構建用戶的菜單樹。取的用戶Profile數(shù)據(jù)。用戶的自定義的桌面,與我有關。用戶認證服務提供內(nèi)部認證和外部認證方

18、式。認證的方法可擴展。用戶管理服務用戶權限模型實現(xiàn)RBAC0模型實現(xiàn)RBAC2模型實現(xiàn),數(shù)據(jù)訪問層類庫實現(xiàn),系統(tǒng)主框架數(shù)據(jù)訪問組件用戶權限數(shù)據(jù)讀取,用戶菜單數(shù)據(jù),角色數(shù)據(jù)等。用戶Profile數(shù)據(jù),用戶桌面數(shù)據(jù)。用戶認證數(shù)據(jù)訪問層訪問數(shù)據(jù)庫讀取用戶身份認證的數(shù)據(jù)。用戶管理數(shù)據(jù)訪問層用戶數(shù)據(jù)讀取,修改。角色數(shù)據(jù)讀取,修改。用戶角色關聯(lián)數(shù)據(jù)讀取,修改。角色權限數(shù)據(jù)讀取,修改。,工具庫(1),自動更新配置工具使用

19、UAB 中的配置工具擴展,生成按模塊或者角色的方式下載部指定部分的模塊。文檔生成工具(NDoc2.0)當時沒有NDoc2.0版本,我們用NDoc提供的源碼,升級到DotNet2.0版本。修改中文XML處理亂碼問題。,工具庫(2),查詢生成工具用戶使用工具定義界面元素,指定數(shù)據(jù)庫查詢過程。使用數(shù)據(jù)庫保存用戶定義的元數(shù)據(jù)。使用解析引擎解析界面的元數(shù)據(jù),動態(tài)生成界面元素。綁定數(shù)據(jù)庫過程返回結果集到界面。,,企業(yè)應用框架的實施,框

20、架給大家的是什么?,一個安裝包基礎類庫集合。系統(tǒng)開發(fā)、支持的一些工具。一份開發(fā)說明文檔開發(fā)規(guī)范。用戶手冊。SDK一個Demo項目一個Demo項目提供給開發(fā)者學習用。,通用類庫使用(1),事務管理組件異常管理組件日志管理組件緩存管理組件數(shù)據(jù)加密組件服務通訊組件自動更新組件,通用類庫使用(2),通用類庫使用(3),通用類庫使用(4),應用層類庫使用,客戶端主框架。Web主框架。WinForm用戶管理。Web

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論