基于.NET框架的WEB服务的研究与实现毕业论文.doc_第1页
基于.NET框架的WEB服务的研究与实现毕业论文.doc_第2页
基于.NET框架的WEB服务的研究与实现毕业论文.doc_第3页
基于.NET框架的WEB服务的研究与实现毕业论文.doc_第4页
基于.NET框架的WEB服务的研究与实现毕业论文.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要目前Web服务(Web Services)作为一种新兴的中间件技术,已经被广泛应用于各种电子商务中。Web服务可以将多个系统整合到一起,以及将功能函数作为组件提供给远程调用。它最终将淘汰EAI,在应用程序之间提供简单的,基于消息的数据交换过程,能够对远程数据进行实时请求。基于XML技术的Web服务很好地解决了跨平台的分布式应用问题,成为了互联网上分布式计算的最佳技术。而.NET框架则为Web服务的开发提供了很好的支持。本文以Internet为背景,采用BS模式完成了一个网上书店系统的开发,并在一些功能模块中调用了Web服务。本文首先分析了.NET框架的组成、体系结构、特点以及ASP.NET的技术架构,接着介绍了Web服务的特点、体系结构以及它的标准和技术。最后,详细介绍了基于.NET框架,利用开发工具Visual Studio.NET实现一个电子商务系统的开发过程。并对Web服务移植后的重新引用的问题以及在Web服务性能上进行了研究和探讨。本文对使用.NET框架来开发电子商务系统,提高Web服务性能、扩展Web服务的应用领域有着重要的实际意义。关键词:.NET框架 Web服务 Web服务性能 网上书店基于.NET框架的Web服务的研究与实现Research & Implementation on Web Services Based on the .NET FramworkAbstractBeing an emerging middleware(MOM), Web Services have been widely applied in all kinds of e-commerce. Web Services are used to integrate different systems together and provide functions as groupware for the Remote Procedure Call(RPC).Instead of EDI,simple,message-oriented data exchanging processes between applications will be provided by Web Services that request the remote data at real time. Web Services Based on XML do well in solving the distributed application problems upon platforms, then become the best of DDB in the Internet.the .NET framework just supports the development of Web Services primely. This thesis bases on the current Internet,and finishes a web bookshop and uses Web Services in some functional modules with B/S mode. Firstly,this thesis analyzes the composing,architecture ,characteristic of .NET framework and ASP.NET.Secondly,it introduces the characteristic,architecture of Web Services and their standards and the technology.Last,it specially introduces the developing process of a e-c system based on .NET framework with Visual Studio.NET.At last,this thesis discusses the problems that how Web Services Web Services quote when they explant another servers and how to improve the performance of Web Services. This thesis has the significant practice meaning for developing e-c system,improving the performance and expanding the scope of Web Services applications. Key words: .NET framework Web Services The performance of Web Services Web bookshop60毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日目 录第一章 绪论11.1 前言11.2 Web服务的现状及应用领域11.3 Web服务在电子商务中的作用31.4 电子商务系统中Web服务的实现5第二章 .NET框架概述62.1 .NET框架的定义62.2 .NET框架的组成62.3 .NET框架的特点92.4 .NET与J2EE的比较102.5 ASP.NET的技术架构11第三章 Web服务133.1 Web服务的定义133.2 Web服务的特点133.3 Web服务的体系结构143.4 Web服务的标准和技术163.5 Web服务的类型19第四章 网上书店系统214.1 系统分析214.2 系统开发的环境配置224.3 系统的流程254.4 数据库设计254.5 系统功能模块的实现30第五章 Web服务在网上书店中的应用435.1 Web服务的创建435.2 Web服务的引用465.3 Web服务的实现48第六章 Web服务的探讨506.1 Web服务移植后的重新引用问题506.2 Web服务性能的提高50第七章 总结54参考文献55致谢56第一章 绪论1.1 前言 随着Internet的发展,电子商务也不断发展。Internet为各种类型的商业实体提供了发现新客户、供应流、新服务的各种机会,使得他们利用Internet获得了空前的安全的经济回报,体现了Internet的巨大价值。然而,目前大多数电子商务的应用基于Web的商业服务在处理购买者、供应商、交易市场和服务提供者之间的联系方式上各不相同。如何将这些应用低代价方便地连接在一起,从而实现大范围的跨企业实体的商务应用系统对接,这是摆在开发人员面前的一大问题。不同应用的开发语言不同,部署平台不同,通信协议也可能不同,对外交换的数据格式也有着很大差异。如何去解决语言差异、平台差异、协议差异、数据差异所带来的高代价的系统集成是这个问题的关键。最近几年开始蓬勃发展的Web服务正是针对这个问题的最佳解决方案。Web服务成为了当今IT业界的焦点。Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。目前,Web服务已经在全球启动了一拨IT业的浪潮,无论是平台供应商、解决方案供应商、技术供应商,还是服务提供商都纷纷在自己的平台、解决方案以及服务中加入Web服务。以Microsoft,IBM,Oracle,HP,BEA,SAP等为首的计算机业巨头们无一例外地将自己的软件产品解决方案全面支持Web服务,同时,他们共同成立了WSL(Web Services Interoperability Organization),致力推广Web服务的全面应用。1.2 Web服务的现状及应用领域1.2.1 Web服务的现状 Web服务是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以发布、定位、通过Web调用。Web服务可以实现从简单的请求到复杂商务处理的任何功能。一旦部署,其他Web应用程序可以发现并调用它部署的服务。它就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台上的应用依靠这个技术层来实施彼此的连接和集成。国际上,40%左右的开发人员从事Web服务的开发,该技术具有很好的市场潜力。大量面向消费者的B2CWeb服务将被使用。日前,微软、英特尔、Lexmark和理光公司为用户更方便地通过网络连接打印机、数码相机和数字音乐播放器等设备设计了一项新的Web服务技术。Web标准化组织World Wide Web Consortium(W3C)于2005年1月25日发布三个Web服务相关的标准,并希望能得到广泛应用。Web服务必将是分布式应用程序的主导架构,市场需求平均以94%复合增长,在未来10年,Web服务项目的总投入将达到1840亿美元。目前来看,中国的Web服务市场仍处于初级阶段,国内大部分企业并未将Web服务纳入IT部门的技术架构或采购列表中去。但是Web服务在2003年开始受到关注,到2004年信息技术行业的焦点直接面向Web服务,更在2005年进一步得到发展。根据当前商务和技术的发展情况,SOAP和Web服务是必然趋势。Web服务可以将多个系统整合到一起,以及将功能函数作为组件提供给远程调用。这样很大程度上简化了企业的业务过程,降低企业内集成的成本。它最终将淘汰EAI,在应用程序之间提供简单的,基于消息的数据交换过程,能够对远程数据进行实时请求。Web服务可解决实际的B2B问题,实现电子商务业务,使得实时交互和协作成为可能。1.2.2 Web服务的应用领域Web服务的概念推出之后,得到了业界的广泛关注,IBM、HP、Microsoft、Sun、BEA等大公司纷纷推出了自己的Web服务开发工具。IBM的Webphere, Microsoft的.NET, Sun公司推出的SunOne,BEA公司的WebLogic等产品都把实现Web服务列为自己的目标。目前Web服务的应用主要集中在以下几个方面。(1)基于商业的Web服务。该类服务针对的是企业应用服务,包括企业内部的ERP系统,企业间的SCM/CRM等系统。当这些系统以Web服务的形式在互联网中出现时,企业内的应用集成将更容易,在企业间众多合作伙伴系统间的对接也将变得轻松。(2)基于消费者的Web服务。此类服务针对的是原来的B2C网站的改造,为这些基于浏览器的Web应用增加了Web服务的界面,使得用户使用Internet更为方便,能够获得更加便捷的服务。(3)基于传统的Web服务。一些传统意义上的系统服务,比如用户权限认证,系统见空等,如果迁移到全球范围的Internet上或者企业内部Intranet上,其作用范围将单个系统或是局部网络拓展到整个企业网络或整个Internet。这样,在同一系统服务中的不同应用将可以在整个Internet环境中部署。(4)实现网格计算的Web服务。目前网格计算是把互联网中的计算机集中起来,共同协作完成大规模的计算任务。Web服务及其发展是构建网格计算环境的一个途径,使用Web服务,异构的计算机软件和硬件系统可以通过Internet联结起来,共同完成一些计算。1.3 Web服务在电子商务中的作用 Web服务在电子商务发展中,不仅是推动其动态电子商务的主力军,更是在此领域具有美好前景。1.3.1 Web服务是推动动态电子商务的关键 在电子商务的发展初期,企业应主要在现有的关系、业务流程和商业应用基础上发展互联网,供客户访问。随着实践的深入,企业希望将其业务流程与Web实现集成,企业开展电子商务的最终目的就是希望借助它转变做生意的方式,获得更大的投资回报。随着应用的不断深入,企业面对的内外部系统环境逐渐复杂。企业开始意识到建立真正开放、安全、可扩展的业务平台的迫切性。只有这样,企业才能够轻松地建立起与客户、供应商、合作伙伴之间的动态业务沟通机制,在市场竞争中真正赢得主动。实现这些目标的最佳途径就是建立动态电子商务平台,而动态电子商务实现的关键是Web服务1,2,3。 动态电子商务是企业业务流程重组的产物,充分利用了Web服务的动态特性,并且在实时条件下的应用可以被动态地集成,对企业来说,这比简单地访问Internet上现有的第一代电子商务更有价值。在新的动态电子商务模式下,购物应用程序代表消费者执行多种应用功能。它不仅可以自动地与销售商取得联系,而且还能主动发出通知:“要买书,价位怎样,质量如何?”。显然,这一应用可以代替消费者去搜索或查询所有的候选公司以获得最佳结果,而不必过分依靠某一产品提供商。在这种环境下,一切都是动态的!由于开放标准的缘故,不需要和应用提供商进行专门商榷,这对交易双方都有利,成本也自然会降下来。事实上,现在的Web服务已经能为利用WSDL 编程、利用SOAP访问、利用UDDI搜索的Web应用提供标准的Internet界面,这种界面完全是人性化的,它采用HTTP协议实现访问,通过URLDNA服务器完成搜索。 由于基于互联网标准的UDDI和Web服务并不需要专门的通信协议,因此企业只要使用互联网及基于互联网标准的应用工具就能够轻松地开展Web服务。而随着SOAP、WSDL、UDDI等标准的发展,标准化的信息传递、数据格式化、简化业务运作过程的服务界面等动态电子商务基础设施将进一步扩展。1.3.2 Web服务在电子商务中的应用前景用Web服务集成应用程序,可以使公司内部的商务处理更加自动化。Web服务是B2B集成成功的关键。通过Web服务,公司可以把关键的商务应用“暴露”给指定的供应商和客户。例如,把电子下单系统和电子发票系统“暴露”出来,客户就可以以电子的方式发送订单,供应商则可以以电子的方式发送原料采购发票。相比之下,Web服务的实现要比EDI简单得多,而且Web服务运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。不过,Web服务并不像EDI那样,是文档交换或B2B集成的完整解决方案。Web服务只是B2B集成的一个关键部分,还需要许多其它的部分才能实现集成。用Web服务来实现B2B集成的最大好处在于可以轻易实现互操作性。只要把商务逻辑暴露出来,成为Web服务,就可以让任何指定的合作伙伴调用这些商务逻辑,而不管他们的系统在什么平台上运行,使用什么开发语言。这样就大大减少了花在B2B集成上的时间和成本,让许多原本无法承受EDI的中小企业也能实现B2B集成。Web 服务将向智能化方向发展,智能化 Web 服务强调了 Web 服务的用户信息,并能够与其它服务共享用户信息。它能够根据 “谁”、“什么”、“何时”、“何地”和 “为什么”等因素,生成动态的符合用户需求的结果。为了能够让 Web 服务具备智能化,它必须能够识别出接受服务的消费者的身份、与消费者相关的安全方针、与消费者相关的服务策略以及消费者此次服务进行时所用的接入设备,同时智能化Web 服务还应该知道与消费者享受此次服务有关的以往历史记录。有关专家推测智能Web服务(IWS)将是下一代Internet革命的方向,包括个性化的信息定制服务(如股票信息查询、货币网上兑换处理等)、电子商务(货 物定单、物流配送)等。智能 Web 服务是未来IT产业的发展方向,是信息化社会的必由之路。1.4 本次毕业设计的主要任务本次毕业设计的课题是基于.NET框架的Web服务的研究与实现。本人在对.NET框架、体系结构和Web服务的标准、技术有所了解后,掌握了C的编程思想,深入研究XML、SOAP、UDDI、WSDL标准在Web服务中的作用以及Web服务在电子商务中的应用Web服务。采用.NET的一些相关技术来实现网上书店的开发,实现了用户注册登录、浏览书籍、评论书籍、查找书籍、查看书籍、购买书籍、用户账号管理、书籍管理和订单处理的功能。并在查询功能模块中调用了Web服务。第二章 .NET框架概述2.1 .NET框架的定义Microsoft的.NET可以简单地总结为一个提供基于XML和Web服务组件系统的基本结构。它把Microsoft的组件对象模型(COM)和松散耦合计算有机结合在一起。.NET框架包含3个主要部分:公共语言运行时(Common Language Runtime,简称CLR)、具有多层次结构的统一的类库集合、活动服务器页面(即是ASP.NET)。公共语言运行时可以说是.NET的最大优点,在组件的开发过程中及程序的运行过程中,都扮演着非常重要的角色。CLR负责管理内存分配、启动或取消线程和进程、实施安全性策略,同时满足当前组件对其他组件的需求。CLR的关键作用是提供了一个跨编程语言的统一的编程环境。由于.NET框架提供了一个统一的类库集(API),所以它可以实现跨语言继承性和错误处理功能,使得所有的编程语言都是相互等同的,方便开发者自由选择理想的编程语言。ASP.NET提供了一个由一组控件和一个基本结构组成的Web应用程序模型。当控件运行在Web服务器上时,用户界面将被转换成HTML格式发送给浏览器,同时ASP.NET基本结构能够通过SOAP传送服务。.NET框架还提供了一个ADO.NET的组件,简化数据库访问程序的开发。2.2 .NET框架的组成2.2.1 .NET框架的基本组成公共语言运行时。实际上,公共语言运行时在组件的开发及运行过程中,都扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。在开发阶段,运行时的作用有些变化:与现今的COM相比,运行时的自动化程度大为提高(比如可自动执行内存管理)。尤其是,映射功能将锐减开发人员将业务逻辑程序转化成可复用组件的代码编写量。对编程语言而言,都有自己的运行时。Visual Basic开发系统具有最为明显的运行时(名为VBRUN),Visual C+跟Visual FoxPro、Jscript、SmallTalk、Perl、Python和Java一样有一个运行时,即MSVCRT。.NET框架的关键作用在于,它提供了一个跨编程语言的统一编程环境。统一的类库集合。.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C+开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual Basic API集。.NET框架则统一了微软当前的各种不同类框架,并且通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承性、错误处理功能和调试功能。实际上,从JScript到C+的所有编程语言,都是相互等同的,编程语言并不是关键。 活动服务器页面(ASP.NET)。ASP.NET是使用.NET框架提供的编程类库构建而成的,它提供了Web应用程序模型,该模型由一组控件和一个基本结构组成。有了它,Web应用程序的构建变得非常容易。开发人员可以直接使用ASP.NET控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种小器件(诸如文本框、下拉菜单等等)。实际上,这些控件运行在Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。在服务器上,控件负责将面向对象的编程模型提供给Web开发人员,这种编程模型能提供面向对象编程技术的丰富功能。ASP.NET还提供一些基本结构服务(诸如会话状态管理和进程重启服务),这些服务大大减少了开发人员要编写的代码量,并使应用程序的可靠性得到大幅度提高。ASP.NET还允许开发人员将软件作为一项服务来提供。通过使用ASP+ Web服务功能,ASP.NET开发人员只需进行简单的业务逻辑编程,而由ASP.NET基本结构负责通过简单对象访问协议(SOAP)来提供服务。2.2.2 .NET框架的体系结构.NET是分层的、模块化的,以及层次结构化的。.NET框架的每一层都是一个抽象层。其中,.NET语言是顶层,也是最为抽象的一层。而公共语言运行库则位于底层,它是最不抽象、最靠近本地环境的一层。这一点很重要,因为公共语言运行库需要与操作环境紧密合作来管理.NET应用程序。.NET框架被分成了多个模块,每个模块都有它们各自特定的责任。最后由于高层只从底层请求服务,所以.NET又是层次结构化的。体系结构如图21所示。VB.NETC#Jscrip.NET其他.NET语言公共语言规范(CLS)通用型别系统(CTS).NET Framework类型(FCL)Web Form、Web serviceWindows formConsoleADO.NET.NET remoting公共语言运行库公共语言基本结构(CLI)操作系统图21 .NET的体系结构2.2.3 .NET的主要技术 .NET之中最重要的新技术首推Web服务。如其名称所示,Web服务提供了某些功能,可以通过网络加以调用。大多数技术都可以在某种程度上直接支持Web服务。然而.NET绝非仅仅是Web服务而已,微软关于.NET技术包括:.NET Framework:包括公共语言运行时(Common Language Runtime,简称CLR)和.NET框架类库。CLR是建造一系列新应用程序的标准基础,.NET类库则为许多基于CLR的应用程序提供一个新的标准开发环境。这个类库,包含的技术有:ASP.NET,最新一代的ASP(Active Server Pages)技术;ADO.NET,最新一代的ADO(ActiveX Data Objects)技术;以及对“构建和使用Web服务”的支持等等。微软还发行了一个.NET Framework精简版,名为.NET Compact Framework,用于小型设备如个人数字助理(personal digital assistants,PDAs)上。Visual Studio.NET:支持多种可使用.NET Framework的编程语言,包括Visual Basic;一个增强版的C+;一个基于.NET的Java替代语言J#,以及一个为.NET Framework量身打造的全新语言C#。.NET My Services:一组服务,允许用户存储和访问位于互联网可达之服务器上的个人信息,例如日程表和地址簿等等。这些服务还提供诸如认证(Autherntication)这样的通用功能,使客户能够证明自己的身份;也提供了一个“向不同设备上的客户发送消息”的方式。.NET Enterprise servers:这是一系列软件服务器,包括、Exchange Server 2003、SharePoint Server 2003、Project Server 2003、BizTalk Server2Web,Application Center 2Web、Commerce Server 2Web、Host Integration Server 2Web、SQL Server 2Web等等。在未来的版本当中,他们将全部基于.NET技术构建。2.3 .NET框架的特点.NET是全新的一种技术,因此,.NET中也包括了很多新特性。 一致的编程模式。在.NET环境中,所有的应用程序都采用通用的面向对象编程模式,不再像Windows环境中那样,既有DLL函数也有COM对象。高效率开发。通过.NET Framework为我们提供的一个庞大而有结构清晰的类型,使得编程变得异常轻松,还有自动垃圾回收机制等等一系列新的特性,可以让程序员腾出更多的精力放在考虑如何实现客户所需要的业务逻辑上,而不是计算机的控制上为内存如何分派之类的事情头痛。甚至无论你是开发哪一种应用程序,无论是C/S、B/S、还是智能设备亦或是数据库编程,都可以使用你最熟悉的一种编程语言而不需要去学习诸如C+、ASP、SQL等等各不相同的多用语言。.NET还带来了多种语言之间的无缝集成,例如一个系统同时可以采用多用编程语言来开发,VB.net编写的类可以方便的再用C#继承。这些都大幅了提高开发效率。运行于多个平台。对于任何操作平台,只要支持.NET运行时均可以运行.NET应用程序。现在所有的Windows平台均可以实现这一点。在将来甚至可以运行在非Windows操作系统上。 支持多语言的综合。按照COM的原理,代码重用是建立在二进制代码的级别上。在.NET环境下,代码重用可以建立在源码的级别上的,也就是说,别人用C#语言写的某个类可以直接在C+这样的语言中使用。之所以.NET有这样的巨大威力在于.NET为所有的支持.NET编程方式的语言提供了一整套通用的类型系统。 自动资源管理。在.NET环境下,自动资源管理功能已经加入到CLR之中。同时,由于资源回收功能的加入,在一定程度上安全性得到了保障,诸如内存溢出攻击等得到了有效控制。 一致的出错处理方式。在.NET环境下所有的程序都采用统一的错误处理方式-产生异常。 安全性。.NET从装载一个类开始,就进行确认检查;在访问代码和相应资源时,又实施代码访问安全措施。.NET提供了一整套机制来判断角色和确认身份信息,并且能作到跨进程和机器从而确保所需的代码在远端没有受到破坏。.NET的安全性也深深地嵌入到CLR结构中,以确保应用程序本身的安全。这些安全机制是对现有操作系统安全机制的一种质上的扩展,从而加强了.NET的安全性。 XML和SOAP的引入 。过去分布式应用程序的设计出现了诸如CORBA、IIOP、RMI和DCOM等协议。这些分布式系统的弊端就是灵活性差,因为这种设计方式使得应用程序固定在服务器端。而Internet是个松散连接、非常分布的世界。随着技术不断进步和发展,出现了全新的编程模式,而XML和SOAP能使这种模式很好地工作。在.NET中XML和SOAP已经深深地溶入其中,并成为非常重要的组成部分。 全新的编程语言C#。C#象VB一样简单,又象C+一样强大。C#的推出是微软在研究了C、C+、JAVA、Modula2、SmallTalk等大量语言的基础上推出的语言,比较起JAVA来,C#的最大不同之处在于它更接近C+,同时C#也吸收了大量新的概念,例如C#是面向组件的语言,C#能作到与XML协议的最大程度的融合。同时,C#在编译方式上与JAVA又很不一样。C#的推出与.NET是密切相关的。2.4 .NET与J2EE的比较 J2EE平台提供了一个基于组件的方法,来设计、开发、装配及部署企业应用程序4,5。J2EE平台提供了多层的分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制。同时保证平台独立的、基于组件的J2EE解决方案不会被束缚在任何一个厂商的产品和API上。.NET和J2EE是非常相似的。但是这两种技术在实现方法和具体的实现技术上都有很大甚至对立的区别点。 在开发语言上,.NET的支持面是比较广的,C+、VB、C#、Perl、COBOL等等均得到支持,开发人员可以很容易找到适合自己的语言。而J2EE只支持JAVA语言。这就是说J2EE在语言的选择面上是比较窄的。当然,C#是.NET支持的最重要的一种语言,相对于JAVA而言,C#是支持JIT(just-in-time)编译方式的,而JAVA是基于解释方式的。同时微软为不同的平台环境提供了不同的JIT编译方式。对于类似于Windows CE这样的移动计算环境,微软提供了压缩的.NET框架,相应的也提供了EconoJIT(经济型编译器)。在一般的桌面环境下,微软提供了标准的编译器。另一方面,C#将成为一种工业标准,因为ECMA(欧洲计算机制造商协会)正在接纳C#;而JAVA语言只是SUN公司提出来的。 J2EE支持JAVA、EJB,而.NET支持XML/SOAP。从标准的开放性上来说,XML/SOAP要好于前者。XML由W3C组织提出,得到众多厂家的支持,是下一代Internet上内容表示的标准,XML能够有效地表达网络上的各种知识,为信息的交换和计算提供新的载体。XML相对于网络计算的作用,完全可以与计算机起步阶段ASCII码的作用相提并论。XML也可以说是网络信息的标准代码,它表示的不是符号信息,而是知识化的块状内容。这种标准语言虽然不是程序设计语言,但是它代表的却是下一代网络上互操作的光明前景。Java既没有成为人们想象中的成功的商业计算工具,也并没有实质上的技术进步。Java试图从统一计算平台的角度来实现互操作,但是这可能永远都是一个梦想。真正能够互操作的,只能是标准和通用的数据描述语言。而SOAP协议本身也是由微软和IBM这样的商业巨头联合推出开发。这一切都表明.NET技术标准的开放性是不错的。 两者的运行环境不同。J2EE是在一个JVM(Java Virtual Machine)环境下运行,而.NET是在前面所介绍的公共语言运行时CLR (Common Language Runtime)环境下运行的。两者表示层技术的不同。J2EE采用了Servlets, Java Server Page(JSP)技术,而.NET采用的是ASP.NET。相比之下,后者优于前者,前者并没有实现真正意义上的代码和页面的分离。两者数据库访问技术的不同。J2EE采用了Java Database Connection (JDBC) ,Java Connectors来访问数据,而.NET采用的是ADO.NET技术支持结合松散的数据访问需求、多层Web应用程序及Web服务,提供了独立于任何数据源的数据访问。ADO.NET技术是容纳了ODBC和OLE DB技术的一种崭新的数据访问模式。总而言之,J2EE和.NET各有各的优点和缺点。二者都是非常优秀的开发企业计算软件的优秀平台。2.5 ASP.NET的技术架构ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,如图22所示。业务逻辑层ADO.NET Web服务 Web表单DBMS数据层客户端Web浏览器表示层图22 ASP.NET的结构表示层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户。业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、Web服务和组件服务组成。其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。与数据库相连,ADO.NET提供了如下三种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。三种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。对于相连数据库的数据处理,也有二种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)4,5,6,7,8。传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。ASP.NET采取了断开连接方式的数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。第三章 Web服务在传统的Internet应用中,使用Web服务或Web服务之间要交换数据时,需要进行手工定位服务的提供者,进行手工的数据输入。目前正处于迅速发展中的Web服务允许应用系统需要一种Web服务时,自动通过Internet,在Web服务的注册机构中查找分布在Web站点上的Web服务,自动与服务绑定并进行数据交换,不需要进行人工干预。3.1 Web服务的定义Web服务是一种新的分布式组件技术,它采用标准的SOAP协议,用XML 文件格式交换信息,实现远程过程调用和复杂格式数据的传输9。Web服务是一种新的Web应用程序分支,它们是自包含、自描述,模块化的应用,可以发布、定位、通过Web调用。Web服务可以实现从简单的请求到复杂商务处理的任何功能,一旦部署,其他Web服务应用程序可以发现并调用它部署的服务。Web服务是一种应用程序,它可以使用标准的互联网协议,像HTTP和XML,将功能体现在互联网和企业内部网上,可将Web服务视作Web上的组件编程。从技术的角度来看,Web服务也可以被认为是一种部署在Web上的对象,一是,具有了对象技术所承受的所有优点;同时,Web服务的基石是以XML为主的、开放的Web规范技术,因此,具有比任何现有对象技术更好的开放性 10,11,12。从外部使用者的角度而言,Web服务是一种部署在Web上的组件9。Web服务是描述一些操作(利用标准化的XML消息传递机制可以通过网络访问这些操作)的接口。Web 服务是用标准的、规范的 XML概念描述的,称为Web服务的服务描述。这一描述囊括了与服务交互需要的全部细节,包括消息格式(详细描述操作)、传输协议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或软件平台和编写服务所用的编程语言使用服务。这允许并支持基于Web服务的应用程序成为松散耦合、面向组件和跨平台的实现。3.2 Web服务的特点标准的协议。Web服务是基于开放的标准诸如UDDI、SOAP、WSDL和HTTP的,这些标准协议具有完全免费的规范,方便任意方进行实现。绝大多数规范最终有W3C或OASIS作为最终版本的发布方和维护方。松散的耦合。当一个Web服务的实现发生变更的时候,调用者是不会感觉到,Web服务具体实现的改变都是透明的。对于调用者来说,只要Web服务的调用接口不变,甚至是当Web服务的实现平台从J2EE迁移到了.NET或是相反的迁移,调用者都可以对此一无所知,不受影响。独立于平台。由于Web服务是基于开放标准的,这些标准在目前都是独立于平台的,因此,Web服务提供了很好的跨平台集成性。和状态无关。Web服务采用消息传递机制,系统将通信的基本单元打包成自我描述型的数据包(消息),发送方不了解也不需要考虑接受方的状态,只需考虑接收方是否能正确识别发送消息的内容。接收方可在任何时刻进行更改,而不会干扰发送方的消息发送,只要它仍可识别原有消息的内容。另外,发送方无需任何特殊的软件即可与接收方通讯,只要它发出正确格式的消息,接收方就可以响应,服务伸缩性好。广泛的支持。Web服务使用HTTP、SOAP和XML进行通信,任何支持这些技术的设备都可以拥有和访问Web服务。不仅是计算机网络,而且电话、汽车、家用电器等设备也可以实现。现在,各主要设备和软件供应商都已宣布支持SOAP和周遍Web服务技术。3.3 Web服务的体系结构Web服务的体系结构是基于Web服务提供者、Web服务请求者、Web服务中介者三个角色和发布、发现、绑定三个动作构建的。简单地说,Web服务提供者就是Web服务的拥有者,它耐心等待为其他服务和用户提供自己已有的功能;Web服务请求者就是Web服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论