Presentation is loading. Please wait.

Presentation is loading. Please wait.

1. 2 培训日程安排  设计基于.NET 企业级体系结构 -- 1 小时  VS.NET 开发环境以及 ASP.NET -- 1.5 小时.

Similar presentations


Presentation on theme: "1. 2 培训日程安排  设计基于.NET 企业级体系结构 -- 1 小时  VS.NET 开发环境以及 ASP.NET -- 1.5 小时."— Presentation transcript:

1 1

2 2 培训日程安排  设计基于.NET 企业级体系结构 -- 1 小时  VS.NET 开发环境以及 ASP.NET -- 1.5 小时

3 设计基于.NET 企业级体系结构 张炜 Evangelist 微软公司

4 4 设计.NET 体系结构  Microsoft.Net Architecture  J2EE 比较  企业开发工具简介

5 5 系统构架师  “ 理想的建筑师应该既是文学家又是数字家, 他还应通晓历史,热衷于哲学研究,精通 音乐,懂得医药知识,具有法学造诣,深 谙天文学及天文计算。 ” --Vitruvius (古罗马建筑师),约公元前 25 年 所以开发良好的企业应用程序的 第一步就是寻找优秀的 系统构架师

6 6 软件构架概述  构架重点  构架只同以下几个具体方面相关:  模型的结构,即组织模式,例如分层。  基本元素,即关键用例、主类、常用机制等,它们 与模型中的各元素相对。  几个关键场景,它们表示了整个系统的主要控制流 程。  可选特征、产品线状况的服务。

7 7 什么是构架框架 ?  构架框架或构架基础设施(中间件)  可以在其上构建某种构架的构件集。许多主要 的构架困难应在框架或基础设施中进行解决, 而且通常针对于特定的领域:命令和控制、 MIS 、 控制系统等等。  微软公司的解决方案,总拥有成本低的企业 应用构架框架 Microsoft.NET Framework

8 8 操作系统 公共语言运行库 基类库 ADO.NET 和 XML ASP.NET Web 表单 Web 服务 Mobile Internet Toolkit Windows表单 公共语言规范 VBC++C#J#… Visual Studio.NET.NET Framework 体系结构

9 9.NET Framework 基本概念  一个基于 Internet 高度分布式计算环境的以简化应 用程序开发为目的的全新计算平台  Common Language Runtime (CLR)  一个在运行时管理代码的代理,提供核心服务,如:内存管理、 线程管理、 remoting ,强制保证代码的安全和正确。 .NET Framework 类库  一个全面的、面对对象的可重用类集合,可以用于开发包括传 统的命令行、 GUI 应用程序,还可以开发基于 ASP.NET 和。  code management  managed code  unmanaged code

10 10 3 层体系架构3 层体系架构  表示层  业务逻辑层  数据层

11 11 3 层体系架构3 层体系架构

12 12 DNA 与.NET 体系结构比较.NET 表示层 业务逻辑层 数据层 CLR.NET Assembly ADO.NET (Can use COM+ Services; e.g. transactions) Windows DNA Web Forms Server Controls Code-Behind ASP.NET IIS SQL Server Oracle DB/2, etc. COM ASP and IIS Inline ASP VBScript/JScript VB/VC ADO (Can use COM+ Services; e.g. transactions) SQL Server Oracle DB/2, etc.

13 13 表示层  表示层技术  ASP.Net: Web 表单, – 组件, HTML, DHTML, 脚本  Win forms – Win32 API 和组件  Mobile Internet Tool Kit – 开发移动设备应用

14 14 业务逻辑层 ( 中间层 )  组件技术 .Net 程序集 (Assembly)  Web Services  特性  Database Connectivity (ADO.Net)  Transaction services  Queued component services

15 15 业务逻辑层 ( 中间层 )  可管理性  可扩展性以及集群技术  监视  安全性  企业应用集成 (EAI)

16 16 演示: 基于 NET 体系架构的快速开发 表示层 业务层 数据层 Business to Business (BizTalk, for example) Web Forms Windows Forms XML Internet Intranet Data Object (Class) Data Set SqlDataAdapter SqlDataAdapter d d IE MyApp.exe

17 17.Net Web 体系结构 1 Non-Web Clients Data Tier Web Tier IIS-01 IIS-02 IIS-03 SQL-01 SQL-03 SQL-02 IIS Server Cluster Data Storage Cluster Application Server Cluster Middle Tier ASP.Net ASP.Net ASP.Net Web Service.Net Components Transaction Message Queue ADO.Net Scalability Monitoring Security Web Clients

18 18.Net Web 体系结构 2 Web Clients Data Tier SQL-01 SQL-03 SQL-02 Server Cluster Data Storage Cluster Web & Application ServerASP.Net.Net Components Transaction Message Queue ADO.Net Scalability Monitoring Security

19 19 两种结构比较  结构 1  更好支持 Web 和非 Web 客户端  类似于 J2EE 应用体系结 构  结构 2  更适合于 Web 客户端体 系结构  性能更好

20 20 数据层  数据层技术  Heterogeneous data stores  OLE DB  ADO.NET  XML

21 21 议程  Microsoft.Net Architecture  J2EE 比较  企业开发工具简介

22 22 Browser Client Browser Client HTTP Unix, Windows NT/2000, OS/390, others Rich Client Rich Client EJB DBMS EJB Applications HTTP Listener DBMS IIOP, Others JSP Pages JDBC DBMS Various JSP Tools Various Java Tools JDBC J2EE 体系架构 Java ServletsJDBC

23 23 表示层 业务逻辑层 数据层 J2EE CLR.NET Assembly ADO.NET (Can use COM+ Services; e.g. transactions) Web Forms Server Controls Code-Behind ASP.NET IIS JavaBeans EJBs JSP Servlets Runs on most major application/web servers Support for most databases via Type 4 drivers J2SE/EE JDBC.NET SQL Server Oracle DB/2, etc. SQL Server Oracle DB/2, etc. J2EE 与.NET 体系结构比较

24 24 Windows DNA 数据访问 Client ADO OLE DB Data ODBC DBMS or other data source

25 25 J2EE 数据访问 Client JDBC Data ODBC DBMS or other data source

26 26 ASP Extension IIS HTTP Database ASP Script Built-in Objects Other COM Objects ASPs 和 COM 对象 ADO Objects

27 27 JSP Container EJB Objects Web Server HTTP Database JSP Script Implicit Objects Other Java Objects JSPs 和 其他 J2EE 技术 JavaBeans JDBC Objects

28 28 Portability vs. Performance OSOS OS J2EE.NET Good portability Low performance Good performance Low portability Source: ObjectWatch

29 29 尼罗 – Nile 应用服务器性能 测试

30 30 尼罗 – Nile 应用服务器性能测试  由 Doculabs 创建,被 ZD 实验室大量采用的 评测基准程序  端到端电子商务应用  包括  90% 访问数据的页面  使用脚本和组件  随机的数据库搜索和浏览  数据库事务  用户认证 / 登录  真实的数据  会话状态(购物车)  可选动态页面的输出缓存

31 31 尼罗测试  测试的方案  MS.NET 用 C#/ASP.NET 来实现  ASP 使用 VB6 COM+ 组件  ISAPI/ATL 服务器使用 VC++ 7.00  采用 JSPs 的两种领先 J2EE 应用服务器  采用 EJBs 的两种领先 J2EE 应用服务器  所有的材料和源代码都可以从网上下载 .NET vs. WebSphere benchmark kit  任何人都可以重复该测试

32 32 硬件配置 应用服务器 : Compaq 8500 2, 4 and 8 550 MHz Pentium III 数据库服务器 : Compaq 8500 8 x 550 MHz Pentium III 网络 : Cisco gigabit ethernet 客户端负载测试工具 : 100 clients running Benchmark Factory 2.6

33 33 The Nile J2EE Results: Peak Throughput 1000 1250 750 500 8 CPUs Pages Served Per Second 4 CPUs 2 CPUs 1500 1750 J2EE App Server A JSP/Linux 7.2 537 957 1362 2-tier 668 890 930 J2EE App Server B EJB/Linux 7.2 3-tier VB-COM+W2K 478 874 1260 3-tier J2EE App Server B JSP/Linux 7.2 834 1280 1395 2-tier 489 905 1289ASP/W2K 2-tier 400 649 886 J2EE App Server A EJB/Linux 7.2 3-tier 400

34 34 The Nile J2EE Results: Peak Throughput 2500 3000 2000 1500 8 CPUs Pages Served Per Second 4 CPUs 2 CPUs 3500 4000 J2EE App Server A EJB/Linux 7.2 668 890 930 J2EE App Server B EJB/Linux 7.2 3-tier VB-COM+W2K 478 874 1260 3-tier 649 886 3-tier 400 C++ ATL Server W2K 1633 2867 4004 3-tier ASP.NET C# W2K 1399 2713 3999 3-tier 1000 500 4500

35 35 Nile.NET vs. Websphere 4.0 Benchmark Kit  Http://www.gotdotnet.com/team/compare Http://www.gotdotnet.com/team/compare  任何人都可以下载,直接测试.NET 和 WebSphere 。  基于 Nile 应用  包括全部源代码,优化指南  客户可以自己完全比较.NET, ASP/COM+, ISAPI, JSP, and EJB

36 36 Nile Bookstore demo demo

37 37 Nile Load Tests 1. Nile VB/COM+/ASP 2. Nile C# (Managed SQL Server Provider) 3. Database tuning for Nile C# (Index) 4. Database tuning for Nile VB/COM+/ASP 5. Output Caching 6. Nile C# Oracle (OLE DB Provider) 7. Nile C# Oracle (Managed Oracle Provider)

38 38 Performance Results Test Pages / Second Nile VB/COM+/ASP ( Server / Library) 100 / 190 Nile C# (Managed SQL Server Provider) 250 Database tuning for Nile C# 414 Database tuning for Nile VB/COM+/ASP 200 Output Caching 500+ Nile C# Oracle (OLE DB Provider) 195 Nile C# Oracle (Managed Oracle Provider Beta) 280

39 39 Overview of PetShop.NET J2EE 体系结 构的经典之作 看看它在.NET 上是什么样

40 40 According to SUN Java Pet Store is…. ( “ 一个展现了如何最佳利用 J2EE 技术的完整的在 线商务系统 ( A full-fledged online store illustrating how to best leverage J2EE technologies).” “… 一个展示了 J2EE 技术基本使用方法的示例应 用程序,同时也展现了系统设计的最佳实践方 法 ( a sample application which illustrates basic usage of J2EE technology, and demonstrates current best practices in system design.)“

41 41 在.NET 架构上实现 Java 宠物店  Java Petstore 是 Sun J2EE 的主要示例 程序  源代码 : http://java.sun.com/j2ee/blueprints http://java.sun.com/j2ee/blueprints  展示了 J2EE 编码的最佳实践方法  在 IBM WebSphere, Oracle App Server 9i, Sun iPlanet, BEA WebLogic 等系统中作为示 例程序提供 .NET Petshop 是 J2EE Java Petstore 在.NET 的实现  源代码 : http://www.gotdotnet.com/compare http://www.gotdotnet.com/compare  实现了 Java Petstore 完全同样的功能  展示了.NET Framework 编码的最佳实践方法

42 42 PetShop.NET 与 PetShop J2EE  同样的应用在.NET 上重写后表现如何?  代码编写量比较  性能与可缩放性比较  占用 CPU 百分比比较  比较的本质: .NET Framework 与 J2EE 两个软件基础框架在 构架企业应用程序上的优劣

43 43.Net 宠物店逻辑结构

44 44 代码编写量比较.NET = 1/3 the code 14000 7500 9000 5000 2500 15500 11500 Java Petstore Lines of Code Required User Interface 3,484 Data Tier Middle Tier 1,881.NET Petshop 14,273 5,891 Configuration Total Lines of Code 863 5,404 68441256 2,566

45 45 代码编写量比较  实现同样的功能需求:三分之一的代码编写量 .NET 4410 行, J2EE 14273 行  配置减少: .NET 74 行, J2EE 2566 行  中间层减少: .NET 710 行, J2EE 5404 行  代码减少意味着什么:  拥有成本低  更易于维护 简单就是美

46 46 性能与可缩放性比较

47 47 占用 CPU 百分比比较

48 48.Net 调试环境

49 49.Net 内建支持 Web Services

50 50.Net 支持移动设备开发 <mobile:Image id="imgLogoWelcome" runat="server" AlternateText="Pet Shop" ImageURL="../images/mobile_title.gif"> Username dotnet Password <mobile:TextBox id="txtPassword" runat="server" Password="True"> Go <mobile:Image id="imgLogoRecentOrders" runat="server" AlternateText="Pet Shop" ImageURL="../images/mobile_title.gif"> Recent Orders <mobile:SelectionList id="lstRecentOrder" runat="server" SelectType="ListBox"> Check Status <mobile:Image id="imgLogoResults" runat="server" AlternateText="Pet Shop" ImageURL="../images/mobile_title.gif"> Order Status Results <mobile:Label id="lblOrderStatus" runat="server" Font-Size="Normal">

51 51 J2EE and.NET Framework  Java :  一种语言  发展为一种平台  Packages  J2EE  Windows :  一个平台  支持多种语言  Frameworks .NET Framework.NET 平台 海纳百川有容乃大.NET Framework 支持 Java 语言 : Visual J#.NET

52 52 议程  Microsoft.Net Architecture  J2EE 比较  企业开发工具简介

53 53 企业架构工具  UML 软件建模  数据库建模  企业开发模板  应用程序中心测试 ACT 团队开发  源代码版本控制 VSS

54 54 软件工程  Visio 2002 专业版的 UML 解决方案  文档与设计  基于模块 ( 而不是简单的 Visio 图形 )  反向工程生成类图 ( 静态结构 )  用其他 Visio 图形来注释  Visual Studio.Net 企业架构版  支持所有的文档与设计特性  检查是否格式良好  快速生成代码  可定制的代码模板  报告

55 55 数据库工程  Visio 2002 专业版的数据库解决方案  Design and Document  用各种丰富图形创建实体关系图 (ER)  支持关系以及对象关系  对 RDBMS 数据库结构进行反向工程  SQL Server, Oracle, DB2, Informix, Sybase, Access...  导入 / 导出 ERwin ERX files  Visual Studio.Net 企业架构版  生成数据库物理结构 ( 通过 DDL 脚本 )  模型错误检查  模型 - 数据库 同步  数据库报告

56 56 企业架构版中 Visio 的强大建 模功能

57 57 企业开发模板 IT 开发中的问题  IT 开发项目越来越大,越来越复杂,越来越重要  一个设计差的体系结构往往导致整个平台性能低 下  只有所有的人都遵循一定的规则,一个好的架构 才能实现  好的帮助总是很难马上找到  “ 最佳实践 ” 根本没用,如果没有人去学习

58 58 企业开发模板 设计目标 在程序员设计程序时,就能获益于整 个企业的专业开发知识和经验 :  解决 “ 白板 ” 问题  解决 “747 仪表盘 ” 问题  让程序员总是做正确的事情

59 59 企业开发模板 是什么 ? 企业模板 应用程序体 系结构 ( 项目, 代码等 ) 策略 (TDL) 指导性内 容 ( 文本和 html) 包括的内容 不包括的内容

60 60 企业模版

61 61 应用程序中心测试 ACT 为什么要用 Application Center Test?  创建一个性能优越的应用  程序员在开发阶段就可以对应用进行优化调整  避免大的潜在性能问题  程序员可以根据组件和代码来尽早发现问题  预测 Web 应用的性能  在整个软件开发周期阶段,提供一个通用的测试 框架

62 62 应用程序中心测试 ACT 主要特性  与 Visual Studio.NET 集成在一起  支持 Visual Studio 工程  在 Visual Studio 环境中编辑和运行测试  有效的强度引擎程序  可以在本机运行测试,也可以测试网络上的一 台 Web 服务器  得出 web 应用最大的吞吐量。可以模拟多个浏 览器连接

63 63  手工创建测试  用 VBScript 或者 Jscript 或者其他支持 COM 的脚本语言  在测试运行的时候,控制请求和响应的每一部 分  浏览器纪录  根据你运行程序的过程,创建一个动态的测试  在本机捕捉所有的 HTTP 请求 创建测试

64 64 用 Application Center Test 来测试应用 演示

65 65 © 2001 Microsoft Corporation. All rights reserved.


Download ppt "1. 2 培训日程安排  设计基于.NET 企业级体系结构 -- 1 小时  VS.NET 开发环境以及 ASP.NET -- 1.5 小时."

Similar presentations


Ads by Google