




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Architecting Enterprise Application on .NET,Peng Huang ,在.NET上構架企業(yè)級應用程序,課程設計,Session 1: 軟件構架的基礎知識 Session 2: .NET軟件構架的基礎知識 Session 3: 企業(yè)級應用程序的構架 Session 4: 案例學習: PetShop .NET Session 5: Teamwork與Bug Tracking概念工具與實踐(可選),Session 1軟件構架的基礎知識,系統(tǒng)構架師 軟件構架概述 構架框架,系統(tǒng)構架師,“理想的建筑師應該既是文學家又是數(shù)字家,他
2、還應通曉歷史,熱衷于哲學研究,精通音樂,懂得醫(yī)藥知識,具有法學造詣,深諳天文學及天文計算?!?-Vitruvius(古羅馬建筑師),約公元前 25 年,所以開發(fā)良好的企業(yè)應用程序的第一步就是尋找優(yōu)秀的,系統(tǒng)構架師,軟件構架概述,構架與設計的關系: 構架屬于設計的一方面,它集中于某些具體的特征 構架的定義: IEEE Working Group on Architecture 把其定義為“系統(tǒng)在其環(huán)境中的最高層概念” David Garlan 和 Mary Shaw 認為軟件構架是有關如下問題的設計層次: “在計算的算法和數(shù)據(jù)結構之外,設計并確定系統(tǒng)整體結構成為了新的問題。 結構問題包括總體組織
3、結構和全局控制結構;通信、同步和數(shù)據(jù)訪問的協(xié)議;設計元素的功能分配;物理分布;設計元素的組成;定標與性能;備選設計的選擇?!?軟件構架概述,構架重點 構架只同以下幾個具體方面相關: 模型的結構,即組織模式,例如分層。 基本元素,即關鍵用例、主類、常用機制等,它們與模型中的各元素相對。 幾個關鍵場景,它們表示了整個系統(tǒng)的主要控制流程。 可選特征、產(chǎn)品線狀況的服務。,什么是構架框架?,構架框架或構架基礎設施(中間件) 可以在其上構建某種構架的構件集。許多主要的構架困難應在框架或基礎設施中進行解決,而且通常針對于特定的領域:命令和控制、MIS、控制系統(tǒng)等等。 目前比較優(yōu)秀,總擁有成本低的企業(yè)應用構架
4、框架,Microsoft .NET Framework,Session 2.NET軟件構架的基礎知識,.NET Framework .NET Framework 類庫 VS.NET中的企業(yè)應用程序模板 演示 Duwamish 7 C#中的層次結構,.NET Framework與VS.NET,VS 6與VS.NET,J2EE and .NET Framework,Java: 一種語言 發(fā)展為一種平臺 Packages J2EE Windows: 一個平臺 支持多種語言 Frameworks .NET Framework,.NET平臺 海容百川 有容乃大,.NET Framework支持Java語
5、言: Visual J# .NET,.NET Framework基本概念,一個基于Internet高度分布式計算環(huán)境的以簡化應用程序開發(fā)為目的的全新計算平臺 Common Language Runtime (CLR) 一個在運行時管理代碼的代理,提供核心服務,如:內存管理、線程管理、 remoting,強制保證代碼的安全和正確。 .NET Framework 類庫 一個全面的、面對對象的可重用類集合,可以用于開發(fā)包括傳統(tǒng)的命令行、GUI應用程序,還可以開發(fā)基于ASP.NET和。 code management managed code unmanaged code,.NET Framework
6、類庫,The .NET Framework Class Library,.NET Framework類庫,.NET Framework類庫,.NET Framework的優(yōu)勢,提高生產(chǎn)力 整合性 完全面向對象 易于重用 提供構架企業(yè)應用程序的全面支持 部署 操作系統(tǒng)獨立性 平臺獨立性 高性能 總擁有成本低,VS.NET中的企業(yè)應用程序模板,提供多層結構模板 Business Faade Business Rules Data Access System Framework Web Service Web UI Win UI,演示,Visual Studio .NET中的企業(yè)應用程序模板 Duw
7、amish 7 C#中的層次結構,Session 3 企業(yè)級應用程序的構架,如何編寫好的需求 Design Goals .NET Framework對設計目標的支持 企業(yè)級應用程序的部署,如何編寫好的需求,功能需求必須是可測試的 功能需求必須避免實現(xiàn)細節(jié) 好的功能需求 Administrator must be able to create, read, update, and delete (CRUD) customer accounts. Administrator must be able to configure the max outstanding balance for a cu
8、stomer Administrator must be able to change the name of a customer 不好的功能需求 該站點必須易于使用(功能需求不可測試) 該站點必須用VB.NET語言編寫(涉及實現(xiàn)細節(jié)),如何編寫好的需求,An Internet customer will be able to browse the PetShop .NET pets catalog by category. An Internet customer will be able to search for specific pets by keyword: An Interne
9、t customer will be able to select one or more pets and place them in a shopping cart for purchase. ,.NET technology and Design Goals,可用性(Availability Goal) 可維護性(Maintainability Design Goal) 可管理性(Manageability Design Goals) 高性能(Performance Design Goal) 可靠性(Reliability Design Goal) 可縮放性(Scalability De
10、sign Goal) 安全性(Security Design Goal),Maintainability Design Goal,可維護性 代碼自然的映射到設計文檔 代碼合理劃分,易于多個開發(fā)組維護 .NET Framework的支持 Use Cases implemented directly in Business Faade component Code segmented into many Visual Studio projects that can be modified together, or independently,Availability Goal,可用性 100%
11、正常運行 .NET Framework的支持 Web Farm ASP.NET Availability Enhancements Session State Stored Externally in Session Server Automatic Problem Detection and Web Server Restart Without Interruption of Service Replace DLLs Used By Site, Without Interruption of Service,Manageability Design Goals,可管理性 變更系統(tǒng)配不需要重啟
12、動系統(tǒng) 系統(tǒng)跟蹤和系統(tǒng)日志功能,系統(tǒng)性能監(jiān)視 .NET Framework的支持 Store configuration info in Web.config Trace and log to the event log using the CLR EventLog class Trace to a text file using the CLR FileInfo and StreamWriter classes ASP.NET provides performance counters for each web application Requests and response statis
13、tics Cache statistics Error statistics Transaction statistics,Performance Design Goal,高性能 超越J2EE上的PetShop .NET Framework的支持 ASP.NET compiles pages into executables Utilize ASP.NET page output caching Full Web Farm support through external session state, and stateless classes,Reliability Design Goal,
14、可靠性 “溫柔”的處理錯誤 系統(tǒng)內部 “友好”的處理錯誤 系統(tǒng)外部 .NET Framework的支持 Exception based error handling ASP.NET custom error page support,Scalability Design Goal,縮放性 Must scale up and out .NET Framework的支持 Scale up through ASP.NET Web Garden support Scale out through external session state. Access components locally or
15、through .NET remoting.,Security Design Goal,安全性 Require authentication to prevent URL spoofing .NET Framework的支持 Utilize ASP.NET built-in form authentication,企業(yè)級應用程序的簡單部署,Session 4案例研究: PetShop .NET,PetShop .NET概述 PetShop使用演示 PetShop .NET與PetShop J2EE PetShop .NET系統(tǒng)模型 PetShop .NET中的Web Service 演示: V
16、isio與PetShop .NET軟件構架 PetShop .NET中的Web Service,Overview of PetShop .NET,PetShop .NET是一個簡單的寵物銷售網(wǎng)站系統(tǒng) 主要業(yè)務:在線寵物銷售 B2C的商業(yè)模式 基本功能: 會員管理、帳號管理、購物車、搜索、結帳 構架于Microsoft .NET平臺之上,Overview of PetShop .NET,J2EE體系結構的經(jīng)典之作 看看它在.NET上是什么樣,Overview of PetShop .NET,演示PetShop .NET Solution,PetShop .NET與PetShop J2EE,同樣的
17、應用在.NET上重寫后表現(xiàn)如何? 代碼編寫量比較 性能與可縮放性比較 占用CPU百分比比較 比較的本質: .NET Framework與J2EE兩個軟件基礎框架在構架企業(yè)應用程序上的優(yōu)劣,代碼編寫量比較,代碼編寫量比較,實現(xiàn)同樣的功能需求:三分之一的代碼編寫量 .NET 4410行,J2EE 14273行 配置減少: .NET 74行,J2EE 2566行 中間層減少: .NET 710行, J2EE 5404行 代碼減少意味著什么: 擁有成本低 更易于維護,簡單就是美,性能與可縮放性比較,占用CPU百分比比較,Logical Layer Architecture,關鍵的Use Case Di
18、agram,Use Case Diagram從用戶通過系統(tǒng)能做什么角度描述系統(tǒng) Software Model,關鍵的Use Case Diagram,Customer Account Management,關鍵的Use Case Diagram,Pet Search,關鍵的Use Case Diagram,Purchase Pet,Activity Diagram,Activity Diagram描述用戶如何做某事,數(shù)據(jù)模型,在設計中使用Visio對數(shù)據(jù)庫建模 利用Visio分析原有數(shù)據(jù)庫 ER vs. ORM,Web Service,Web Service Definition Web se
19、rvices are loosely coupled software components delivered over Internet standard technologies. Daryl Plummer, Gartner,Web Service Characteristics,Programmatic interface Using standard web protocols Loosely-coupled connections,Web Service,Where is the web service ? NG Web Application Web-accessible XM
20、L-based services Internet, Intranet, Extranet B2B, B2C, P2P Application Service Schedule, Email, stock quotes System Service Directory, messaging, database, security,Hailstorm,Web Service,B2B 和 EAI的最佳選擇 PetShop .NET:OrderWebService GetOrderDetails() SOAP method,Data Access,Database,Business Rules,We
21、b Browser,XML,Application,Demo,Visio與PetShop .NET建模 PetShop Solution 軟件建模 數(shù)據(jù)庫建模 PetShop .NET中的Web Service GetOrderDetails() SOAP 方法,Session 5Teamwork與Bug Tracking工具與實踐,Teamwork的基本知識 演示: VSS and VS.NET演示 Bug Tracking的基本知識 演示:Bug Tracking Tool,Teamwork的基本知識,目標: On time and on budget 企業(yè)軟件開發(fā)的需求需要Teamwork 什么樣的Teamwork是合理的 Teamwork的機制 Check in, Check out, Get last version 每日構建如何實現(xiàn) Teamwork工具:Visual Source Safe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國腹腔鏡壓榨機行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國脫水冷凍水果行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國膠合板行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國聚醚消泡劑行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國聚光鏡行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 基于大數(shù)據(jù)的營銷活動分析報告
- 2025至2030中國美甲行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資發(fā)展報告
- 2025至2030中國羊奶粉行業(yè)市場深度研究及發(fā)展前景投資可行性分析報告
- 2025至2030中國網(wǎng)絡動漫行業(yè)營銷模式與投資契機深度評估報告
- 2025至2030中國罐式集裝箱行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報告
- 預防艾滋病、梅毒和乙肝母嬰傳播相關報表、上報流程和要求
- 《鐵路技術管理規(guī)程》(普速鐵路部分)-14年新版
- 食用油儲存期品質變化的太赫茲光譜無損識別
- 胎盤早剝預案演練腳本
- 五山文學全集第一卷
- 聚磷腈功能高分子材料的合成及應用
- 中國鐵路總公司《鐵路技術管理規(guī)程》(高速鐵路部分)2014年7月
- 鈣加維生素Dppt課件(PPT 14頁)
- TRD深基坑止水帷幕施工方案(22頁)
- 八少八素初試甄別試題
- 企業(yè)組織架構圖模板
評論
0/150
提交評論