《使用.NET开发大型的企业级应用程序.ppt》由会员分享,可在线阅读,更多相关《使用.NET开发大型的企业级应用程序.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、开发大型的企业集应用开发大型的企业集应用程序程序(Visual C#.NET)微软微软MSDN讲师讲师基础内容基础内容n熟悉熟悉Microsoft.NET,.NET中的面向对象程序设计,中的面向对象程序设计,和和Microsoft ADO.NETnLEVEL 300课程介绍课程介绍n这次这次Webcast回给大家介绍如何开发企业级的应用回给大家介绍如何开发企业级的应用程序程序课程安排课程安排n组件化的设计组件化的设计n多层的应用程序设计多层的应用程序设计n中间层的概念中间层的概念n分布式应用程序设计分布式应用程序设计n团队开发团队开发n集成集成组件化程序设计组件化程序设计n创建可重用的组件创建
2、可重用的组件n重用现有的组件来缩短开发时间重用现有的组件来缩短开发时间n建立一贯的组件理念建立一贯的组件理念n制定一个组件策略制定一个组件策略nPatterns和和Practicesn制定一个设计制定一个设计-评审计划评审计划n建立知识库建立知识库n给团队中的成员进行培训知识库的内容给团队中的成员进行培训知识库的内容n激励团队的成员维护知识库的内容激励团队的成员维护知识库的内容多层应用程序体系结构多层应用程序体系结构n为了重用、模块化和可维护,尽量按照程序逻辑将应用程序为了重用、模块化和可维护,尽量按照程序逻辑将应用程序代码划分为松耦合的层次结构代码划分为松耦合的层次结构n典型的典型的3层逻辑
3、构架层逻辑构架l表示层l商业逻辑层l数据访问层(数据存储层)n将不同的逻辑层次部署到多个物理层当中,实现部署的可扩将不同的逻辑层次部署到多个物理层当中,实现部署的可扩展性展性n典型的典型的3层物理构架层物理构架l表示层UI,例如WinForms或ASP.NET页面l中间层商业逻辑组件,一般运行在宿主环境下l数据访问层高性能的、并发RDBMS,例如Microsoft SQL ServerTM3层的物理构架层的物理构架物理层之间的数据传递物理层之间的数据传递n数据在多层之间传递的过程中必须要事先进行封数据在多层之间传递的过程中必须要事先进行封装装n封装数据有几种选择封装数据有几种选择lDataSe
4、t最简单的方式lXMLl自定义对象效率最高n究竟选择哪种封装方式,需要因地制宜的选择究竟选择哪种封装方式,需要因地制宜的选择演示一演示一n分层的应用构架分层的应用构架物理中间层的可选方案物理中间层的可选方案n在宿主环境中运行商务逻辑层的组件在宿主环境中运行商务逻辑层的组件nWeb Service和和System.Web名称空间名称空间nCOM+和和EnterpriseServices名称空间名称空间nRemoting组件和组件和System.Runtime.Remoting名称空间名称空间n可伸缩性可伸缩性 高性能高性能演示二演示二nWeb Service面向服务的构架面向服务的构架n当为企业
5、设计应用程序时,高可伸缩性是极为重当为企业设计应用程序时,高可伸缩性是极为重要的设计目标要的设计目标nService-Oriented Architecture(SOA)要求设计人员)要求设计人员将代码按照层次分隔开来将代码按照层次分隔开来n代码之间建立松耦合的关系代码之间建立松耦合的关系n可伸缩性可伸缩性SOA能够带来更多的吞吐量,支持同能够带来更多的吞吐量,支持同时处理更多的并发请求时处理更多的并发请求SOA考虑的问题考虑的问题n设计阶段一定要三思而后行设计阶段一定要三思而后行n服务一定要设计成状态无关的服务一定要设计成状态无关的n状态管理会带来很多问题状态管理会带来很多问题n服务之间的互
6、操作性设计服务之间的互操作性设计n可用性设计可用性设计n可伸缩性不等同于性能可伸缩性不等同于性能n易于部署易于部署n易于开发易于开发n安全设计安全设计分布式应用程序设计分布式应用程序设计n分布式计算的优势与劣势并存分布式计算的优势与劣势并存l支持伸缩通常来讲,一组网络计算机的工作能力要l强于单一的计算机单元l可以使用离线模型l可能会有数据并发的问题n数据缓冲数据缓冲l数据不能及时更新l并发冲突:两个离线的用户同时更改相同的记录并同时更新n安全性安全性分布式应用程序更难保证数据的安全分布式应用程序更难保证数据的安全n连接问题连接问题n维护问题维护问题团队开发团队开发n项目越大,需要的开发人员越多
7、项目越大,需要的开发人员越多n组件化的开发意味着更多的开发人员能够并行开组件化的开发意味着更多的开发人员能够并行开发发n资源的增加与开发时间不是线性关系:资源的增加与开发时间不是线性关系:加倍开发人数加倍开发人数 开发时间减半开发时间减半n项目越大意味着项目越复杂;意味着需要更好的项目越大意味着项目越复杂;意味着需要更好的项目管理项目管理n通过使用工具可以减轻工作的复杂度通过使用工具可以减轻工作的复杂度nMicrosoft Visual SourceSafe源代码管理源代码管理n企业模版(企业模版(Enterprise Template)团队开发(续)团队开发(续)n使用使用SourceSaf
8、e并依赖它来工作并依赖它来工作n制定代码审核计划制定代码审核计划n遵从统一的代码标准遵从统一的代码标准n增加人力与开发时间不是线性关系:增加一个开增加人力与开发时间不是线性关系:增加一个开发人员不等于开发的时间会减半发人员不等于开发的时间会减半n工作量的分配要根据每一个成员的能力来制定工作量的分配要根据每一个成员的能力来制定SourceSafen签入(签入(Check In)/签出(签出(Check Out)源代码)源代码n保留代码(或文本文件)的版本历史,在必要的保留代码(或文本文件)的版本历史,在必要的时候能够恢复时候能够恢复n为工程添加标签:可以得到整个项目的一个特定为工程添加标签:可以
9、得到整个项目的一个特定的版本的版本n可视化的比较文件版本可视化的比较文件版本n可以在项目之间共享文件可以在项目之间共享文件n可以集成到可以集成到Microsoft Visual Studio.NET IDE演示三演示三nSourceSafe整合现有的系统整合现有的系统n在很多企业里,他们经常同时使用多种操作系统、在很多企业里,他们经常同时使用多种操作系统、软件平台、软件平台、RDBMS和工作流程和工作流程n需要一种新的技术可以将它们整合在一起需要一种新的技术可以将它们整合在一起n商务应用希望应用新的技术,但不希望重新编写商务应用希望应用新的技术,但不希望重新编写应用程序应用程序n根据不同的系统
10、环境,我们可以选择很多集成的根据不同的系统环境,我们可以选择很多集成的方法方法集成方案集成方案n设计良好的设计良好的VB应用和应用和COM应用能够很容易的整合在一起应用能够很容易的整合在一起n跨平台的集成可以在不同的层次上实现:跨平台的集成可以在不同的层次上实现:l数据库层实现集成l用桥的方式实现集成,有一些第三方的工具JIntegra,Jeneva,JCOMlWeb Service实现集成,如果现有系统中有基于WS的SOA构架lWeb Service实现集成可以提供高互操作性,并同时具有松耦合性、可伸缩性和可用性nEnterprise Application Integration(EAI)
11、Microsoft BizTalk演示四演示四n现有组件的互操作现有组件的互操作几个值得关注的研究主题几个值得关注的研究主题nPatterns and PracticesnEnterprise Instrumentation Framework(EIF)nEnterprise TemplatesnWindows ServicesnAutomated build tools(BuidIt,NAnt)nTest-driven development(NUnit)总结总结n开发大规模的应用程序需要比开发简单的应用程开发大规模的应用程序需要比开发简单的应用程序投入更多的努力序投入更多的努力n用组件化的方法开发企业应用程序具有很多优势用组件化的方法开发企业应用程序具有很多优势n.NET提供了很多功能和工具来帮助你简化大规模、提供了很多功能和工具来帮助你简化大规模、复杂的项目开发复杂的项目开发n设计多层的应用程序有助于应用程序实现重用性、设计多层的应用程序有助于应用程序实现重用性、伸缩性和可扩展性伸缩性和可扩展性更多信息更多信息n使用使用VS.NET和和VSS进行团队开发进行团队开发http:/ n企业开发中心企业开发中心http:/ nhttp:/ nDuwamish,Fitch&Mather,IBuySpy,PetShophttp:/