您的位置: 网界网 > 周报全文 > 正文

[周报全文]对症下药构建高效Web应用

2006年04月19日 13:21:03 | 作者:网络世界记者 谌力 | 来源:$page.getBroMedia() | 查看本文手机版

摘要:

标签
Web应用


        Web服务器、应用服务器、交易中间件以及数据库和用户界面的搭配组成了复杂的Web应用环境,如何才能建立一个高效稳定的应用组合?记者结合了几位精通Web应用的工程师的建议,结论是—根据Web应用的差异对症下药。

        提到Web 应用的构建,容易想到两种典型的Web应用,一种是强调业务逻辑的Web应用,典型的应用是电子商务网站的应用,此外,许多企业的ERP应用,财务管理应用,银行的核心交易系统都逐渐将业务逻辑层独立出来,成为这类Web应用的主力军。另一种是强调静态页面发布的应用,如互联网站的浏览和查询。

        在单纯强调查询与浏览的Web应用中,构建相对简单。容易让人迷惑的是混合了静态页面与业务逻辑的Web应用,加上不同厂商提供了多样化的产品,以及新技术的更新换代,尤其值得注意的是,企业的具体应用环境也对Web应用的构建产生了多方面的影响,这些因素都使得Web应用的建设充满了复杂性,搭建一个随大流的应用系统很容易,但建立起一个高效稳定的应用组合并非易事。

闪光下的“阴暗面”

        目前流行的Web应用通常将系统分为三层,即表示层(Presentation),业务逻辑层(Business Logic),数据存储层(Data),即B/S(浏览器/服务器)的多层结构取代了C/S(客户机/服务器)的两层结构,技术的潜移默化已经让多层结构成为共识。从设计上说:由于实现层次完全分离,业务运算功能成为一种中间功能(中间层),它不依赖具体的表示层技术,也不依赖具体数据库技术,业务运算功能运行在J2EE或者.NET应用服务器中。

        多层架构倡导的显示功能、业务运算功能和数据库功能完全分离,从而避免了牵一发而动全身的连锁影响,可以实现松耦合和良好的可维护性。三层的分离带来的好处是,有利于复杂业务逻辑的开发,有利于在不改动逻辑的情况下对表示层和存储层进行调整,这些优点已经被大家认可并反复颂扬,但Web应用的种种复杂性也来源于此,Web应用的“阴暗面”隐藏在闪光的优点之中。

Web服务器是累赘?

        Web应用的复杂性来源于三层结构的设计,解决的办法也要从中着手。许多Web应用的效率不高,其实是没有很好地理解三层结构的特点,囫囵吞枣地采用了一些习惯性的应用模式。

        以一个基于JAVA、采用了Web服务器与应用服务器的网上银行系统为例,如果在这个Web应用中,静态文件(如HTML、图形/图像文件)的使用数量还不到与JSP(Java Server Page)使用数量的十分之一,那么会发生什么情况呢?

        一个必然的结果是大量的请求都要由 Web服务器转给应用服务器来处理,两者之间的通信带来的资源占用明显过大,整个系统的效率由此也不可能快起来。如果想一个办法来解决的话,就是去掉独立的Web服务器,由应用服务器的Web容器来负责完成其功能,虽然这个办法并不难想到,但目前的许多应用都延续了一种习惯:用Web服务器+应用服务器支持所有的应用,殊不知可能带来的后续麻烦。

        上述的例子在国内银行的网上银行系统中不在少数,而且在类似的网上税务、网上证券交易系统也可能有相似的情况。也许在你为Web应用做规划时,应该事先做一个测算,即应用中不同类型的处理各占多少,以便决定如何选择产品来构建。

12
[责任编辑:程永来 cheng_yonglai@cnw.com.cn]