1、由C/S到B/S的发展
软件开发,在前几年出现的一个重要革命,就是由C/S方式到B/S方式的转变。
B/S方式的优点,最直接的就是体现在部署、分发上面,不再需要在每个客户机上安装,不再需要不断到客户机上升级,也不再需要支持由于客户机环境带来的种种问题。可以说,B/S的模式,使得应用软件系统随需应变的能力大大提高。同时,B/S应用使得基于广域网的应用变得非常简单,并且基于互联网和https协议就可以达到足够的安全性(远比C/S方式所需要的VPN或WAN要简单得多)。
比如说,典型的ERP系统,即使只有100个用户,由于系统经常要升级,所以使用C/S也不胜其烦。而笔者曾经主持过一个全国性的系统,涉及上万家用户。可以想象,如果是C/S应用,会多少麻烦。
2、B/S方式遇到的困难
B/S方式的优点明显,但还是有很多时候用户不愿意换到B/S方式,主要的困难是下面几个方面:
1)网络带宽问题:这个问题在局域网应用不存在,但在广域网下就可能是问题。但随着互联网的高速发展和https技术的广泛应用,这个问题应该是越来越小,反之C/S方式在广域条件下应用,是更麻烦的事情,如果不配置VPN,就要去用程序做数据同步。
2)服务器负载:但实际上随着集群技术的应用和PC SERVER价格的不断降低,这个问题也不是问题。并且如果用户数真的很多,可能B/S反而好做一点,而C/S并不能直接用DB SERVER支撑大用户量,而是还需要一个中间的应用服务层,即C/S/S架构才能支持。
3)用户易用性:这个才是很多用户权衡时考虑的重点。在一般概念中,B/S的界面远远比C/S的界面用起来不方便。
3、Ajax技术的意义:
知道了B/S方式的困难,我们就清楚了Ajax技术的意义(相关文章:什么是Ajax技术),它使得用户可以在浏览器中象在桌面软件上一样轻松、方便地操作,而且不需要安装插件、控件之类的东西。
我们可以看一下这个例子:基于Ajax的一个实例。如果不说,很容易会认为这是一个C/S程序的界面。但实际上它是基于Ajax技术的一个B/S应用。
可见,有了Ajax技术,就可以使得B/S应用象C/S应用一样好用,解决了阻碍B/S应用取代C/S的最后一块石头,使得Web应用的优势充分发挥出来,从而使这场革命最终完成。就象图形界面最终取代文本界面一样,对Ajax的作用一定不能低估,它必然成为未来应用开发的一个主流。
4、Ajax技术的展望:
现在,Ajax技术还是一个新兴事物。应该说,拿Ajax技术开发,本身技术上已经不是什么问题,主要问题在于Ajax技术还不普及,掌握Ajax技术还有不小的困难,用Ajax开发还远不如做个JSP,ASP一样方便。然而,既然有需求出现,就会有人来提供相应的产品、相应的解决方案,目前已经有了一些基于Ajax技术的开发构件、开发平台出现,不论在.NET下,还是在Java环境下,都有这类产品可以帮助用户很轻松地搭建基于Ajax技术的富客户端应用(或者要富因特网应用RIA),从而使用户可以很轻松地开发出基于Ajax技术的Web应用,就象过去用成熟控件开发C/S应用一样。因此,Ajax技术的应用,应该会有一个飞速的发展。