技术开发 频道

JavaScript先天不足 AJAX前途堪忧?



    3. AJAX是B/S结构向三端体系结构进化的产物吗

    在“客户端/服务器”体系结构向“客户端/中间件/服务器”体系结构演变的过程中,随着互联网技术的广泛应用,一种更简便的体系结构出现了,那就是所谓的“浏览器/服务器(Browser/Server)”体系结构,简称B/S结构。B/S结构一经出现,就因其无需开发客户端,能大幅度降低企业应用中客户端部署和维护的成本等优点,迅速获得了软件企业及其客户的青睐。现在,B/S结构是最流行的应用体系结构,不论是大型的企业应用,还是小型的个人应用,B/S结构都是首选的体系结构,几乎成了IT界的“默认”选择,甚至我们在谈起某某应用时,都不需要特别说明是什么体系结构了。

    如果将B/S结构看作是C/S结构的变种(可能有人不同意,呵呵,只是笔者个人见解而已),那么,我们可以发现,B/S结构不是三端体系结构。在B/S结构中,作为“客户端”的浏览器和作为“服务端”的Web服务器,是直接交互的,并没有中间件的介入,企业应用的业务逻辑,要么驻留在服务器(包括Web服务器、数据库服务器等)上,要么以浏览器作为容器,没有其他去处。因此,从“端”的角度看,B/S结构其实是“二端”的,像C/S结构一样。

    如果这个论点是成立的,那么,C/S结构从“二端”向“三端”的演变,是否预示了,B/S结构也会按照同样的方式进化,从而在浏览器和客户端之间,产生出一个“中间件”呢?

    AJAX的出现,似乎是对这种预示作出的响应。仔细观察,我们可以在AJAX身上发现中间件的某些特征。首先,AJAX所承载的功能,原本是分布在Web服务器和浏览器上的,AJAX的介入,减轻了客户端和服务器的负担,许多原本需要重载整个页面的请求-响应处理,现在只需重载部分页面了;其次,AJAX部分地接管了浏览器和Web服务器的通信,而通信拦截是中间件的重要特征之一。一方面,AJAX对浏览器的请求进行预分析,另一方面,AJAX对Web服务器的响应进行预处理,AJAX在浏览器和Web服务器之间,扮演了一个“中介”的角色,与三端体系结构中的中间件非常相似。

    有趣的是,中间件的出现时机和AJAX的出现时机,也大致相同。C/S结构进入企业应用领域若干年后,中间件出现了,而AJAX的出现,也是在B/S结构开始流行后的若干年。具体的时间长度已经不可考证了,不过,可以留意到的是,中间件是在C/S结构应用大量涌现,客户端和服务器日益膨胀的背景下诞生的,而AJAX也是在B/S结构应用如雨后春笋般冒出,网页上Flash和广告群魔乱舞,用户不再满足于平淡和迟钝的应用体验的情形下,在Web应用中崭露头角的。
0
相关文章