




已阅读5页,还剩49页未读, 继续免费阅读
(系统工程专业论文)基于NET平台的三层Web应用系统的开发与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘 要 本文结合分布式体系结构的发展状况对分布式应用系统.net 平台架构进行了研究深入讨论了.net 平台的总体结构主要支撑技术阐述了构建一个基于web 的分布式应用程序所涉及到的相关技术利用.net 应用软件技术平台给出了开发人力资源数据录入系统的设计和开发过程充分体现了.net 平台在开发基于 web 的分布式应用程序上的优越性主要对基于.net 平台的三层应用体系结构的系统分析设计与应用问题进行了研究 根据 b/s 模式 web 应用程序开发的特点阐述了基于.net 平台开发应用系统的方法和步骤在此基础上分析了人力资源部门的信息管理目标归纳了员工基础数据录入系统的业务流程和信息流程研究了基于.net 平台的三层 web 体系结构的功能模型并从系统分析系统功能系统框架三个方面对系统进行了描述 结合云南华能澜沧江水电有限公司管理信息系统ylc-mis的实际项目背景作者开发了基于.net 平台的人力资源部员工基础数据录入系统分析了人力资源部在基础信息管理上的具体应用模式归纳了员工基础信息维护的主要业务流程并在此基础上建立了该录入系统的实体关系模型本文最后从系统功能系统特点数据服务层的设计和 web应用系统的设计等方面对人力资源数据录入系统进行了介绍 关键词.net平台 三层体系结构 数据访问 ii abstract at first, with the state of development of distributed system structure, this thesis researched .net platform, which support distributed application system. it not only discussed the ensemble architecture and working mechanism of .net platform deeply, but also told relevant technology which distributed application program based on web should use. with utilized new .net platform of software development technology, this paper gave the course that how to develop the application programming system of human resource basic information input system. the superiority of .net platform in developing the distributed application program has been fully reflected. the dissertation summarizes the three-tier web application program and software architecture; whats more, includes system analysis, design and applications. on the foundation of the characteristic of web application program, this paper expatiated the method and approach of application system based on .net platform; and analyzed the objective of human resource management information system, induced the operation and information flow of personnel basic information input system, presented a universal functional model of three-tier web application program, and described the system from three aspects of modelfunction and characteristic. combined the project background of yunnan huaneng lancangjiang management information system, the author developed the subsystem of human resource management information system, analyzed the application of basic information management, induced the operation flow of employee basic information maintenance, and established the e-r model based on it. at last this paper presented the system from the three aspects of functioncritical technology and characteristic. key words: .net platform, three-tier system structure, data access 独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取得的研究成果近我所知除文中已标明引用的内容外本论文不包含任何其他人或集体已经发表或撰写过的研究成果对本文的研究做出贡献的个人和集体均已在文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 学位论文作者签名 日期 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规定即学校有权保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索可以采用影印缩印或扫描等复制手段保存和汇编本学位论文 保密在_年解密后适用本授权数 本论文属于 不保密 请在以上方框内打 学位论文作者签名 指导教师签名 日期 年 月 日 日期 年 月 日 1 1 绪 论 1.1 研究的目的和意义 在政府和企业向网络时代的转变过程中如何实现信息管理的数字化网络化已成为各个部门亟待解决的关键问题随着网络技术的高速发展web 已经从一个大部分显示静态信息的网络演化成能够进行一些实用操作的动态网而作为企业internet 的核心是 web 技术它的应用构成了与平台无关的统一而简单的交流方式企业建立 internet 选择的信息模型将直接关系到信息在企业内部的流传共享与使用b/s 结构的出现使人们看到了新型数据库运行的体系结构因此国内外各企业单位都力争将自己的计算机应用系统由传统的 client/server (客户机/服务器)模式向 browser/server(浏览器/服务器)模式转变而且不满足于单台计算机所提供的信息和服务开始将计算机连接起来共享资源信息服务1 随着 windows 系列等操作系统将浏览器技术植入操作系统内部这种结构更成为当今应用软件系统的首选体系结构microsoft.net 是将互联网本身作为构建新一代操作系统的基础是对互联网和操作系统的设计思想进行合理延伸. net 环境给开发人员提供了构建 web 应用系统的全新平台使开发人员轻松实现互联网连接microsoft.net 的战略是当今计算机技术的一个非常重要的里程碑基于.net环境构建 web应用系统优势明显商机众多但在中国市场却发展较缓慢分析其主要原因有以下两个问题 (1) web 应用系统的开发和传统软件开发的显著区别传统软件工程方法和技术应用到基于 web 的系统开发中显得力不从心在基于 web 的应用系统开发中如果缺乏严格的过程控制在开发发布实施和维护 web系统的过程中可能就会碰到一些严重的问题而且随着基于 web的系统变得越来越复杂失败的可能性很大web 应用系统的开发维护和管理需要新的方法这些方法将有别于传统的软件工程方法 2 (2) 目前基于 net 构建系统已较为流行但是完整的案例尚不多见在开发实际的应用系统如果有相应完整的开发模式作为参考在熟悉.net 平台下的软件构建模式之后相信越来越多的开发机构会投入到基于.net平台的开发中来 以 web 方式构建应用.net 工具利用现代化数字信息手段实现应用系统正是为了增加应用系统的科技含量并使开发机构适应日新月异的数字化生存新环境提高对新技术的消化吸收同时通过从设计到实现一个应用系统得到体系化的开发 web应用系统模式和理念并将为国内企业提供一种全方位开放高效安全低投入的 web应用系统开发过程的参考将使中国企业在信息化过程中拥有一个高起点因此基于.net环境开发 web应用系统的研究很有意义 程序设计理念的革新推进了软件工程的演进应用程序开发技术正发生着一次质的飞跃从根本上大幅度提高了开发人员的生产效率它为开发人员进行一种全新概念应用程序的开发提供了一种新的思路2 随着 web 浏览器迅速变得无所不在和 web 服务其遍布大小公司对于企业的运作方式产生了巨大的影响因而许多企业在这个竞争激烈的时代都必须加快企业的脚步从而可以更好地利用 internet 丰富的信息资源以及潜在的用户尽管客户端/服务器软件的开发者尽了最大努力使其产品具有 web 功能但是在设计系统开发时仍需要采用与 web计算模型截然不同的方式来思考应用程序模型显然要求有新的技术和工具来迎接技术变化和开发人员所面临的挑战针对这种情况研究基于 web 的分布式计算模式的应用系统来取代传统的客户机/服务器模式构建一个易于开发易于维护并具有良好可伸缩性的应用程序就显得尤其必要 基于 web 的分布式结构的出现可以解决客户机/服务器结构在维护上所需的高成本尤其是当客户端在不同的区域时因为它能够让不同的用户获得几乎相同的用户体验而不会团为应用逻辑的不同而有比较大的区别此外也可以改善客户机/服务器结构延展性的问题对于当前 internet/intranet 迅猛发展情况下以电子商务为代表的应用系统而言需要使用更具延展性的分布式结构来解决这个问题 另外从重复使用的角度来看基于 web 的分布式结构也是优于客户机/服务器结构的分布式结构能够迫使软件开发人员以企业对象的形态编写企业逻辑进 3 而允许其他系统或是 internet 系统可以重复使用这些企业对象这对于软件开发人员以及客户端的维护都具有正面的效益也能够降低系统的维护成本 此外所有的开发工具厂商数据库厂商中介软件厂商以及 internet 工具厂商都加入了对于分布式结构的支持所以也造成了分布式应用系统开发的日益完善的体系结构事实上从所有的软件开发的迹象来看b/s 结构已经成为不可避免的趋势 确定进行该课题的研究主要有以下三个目的首先通过对分布式体系结构的研究掌握如何运用分布式体系结构的知识构建一个具有稳定性延展性和较高执行效率的基于 web 的分布式应用系统其次通过对.net 平台具体技术的研究开发基于.net 平台的基础数据录入系统以加深对于.net 平台相关核心技术的理解和掌握最后在具体的技术路线上因为 microsoft 公司推出的.net 平台为构建基于 web的分布式应用提供了极其丰富的由上至下的整体解决方案并且微软作为全球在桌面操作系统上占有绝对优势的软件公司它所推出的每一项新技术都对计算机产业产生巨大的影响所以在当今研究.net 架构以及它的实际应用也具有非常重要的现实意义 2 1.2 课题背景 华能云南澜沧江水电有限公司ylc以下简称澜沧江公司于 2001 年 2 月18 日成立主要任务是开发澜沧江金沙江流域的水电资源现代化的管理需要科学的管理思想和先进的管理手段需要建设适合本企业的计算机管理信息系统以合理开发并充分利用信息资源澜沧江公司是一个流域开发和管理公司涉及多个梯级电站具有开发周期长网络节点分散等流域系统的特点ylcmis 系统的建成和投入使用将给澜沧江公司带来巨大的经济效益和社会效益同时也将使公司的各项管理工作规范化为公司建立现代企业制度奠定基础 2002年 6月 25日由华中科技大学系统工程研究所承担的 ylc-mis开发项目正式启动其中基础数据录入系统已于 2004 年 6 月投入正式运行得到了用户的首肯 4 1.3 文献综述 1.3.1分布式应用体系结构 当今的计算机应用系统通常是体系结构和技术的结合它们所具有的一个共同点是其分布式本质分布式系统是一个动态的计算机集合这些计算机由网络连接到一起运行专门设计的软件为用户提供集成式计算机环境分布式系统的范围包括从支持商业处理的单用途应用程序到服务于大范围用户并具有广泛资源的全方位服务计算机设备作为分布式系统它与集中式系统的区别并没有严格定义分布式系统的定义主要依据该类系统的特征来描述即分布式系统就是由多个相互连接的处理资源组成的计算机系统这些资源可以合作执行一个共同的任务最少依赖于集中的程序数据和硬件等资源固作为一个分布式系统它所具有的主要特征有资源共享(resource sharing)开放性(openness)并发(concurrency)容错性(fault tolerance)和透明性(transparency)等这些特性与分布式系统的关系表现在并非一个称为分布式的系统会自然地具备这些特性而是这些特性是评价一个系统是否真正的就是分布式系统的依据也是设计分布式系统追求的目标不论系统软件还是应用软件的设计人员都应该认真研究并支持这些特性否则设计的系统就不是一个真正的分布式系统3 1.3.2 分布式计算 分布式计算的思想由来己久随着计算机计算技术的发展当需要两台以上的计算机协同通信以完成一个共同的功能时分布式计算就出现了到目前己经发明出许多计算技术来支持分布和可重用应用程序逻辑现在人们几乎无时无刻不在使用着分布式计算万维网(world wide web)就是最明显的例子万维网上的内容是相当丰富的想让每个人的计算机上都容纳有全部的 web资源是不现实的因此通常只会在必要的时候用超文本传输协议(hypertext transfer protocol即 http)来请求所需要的部分然后得到需要的结果 在这里所得到的信息并不是在本地得到的而是远端的主机根据你发出的请求 5 所做出的响应以得到所需要的信息这里所采用的技术实际上就是分布式计算所谓分布式计算指的是在彼此连接着的多台计算机上分别执行不同的功能而这些功能共同构成一个完整的程序总体这种分布式概念使能够把数据放到最合理的地方去得到处理闭 靠着分布式计算电脑可以与其他的电脑沟通彼此共享着计算的信息而工作可以分散到网络各地不同的电脑上执行以加速整体计算的速度和共享资源在这里实际上就是将应用程序的逻辑进行分布处理以得到最优的性能和最经济的解决方案分布应用程序逻辑的原因有多种 1分布式计算使得链接不同的机构或团体成为可能 2应用程序访问的数据通常位于不同的计算机上应用程序逻辑应当靠近数据所在的计算机 3分布式应用程序逻辑可以在多个应用程序间重用升级分布式应用程序时不必升级整个应用程序 4通过分布式应用程序逻辑使得负载分摊到不同的计算机从而提供了潜在的性能优化 5当新的需要产生时应用程序逻辑可以重新分布或者重新连接 6扩展一层比扩展整个应用程序容易例如如果数据服务层不够快可以向该层增添更多的资源而不必影响整个应用程序 internet增强了分布式计算的重要性和适用性internet的简单易用和无处不在使得分布式计算作为分布式应用的骨干成为其必然的选择 分布式计算是近二十年来影响计算技术发展的最活跃的因素之一它的发展经历了两种不同的技术路线 第一种是理想的技术路线试图在互连的计算机硬件上部署全新的分布式操作系统全面管理系统中各自独立的计算机呈现给用户单一的系统视图尽管学术界普遍追求这一目标并产生了许多技术成果和实验系统但却并没被用户和市场接受 6 第二种是现实的技术路线即在网络计算平台上部署部分计算环境(也称为中间件)提供公共服务和开发工具支持分布式应用实现资源共享和协同工作业界普遍采用这一技术路线产生了一系列行之有效的技术和广为用户接受的产品 当前人们通常所说的分布式计算技术指的是在网络计算平台上开发部属管理和维护以资源共享和协同工作为主要目标的分布式应用系统从 90 年代至今分布式计算技术已经走过了第一代目前正处于第二代的发展成熟期并且开始向第三代演进 90 年代初期以支持信息共享的应用需求为核心形成了面向过程的第一代分布计算技术这一时期主要采用集中应用服务的分布式计算模式在第一代分布计算技术的推动下随后出现了从集中计算模式向分布式客户机/服务器计算模式转移的热潮在分布式客户机/服务器计算机系统的建立及其应用系统的开发过程中人们逐渐体会到分布式应用系统要比想象的复杂例如异构环境下的应用互操作问题系统管理问题系统安全问题等等这些问题在集中计算模式下是不曾出现或者表现得不明显的24 虽然同面向过程的第一代分布式技术相比面向对象的技术解决了部分程序设计方面的问题但仍存在着 c/s 模式固有的设计问题于是为了解决这些在传统方法中重复开发应用系统的成本以及为了增加应用系统的重复使用性分布式计算技术在结构上有了改进和提高那就是导入以应用程序服务器为特征的第三代分布式计算技术应用程序服务器简单的说就是一个包含企业逻辑的应用程序软件开发人 员 以 一 种 特 定 的 组 件 形 态例 如 com/dcom (componentobject model/ distributed component object model)corba (common objectrequest broker architecture)对象或是 ejb (enterprise java bean)等封装企业的逻辑程序代码这种经过封装能够执行特定企业应用程序功能的对象便称为企业对象然后把这些企业对象分发到此应用程序服务器当应用程序服务器包含了许多的企业对象之后那么软件开发人员就可以在开发应用企业应用程序时使用这些在应用程序服务器之中的企业对象所提供的服务这无疑大大的提高了软件的开发效率和为今后软件系统的升级提供了便利24 7 1.3.3 多层软件体系结构 对于一个规模很小的应用软件无论使用什么样的系统结构都可以达到预期的要求但是对于规模较大的应用系统情况就不是这样系统结构可以起到关键的作用它不仅会影响系统设计和开发的进度还可能直接影响到系统的后续发展潜力甚至会决定系统的成败在分布式计算的发展历程中对于一个应用系统的软件结构依据用户界面和后台数据之间层次数目的不同可以把应用结构分成单层两层三层或多层软件结构3 1单层软件结构 早期的软件产品大都是单机软件系统通常设计人员和开发人员对系统结构并不很重视从整体上看软件没有层次概念通常一个应用程序包括了所有的用户界面业务逻辑以及数据处理应用的数据有可能存放在远程机器上但访问数据的逻辑被包含在应用程序中单层应用软件由于包含了所有的应用逻辑从后台最基本的数据处理到前台对用户的响应以及处理结果的显示所以应用软件往往显得比较庞大即使是采用了 dll (dynamic link library动态链接库)技术后用多个 dll 程序模块来处理不同的应用功能但从软件整体结构来讲它仍然是个单层应用软件 由于单层应用软件比较庞大所以相应地带来一些不利的因素在设计阶段要求设计人员必须面面俱到从复杂的逻辑结构中整理出程序设计文档在开发阶段软件开发人员之间的协作也比较困难在测试和维护阶段对软件的局部改动可能会影响到整体软件发布之后如果需求有了新的变化在开发新版本软件时往往要全面调整程序结构甚至废弃原来大量的代码所以单层软件的版本更新往往比较慢 当然单层应用软件也有一些优点因为所以的处理集中在一个程序中实现功能时没有经过中间层次所以程序的运行效率往往比较高对用户的响应也比较快 2两层软件结构 8 对于网络应用或者分布式应用单层结构显然不能满足要求于是把应用程序分成两部分客户端部分和服务端部分从而形成了两层结构有时也称为客户服务器结构在这种两层结构的应用中用户界面和业务逻辑在应用的客户端数据维护在服务器端实现通常由另一个独立的应用程序来完成比如sql server或者 oracle 等数据库系统两层应用软件的结构如图 1-1 所示从图 1-1 (a)中可以看出在设计时把用户界面与业务逻辑都放在客户端从而使应用程序的负担都由客户端来承担与之相对应的另一种两层结构如图 1-1 (b)所示是把业务逻辑部分放在服务器一端在这种情况下通常是把业务逻辑直接放在数据库系统中 a (b) 图 1-1 两层应用结构示意图 两层应用结构体系的优点是与大型数据库的连接紧密而且快捷实现了分布式数据处理减轻了服务器的工作量提高了数据处理速度和网络利用资源实现透明访问异地数据库的数据系统安全性好缺点在于1信息只能单向流动不利于信息共享2系统基于专用的平台及非标准的协议和技术使得兼容性差移植困难升级换代繁琐不利于推广和应用3信息资源的深度开发和充分利用有一定的困难17 3三层软件结构 browser/server 模式为 clinet/server 模式的扩展采用三层结构即 browser/ebserver/databaseserver 组成了浏览器eb 服务器和后台服务器的三层计算模式可以看出三层 b/s 模式增加了较厚的中间件形成“瘦客户机 胖中间层 瘦服务器”的计算模式这种模式比较适合于 internet/intranet 的数据库发布信息系统客户端只需安装和运行浏览器软件而在 web 服务器端安装eb 服务器软件 客户 服 务 器 客户层 用户界面与业务逻辑 客户层 用户界面 服务器层 数据维护 服务器层 业务逻辑与数据维护 9 和数据库管理系统b/s 结构提供了一个跨平台的简单一致的应用环境与传统的管理信息系统相比实现了开发环境与应用环境的分离使开发环境独立于用户的应用环境 b/s 系统三层结构分别为 (1) 表示层(web浏览器)表示层为用户接口部分是用户与系统之间交互信息的界面它的主要功能是检查用户输入的数据显示系统输出的数据它的任务是由web浏览器向网络上的某一web服务器提出服务请求web服务器对用户身份进行验证后用http协议把所需文件资料传送给客户端客户机接受传来的文件资料并把它显示在web浏览器上 (2) 功能层(具有程序扩展功能的web服务器)功能层是应用的主体位于web服务器端它包括了应用中全部的业务处理程序即除了输入输出在表示层数据库在数据层以外,全部的统计汇总分析打印功能存放在功能层它的任务是接受用户的请求首先需要执行相应的扩展应用程序与数据库进行连接通过sql等方式向数据库服务器提出数据处理申请数据库服务器将数据处理的结果提交给web服务器再由web服务器传送回客户端 (3) 数据层数据库服务器数据层是数据库管理系统负责管理对数据库数据的读写位于数据库服务器端其任务是接受web服务器对数据库操纵的请求实现对数据库查询修改更新等功能把运行结果提交给web服务器 多层应用结构要求层与层之间必须有明确的接口定义在一个设计得很好的三层或者多层结构中层与层之间的通信是通过公共接口从而可以保证多层之间协作完成应用任务业务逻辑层作为表示层和数据层的中间服务层必须保证所有的业务逻辑都被正确处理 多层结构比两层结构具有更大的灵活性首先三层可以运行在不同的机器上如果应用是业务逻辑比较复杂可以使用高配置的计算机来运行业务逻辑层如果应用的数据量很大就可以采用分布式的数据库作为应用的数据存储结构其次只要层与层之间的接口保持不变那么某一层的变化不会影响到其他层当层与层之间是松散耦合时可以简单的替换组件或整个一层以适应变化了的需 10 求而无需重写整个应用程序或对系统进行重新测试出于这种考虑每一层对邻近层的实现应该完全不知且不负责任应该是不能看到邻近层的公共接口36 1.3.4 分布式系统的发展现状及分析 目前分布式计算结构使用的核心技术大致上可以分为两种不同的工业标准第一种是 microsoft 制订的 com/dcom 以及 com+第二种则是由 700 多个厂家共同提倡的 corba由于分布式结构的广为流行所以现在也有愈来愈多的分布式技术是根据这两种分布式技术核心再加以演进而产生的例如 ejbenterprise java bean 等 这两种分布式技术各有不同的优缺点基本上 microsoft com/dcom/com+以windows 为中心的开发环境而 corba 则是平台中立的分布式技术corba 能够执行于 windowsunix 以及 linux 等操作系统之中不管是哪一种分布式技术基本上这些分布式技术都允许软件开发人员能够在应用程序中轻易的使用企业对象模型所提供的服务 在分布式构架的基础上从整体上提供一个全面性的网络整合平台主要有microsoft 的整合 windows 与因特网的平台 windows dna 与 sun公司引导提出的基于 java2平台由一系列中间件服务组合起来的 j2ee(java2 enterprise edition )体系结构 windows dna的全名为 windows distribute internet architecture即 windows的分布式互连网络体系结构是微软整合了 activexwww 技术平台的总称微软利用 iis 以及 www 作为系统前端来处理用户互动界面以 com 构架作为中间层来处理企业程序以 sql server 作为后端存储数据的服务器以实现三层式或者更多层系统的开发环境8 sun 所引导发起的 j2ee 体系则是一种利用 java2 平台来简化诸多与多级企业解决方案的开发部署和管理相关的复杂问题的体系结构它是由一系列中间件所组织起来的体系结构j2ee作为中间件提供了强大的服务功能是开发人员只需要 关心商业逻辑而不需要注意其他细节因而能够加快开发速度提高系统运行的 11 效率和稳定性j2ee 技术的基础是核心 java 平台或 java2 平台的标准版j2ee 具有编写一次到处运行的特性方便存储数据库的 jdbc apicorba 技术以及能够在 internet应用中保护数据的安全机制等等 9 随着 it产业发展步伐的加快在 windows dna后微软便开始将研究重心转到一个新的计划 ngwsnext generation windows system新一代的 windows系统ngws 的目的是整合新的设备和技术希望带给用户一个全新的是用经验ngws 包括了 windows dna 的新一代windows dna 2000asp 的新一代asp.netvisual studio 6.0 的 新 一 代visual studio.net 7.0 以 及 将 来 的windows.net这个 ngws计划就是现在微软所推出的.net 为了更容易建立网络应用程序和网络服务微软提出了 microsoft .net framework 框架microsoft.net 框架包含三个主要部分公共语言运行环境具有多层次结构的统一的类库集合和高级版活动服务器页面asp.net建立在操作系统上层的服务是管理运行时代码需求的公共语言运行环境common language runtime这些代码可以用任何现代编程语言所写runtime提供了许多服务这些服务有助于简化代码开发和应用程序的开发同时也将提高应用程序的可靠性.net framework包括一套可被开发者用于任何编程语言的类库在此之上是许多应用程序模板这些模板特定地为开发网络站点和网络服务提供高级组件和服务8 而与 microsoft 针锋相对在 2001 年 2 月 5 号sun 公司发布了命名为sun one的网络服务战略所谓sun one即sun 网络开发环境sun open network environment它定义了整个开放的体系结构完整的产品和服务系统以帮助客户创建组装和部署开放的智能 web 服务具体而言sun one是一个集成化产品服务包包括 sun 公司的 j2ee 和 ejbs 以及必不可少的 iplanet软件环境iplanet软件产品提供了用来支持开放智能 web服务的至关重要的基础设施部件 从现实情况分析不难发现作为业界表达最完整的两个服务战略microsoft.net 和 sun one 在思路和框架乃至具体的产品组成上都具有很多共同之 12 处比如说两者的技术核心主要是基于分布式计算而生成的因此共同倚重一些与分布式计算相关的技术例如用来表达对象信息的 xml(extensible markup language)以及对象之间的通信协议soap(simple object access protocol)等microsoft 和 sun都相信 xml是 internet的核心微软并将 xml的相关技术应用在其.net 战略上并向 w3c 组织提出了基于 xml技术的 soap1.1 协议标准而 sun 也在其 sun one 战略中明确支持 soap虽然该标准是微软所提倡的可见对于整个业界发展来说客户的真实需要就代表了计算机产业的发展方向从这个大方向来看谁都不会偏移太远即 it 界都确立这样一种理念强调通过将软件变服务的商业模式强调对多种设备支持和丰富的用户经验着力解决服务的智能以及个性化问题等等24 1.4 全文安排 本文对基于.net 平台 web 三层应用系统的开发与设计问题进行了应用性研究并在此基础上结合实际项目背景探讨了系统的具体实现方法全文安排如下 第 1章阐述了课题的背景以及研究的目的和意义介绍了基于 web的分布式应用软件体系结构基本概念的研究现状 第 2 章阐述了.net 平台的支撑技术包括有.net 框架asp.net 架构和.net平台数据访问技术 ado.net以及 visual studio .net开发环境和.net 平台下 c#语言 第 3章结合人力资源管理的实际分析了基于.net平台三层体系结构的举出数据录入系统开发的目标归纳了系统的功能模型和流程图提出了 web应用系统总体的结构框架 第 4 章结合实际项目背景建立了基于 b/s 模式的人力资源部门基础数据录入系统并从项目背景e-r 模型系统功能系统数据访问层的设计和系统特点等方面对系统进行了介绍 第 5 章为全文总结列举了本论文的研究成果并分析了研究工作的不足展望了进一步研究的内容和方向 13 2 .net平台的支撑技术 2.1 .net 平台 2.1.1 .net框架 .net框架是一个多语言组件开发和执行环境它由以下三个主要部分组成 (1) 公共语言运行时 公共语言运行时在组件的开发及运行过程中都扮演着非常重要的角色在组件运行过程中运行时负责管理内存分配启动或删除线程和进程实施安全性策略同时满足当前组件对其它组件的需求. net 框架的关键作用在于它提供了一个跨编程语言的统一编程环境这也是它能独树一帜的根本原因 (2) 统一的编程类 .net框架为开发人员提供了一个统一面向对象层次化可扩展的类库集 (api)现今c+开发人员使用的是microsoft基类库java开发人员使用的是windows基类库而visual basic用户使用的又是visual basic api集只是简单地用.net框架就统一了微软当前的各种不同类框架这样开发人员无需学习多种框架就能顺利编程远不止于此的是通过创建跨编程语言的公共api集.net框架可实现跨语言继承性错误处理功能和调试功能实际上从javascript到c+的所有编程语言都是相互等同的开发人员可以自由选择理想的编程语言13 (3) 活动服务器页面(asp.net) asp.net是使用.net框架提供的编程类库构建而成的下一节将专门描述asp.net架构 2.1.2 asp.net架构 asp.net提供了web应用程序模型该模型由一组控件和一个基本结构组成有了它web应用程序的构建变得非常容易开发人员可以直接使用asp.net控件集该控件集封装了公共的用于超文本标识语言 (html) 用户界面的各种小器件 14 (诸如文本框下拉菜单等等)实际上这些控件运行在web服务器上它将用户界面转换成html格式后再发送给浏览器在服务器上控件负责将面向对象的编程模型提供给web开发人员这种编程模型能提供面向对象编程技术的丰富功能asp.net还提供一些基本结构服务(诸如会话状态管理和进程重启服务)这些服务大大减少了开发人员要编写的代码量并使应用程序的可靠性得到大幅度提高asp.net还允许开发人员将软件作为一项服务来提供通过使用asp.net web服务功能asp.net开发人员只需进行简单的业务逻辑编程而由asp.net基本结构负责通过简单对象访问协议(soap)来提供服务 asp.net是开发人员生成企业级web应用程序的开发平台可以用任何与.net兼容的语言如vb.net, vc.net, c#.net创作应用程序其中包括托管的公共语言运行库环境类型安全继承等等给予了开发人员极大的自由从软件编程开发者的角度来说asp.net是建立在微软新一代net平台架构上利用普通语言运行时(common language runtime)在服务器后端为用户提供建立强大的企业级web应用服务的编程框架22 asp.net与现存的asp保持语法兼容实际上可将现有的asp源码文件扩展名.asp改为.aspx然后配置在支持asp.net运行时的iis服务器的web目录下即可获得asp.net运行时的全部优越性能asp.net与asp的主要区别在于前者是编译(compile)执行而后者是解释(internet)执行前者比后者有更高的效率实际上可以把asp.net的执行过程看做是编译后的普通语言运行时代码充当一个和前端浏览器和中间件用户交互的应用程序它接受用户的请求输出html流到客户端显示除此之外asp.net还可以利用.net平台架构的诸多优越性能如类型安全对xmlsoapwsdl等internet标准的支持 asp.net主要包括web form和web service两种编程模型前者为用户提供建立功能强大外观丰富的基于表单(form)的可编程web页面后者通过对httpxmlsoap wsdl等internet标准的支持提供在异构网络环境下获取远程服务连接远程设备交互远程应用的编程界面asp.net中的html server control是为了和传统asp保持兼容而开发的一类基于html静态页面的控件 (如文本框按钮) 15 它们与这些控件一一对应它们位于命名空间system. web. ui.html controls里而web server control是专为下一代基于组件开发的.net平台架构而量身定做它不仅包括具有传统html静态页面的控件等它还包括有adrotatorxml等功能强大的组件更重要的是它为用户开发web server control提供了强大易用的技术底层支持这将成为下一阶段asp.net开发的热点 asp.net可完全利用.net架构的强大安全高效的平台特性asp.net是运行在服务器后端编译后的普通语言运行时代码运行时早期绑定(early binding)即时编译本地优化缓存服务零安装配置基于运行时代码受管验证的安全机制等都为asp.net带来卓越的性能对xml, soap wsdl等internet标准的强健支持为asp.net在异构网络里提供了强大的扩展性 asp.net是生成企业级web应用程序的优秀平台asp.net可利用早期绑定实时编译本机优化和盒外缓存服务由于asp.net基于公共语言运行库因此web应用开发人员可以利用整个.net平台的威力和灵活.net框架类库消息处理和数据访问解决方案都可从web进行无缝访问asp.net也与语言无关所以可以选择最适合应用程序的语言27 asp.net采用了组件化和模块化的技术并且将web应用的表现层和应用层分离更加符合三层模式的概念而且asp.net将web应用编译成为dll文件而是asp的解释执行从而大大加快了web应用的运行速度优化了web应用的性能 2.2 .net 平台数据访问技术 ado.net 数据存取是现代软件开发中的一项主要工作无疑它在.net 框架中也占有很重要的地位ado. net 是 microsoft 在.net 中对数据存取问题的解决方案也是.net开发平台的核心服务之一 在.net 框架中ado. net 是一套类它为.net 开发人员提供了数据访问服务用以创建分布式的数据共享应用程序虽然它的名字非常类似于以前的activex data object(ado)但实际上ado. net 是 microsoft 的 universal data access(通用数据访问)战略的最新成果它为 sql server, ole db 和 xml 数据源 16 等各种类型数据提供了一致的数据访问数据共享客户应用程序可以使用 ado. net连接这些数据源并操作数据ado. net 支持不同的开发需求例如前端数据库客户和由应用程序工具语言或 internet浏览器适用的中间商业对象等 30 2.2.1 ado. net对象模型 ado. net为关系数据xml和应用程序数据提供访问能代理从数据操作到可单独或连续使用的离散组件的数据访问为研究 ado. net有必要先介绍 ado. net对象模型 ado. net将 xml和 ado 部分对象模型集成在一个树状的类的集合中ado. net 收集了所有的和数据存取有关的类这些类由一些数据容器对象组成这些对象具有一般数据处理能力ado. net 是一个对数据库的一整套设计环境而不是像 ado 那样只是围绕着数据方向和数据处理的从图 2-1 所示的 ado. net 对象模型中可以看出这一点 图2-1 ado.net对象模型 客户端应用程序 oracleconnection oraclecommand winform webform other datatables oracledataadapter oracledatareader sqlconnection sqldataadapter sqlcommand sqldatareader sql server 7.0 and later oracle8i and later 17 从ado.net connection对象模型图中可以大致了解ado.net的运行方式首先由connection对象正确连接到数据源接着通过command对象对数据源操作(例如添加删除编辑和查询等)如果是查询数据则会有数据回传或者存放在dataset对象(datatable)中再用list controls中的repeaterdatalistdatagrid显示数据或者存放在datareader对象中通过代码进行显示控制33 下面主要介绍一下ado.net的几个主要对象 1. dataset对象 dataset是ado.net的核心是专门用来处理从数据存储中读出的数据并以离线方式存在于本地内存中可以使用相同的方式来操作从不同数据来源取得的数据,不管底层的数据库是sql server还是oracle, dataset的行为都是一致的在dataset中可以包含任意数量的dataset且每个dataset对应一个数据库的table或view一般来说一个对应datatable对象的数据表就是一组datarow与datacolumn的集合datatable会负责维护每一笔数据行保留它的初始状态和当前的状态以解决数据库的并发访问问题ado.net的离线连接模式减少了对数据服务器的压力 2. datareader对象 当以浏览的方式查看大量数据的时候,会占用大量内存,导致性能下降例如一个链接(connection)用传统的ado recorderset对象去读1000行数据库的记录则必须为这1000行记录将内存分配给这个链接直至这个链接的生命周期结束如果有多个用户在同一时间对同一计算机进行同样的操作则机器内存将被过度使用为了解决这些问题.net框架提供了datareader对象从数据库返回一个只读的仅能向下滚动的串流(stream)而且当前内存中每次仅存在一条记录datareader被推荐使用于下面的两种情况(1) 客户界面利用手写代码或是没有用到数据绑定且数据的更新是利用手写的sql语句或是存储过程这种情况下datareader将提供有效的访问数据的方法(2) 需要查看数据库状态但不需要实现诸如自动更新的功能 3. dataview对象 18 dataview对象代表一个datatable的数据查看方式数据默认的查看方式是将数据以表格的形式排列且数据排列的顺序遵循从数据库数据表中取出数据时行排列的顺序通常和设计数据库时的sort order或在查询字符串中指明排序的栏位升降幂有关ado.net提供非常有弹性的方式以供用户利用排序条件过滤查找等特性来定义不同的查看方式从而编辑浏览数据或显示datatable中的数据例如可以建立一个dataview对象然后指定和以缺省的查看不同的排序方式或者也可以使用条件过滤(filter)只查看数据表中的部分数据这种方式可以将两个以上的控制项绑定到同一个数据表但显示的是不同的数据 4. dataadapter对象 ado.net通过dataadapter对象建立初始化数据表从而和dataset对象结合起来在内存中存放数据dataadapter对象能隐藏和connectioncommand对象沟通的 细 节dataadapter对 象 允 许 将 dataset 对 象 中 的 数 据 保 存 到 数 据 来 源(datasource)也可以从数据来源取出数据同理也可以对底层数据保存体进行数据的添加删除或修改操作dataadapter对象包含4个不同类型的commandselectcommand用来取得数据来源中的记录insertcommand用来添加记录到数据来源updatecommand用来更新数据来源中的记录deletecommand删除数据来源中的记录22 2.2.2 ado.net体系结构 ado.net的类由两大部份组成数据提供程序data provider有时也叫托管提供程序和数据集dataset数据提供程序负责与物理数据源的连接它所提供的应用程序编程接口api可以轻松地访问各种数据源的数据数据集代表实际的数据使用数据集能以特别的方式为对象提供数据例如组合来自多个源的数据或来自远程用户的数据数据集对象还可以独立于.net数据提供程序来管理应用程序的本地数据和源自xml的数据ado.net这两个部分都可以和数据使用程序通信如web窗体和windows窗体 ado.ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空港物流考试题及答案
- 科学100考试题及答案
- 考试题目及答案初中
- 舟桥工专业技能考核试卷及答案
- 军训教员考试题及答案
- 惊恐障碍考试题及答案
- 前厅服务员设备维护与保养考核试卷及答案
- 2025年心血管内科常见病例分析试题答案及解析
- 2025年教师招聘之《幼儿教师招聘》预测试题完整参考答案详解
- 多膛炉焙烧工异常处理考核试卷及答案
- 人员外出安全培训内容课件
- 2025年法官入额遴选政治理论真题及答案
- 2025至2030中国土豆行业产业运行态势及投资规划深度研究报告
- 护理系毕业论文2000
- 2025年交通安全知识测试题含答案详解
- 露天矿山项目资金预算与成本控制
- (正式版)DB15∕T 2590.1-2022 《毛茛科草种质资源描述和数据采集规范 第1部分:金莲花》
- 依法服兵役课件
- 电商客服理论考试复习题库(含答案)
- 特种设备安全监察员考试试题及答案
- 2025低压电工国家全套题库完整版和答案
评论
0/150
提交评论