书签 分享 收藏 举报 版权申诉 / 17
上传文档赚钱

类型Web应用技术第三讲-100926课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4091325
  • 上传时间:2022-11-10
  • 格式:PPT
  • 页数:17
  • 大小:175.83KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Web应用技术第三讲-100926课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Web 应用技术 第三 100926 课件
    资源描述:

    1、WebWeb应用与开发技术应用与开发技术学习目标1.了解Web开发技术历程2.Web开发技术的比较第三讲讲 WEB应应用开发开发技术术 1、由于HTTP基于请求响应范式。传统应用中浏览器发出请求,服务器针对每一个请求返回一个HTML页面。2、由于HTML作为一个用于内容布局的结构化标志语言,与进行数据/逻辑处理的编程语言存在异构性。3、由于Web应用以服务器为中心,Web开发需要考虑服务器端的负载问题。传统的Web开发方式:Web Server接受客户端传送过来的HTTP请求,进行解析,与后台交互进行业务处理,再把结果渲染成HTML,最后将其传到浏览器。虽然这种方式历经了多年的发展,我们也有不

    2、少的开发框架和工具可以使用,但是Web应用的开发仍显得比较复杂低效。Servlet为Java Web编程的早期规范,把Http请求与响应被封装成Java对象。在这段时期,整个Web应用基本仅由程序员来完成,他们在Servlet程序中从Request中取得客户端传送过来的参数,进r行处理后将结果写回到Response对象的输出流中,这种方式无论对开发人员或是用户来说都是比较痛苦的,程序员需要在程序中写入大量重复枯燥的HTML输出语句,而且这种方式也很难在HTML的美工方面做得很好,所以对于用户来说,他们只能看到一些粗糙简陋的页面。第一节节 Web应应用开发开发技术历术历程 为了解决这个问题,JS

    3、P等动态网页技术出台了,首次在页面与程序分离方面迈出了一步,程序员可以在美工人员完成的HTML页面中嵌入程序代码,用来控制页面中动态部分。但是由于JSP规范对页面中Java程序没有太大的限制,对哪一些程序应该放在动态页面中,哪一些程序需要放在后台程序中处理也没有一定的规范。导致了在很多的Web项目中,大量的Java代码充彻于HTML Tag的字里行间,给美工与程序员都带来了不少痛苦。为此,Craig R.McClanahan等一些有见解的开发人员开始提出了Web开发的model2,将经典的MVC模式导入到Web开发中,出现了Struts这个至今仍非常流行的Web框架,在架构上,它把浏览器提交的

    4、请求交给一个统一的Servlet控制器,由控制器通过读取控制文件将事件分配到相应对象模型(Actions)中,实现了对Request事件响应的对象封装。而在页面渲染方面,提供了一套与HTML形式类似的Taglib库,意图于减少HTML与Java程序间的异构性,更好地实现页面与逻辑分离。后来的出现的WebWork,Spring MVC基本上继承了Struts中的MVC思路,只是在事件分派,页面渲染的灵活性上进行了提高。但是这种所谓Web MVC的方式并不能彻底解决Web开发中的痛苦,由于Action的激活基于每一个页面跳转产生的Request请求,对于复杂的页面事件交互,Action的粒度与页面

    5、中状态的保持都是比较麻烦的问题。而且由于TagLib没有一个统一的规范,自定义性太强,使得嵌入它的页面很难被主流的HTML编辑器支持,始终不能摆脱页面与程序分离的问题。在基于Request,对Action进行封装的框架之外,还有另一个Web框架的分支,那便是JSF等以对可视化组件进行封装为基础的架构。它力图将HTML元素的属性和事件的监听都封装在后台的对象中,为开发者屏蔽掉处理HTTP Request/Response方式带来的事件分派,状态保存等麻烦。这种方式在MS的.net开发中一直被提倡,希望Web程序的开发能像VB中的一样,利用强大的IDE,制作布局,画出控件,为控件指定监听器并书写响

    6、应程序。但是这种方式也存在一定的问题,因为B/S的Web架构毕竟与单机或是胖客户端不同,如果连结到服务器的并发用户较多时,这种将组件的事件监听,状态保持和渲染的工作都交由后台程序的方式必将对服务器资源提出更大的挑战。一、一、当当前前WebWeb网网站的站的结构结构模式模式 由于现在的Web系统慢慢地结合了商业、数据库以及企业的运用,因此,对于Web应用系统的要求也愈来愈严格,Web应用系统必须具备高度的扩展性,合理的执行效率,以及全天候安全强固的执行环境,也就是说,现在的Web应用系统必须能够安全及时地服务大量的客户端用户,又能够长时间安全稳定地运行,要做到这些,就必须要求Web应用系统具有一

    7、种良好体系结构,选择一种良好的体系结构,是Web应用成功的基础,就像一座大厦有了一个好的根基,Web应用系统的结构模式以及其中的运作方法对网外访问的用户来说基本上是透明的,用户不会感觉到你是使用的哪种结构模式,对用户来说,他所体会到的只是你的网站的速度以及你的网站的稳定性,但是,正是Web应用系统的结构模式及其内部运作方式决定了你的Web服务的性能,当前应用比较多的体系结构大致有以下几种:第二节节 Web开发开发技术术比较较 图一显示的结构模式是比较传统的一种WEB服务,它的服务器端基本上只由WEB服务器构成,它要发布的内容以文件的形式保存在WEB服务器上,它只能通过HTML文件提供静态的WE

    8、B内容,所有的服务内容必须预先定义编辑好,用户可以通过URL直接定位到这些定制好的HTML文件进行存取,这一模式比较简单,并且可靠性比较高,实现起来也比较容易,但是提供的内容比较单调,并且时效性及可维护性均较差,现在大的网站系统已很少采用。图二显示的结构模式是当前应用比较多的一种结构模式,这种模式在服务器端增加了一台数据库服务器,可以将要发布信息分类保存到数据库服务器,然后通过应用程序或脚本程序根据用户请求提取相应的信息,这种模式克服了第一种结构模式只能发布静态内容的缺点,由于增加了后台数据库的支持,在WEB SERVER中通过应用程序的支持,给用户提供动态的信息服务,通过定制页面模板,添加到

    9、后台数据库的信息可即时发布到请求的客户,因而也就保证了信息的时效性,这与第一种模式比较起来,有了很大的优越性,但是,在增加这些优越性的同时,也增加了WEB服务器的负担,同时也降低了WEB服务器的稳定性,这是因为在WEB服务器中要处理与后台数据库的连接以及一些企业逻辑的处理,它们会消耗掉大部分CPU的时间片,另外由于增加了这些处理环节,这些环节中一个地方出现差错,就会影响WEB服务器的性能,有时可能会使WEB服务器当掉,这种模式实现起来难度也不大,对编程人员的要求较低,具体的实现方式大致上可通过ASP脚本语言、PHP脚本语言、普通的CGI程序或ISAPI及NSAPI来实现。图三所显示的结构模式是

    10、一种比较先进的结构模式,它是一种分布式的WEB应用,它与第二种模式有些相似,但它在WEB服务器和后台数据库服务之间增了一层应用服务器,它继承了前两种结构模式的优点,同时又克服了前两种模式的缺点,是一种比较先进的结构模式,在国外的一些大型知名网站有所应用,像Microsoft的站点以及国外的一些大型电子商务站点均是这种结构模式。首先,它能够动态地发布信息,保证了信息的时效性,第二,由于增加了中间应用服务器,这样就可以将一些复杂的企业逻辑及数据库的连接服务等封装到中间层上,通过中间层的应用服务器来完成这部分工作,这不但减轻了WEB服务器的负担,同时也不会因为企业逻辑的不合理以及数据库的原因而使WE

    11、B服务器当掉,这种模式中的应用服务器可以有多台服务器来承担,这不但可以提高用户的访问速度,改善WEB服务的性能,同时还能起到负载平衡与容错的作用,因为在多台应用服务器并行工作时,它们可以轮流对请求的用户进行服务,在其中一台不能提供服务时,其它的应用服务器能够继续对用户提供服务。这种结构模式实现起来最复杂,对编程人员有一定的要求,要实现这种结构模式,可以通过ASP脚本结合COMCOM或者是CGI或ISAPI结合COMCOM来实现,在UNIX类操作系统中还可以通过PHP脚本结合CORBA构件技术来实现,由于COM/COM+或CORBA构件均是已经编译的可执行代码,因而在执行速度上要比单纯的ASP或

    12、PHP脚本语言快得多,实际上,Microsoft提倡的DNA技术就是这样的一种结构模式,这是一种典型的分布式WEB应用系统。综上所述,在进行WEB应用开发时,要根据WEB网站的规模、用户访问量以及要求的响应时间几个指标来规划网站的结构模式,由于INTERNET技术的发展,第一种模式现在很少采用,它已不能适应当前的用户基本要求,对于第二种模式,要分情况对待,对于访问量很低,信息量不大,对系统稳定性要求不是很高的情况下,可以采用这种模式,因为这种模式对编程人员的素质要求不是很高,并且开发周期快,比较适用于企业内部的INTRANET或一些访问量不大的中小网站。对于一些大型的门户网站或大型的电子商务网

    13、站,由于用户访问量非常大,并且对系统的安全性以及稳定性要求都十分严格,在电子商务网站中,对数据的严谨性要求也是非常严格,因此,在这几种情况下,第三种结构模式就是非常适合的了,不管从用户数量、安全性及稳定性哪方面考虑,都应该采用这种模式。有了很好的WEB体系结构,对于网站的建设及应用只是成功了一半,就好比建一座大楼,有了一个好的地基,这只是成功建设这座大厦的基础,要将这座大厦建造完成并且能够让人们搬进去办公或居住,就必须严把质量关,建设装修好每一层大楼,任何一层出现质量问题,都会影响到整个大厦的质量,对于WEB应用的开发也是一样,任何一个环节出现问题,都要影响整个WEB站点的性能,下面就这一问题

    14、我们进行一下讨论。事实上,不管是在开发一般的分布式多层应用系统,还是分布式的WEB应用系统,或是电子商务应用系统,有三个非常重要的因素影响着系统的执行效率,这三个因素分别是:二、WEB应应用系统统的优优化1、数据库的连接 数据库的连接一直是一个非常耗时的工作,建立一个数据库连接,最快的连接一般需要1-2秒,慢的需要5-8秒,甚至更长一些,这将严重影响系统对用户请求的反应速度,特别是在用户数据很大并且并发访问很多的情况下,这种性能下降将是非常的明显。2、构件或中间件的加载与卸载 在WEB系统中使用分布式的对象时必须先创建它们,在使用完后又必须释放它们,建立和释放这些对象也需要时间和系统资源,因此

    15、,它们可以成为WEB应用系统的执行瓶颈。3、线程的重复使用 大家都知道,CGI类型的应用程序总体说来要比ISAPI类型的应用程序效率低一些,原因就是CGI在每次用户请求时都需要重新加载,而ISAPI则只有在第一次请求时需要加载,以后将常驻内存,这也就省去了应用程序的加载时间,同样问题,在应用程序中创建新的线程也是需要耗费时间的,假如能够做到对线程的缓冲,这样也就节省不少系统资源,加快应用程序对用户请求的反应速度。以上三个因素是最明显的影响系统性能的因素,如何解决这些问题,以及解决的成功与否是提高WEB应用系统性能的关键。幸运地是现在的大部分软件已供了一种pooling技术,也就是缓冲技术,来解

    16、决这些执行效率的瓶颈问题。在这三个因素中,数据库的连结是最慢最耗时的动作,因此我们可以通过共享(pooling)数据库的连结来加快系统的执行效率,现在大部分最新的数据库系统已经提供了pooling技术,我们在应用时应尽量选择具有这一功能的数据库产品,在数据库安装时或在设置数据库连接时,应该打开相应的pooling选项,以达到共享连接的效果,缩短WEB应用的数据库访问时间。综上所述,在Web应用系统开发时,既要重视网站应用系统的结构模式,又要重视Web应用系统的性能优化,有了良好的系统结构,就可以保证信息通道的通畅,减轻Web服务器的负担,同样,优化系统的性能,打通各个阻塞环节,消除其中的瓶颈效应,这样才能保证应用系统长期、稳定地运行,保证对每一个用户都以最快的速度响应。END

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Web应用技术第三讲-100926课件.ppt
    链接地址:https://www.163wenku.com/p-4091325.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库