CS->BS->RichClient->SmartClient
在传统的企业应用开发中,一般都是使用CS的方式来进行,这种开发方式具有数据传输效率高,用户界面友好,可以在客户端存储大量的用户个性化信息等特点;但是,这种方式也有它的缺点,就是应用范围太窄,一般局限在企业局域网内部,而且需要每一个终端都要安装完整的客户端程序,在客户端程序版本变更时,需要给每一个终端重新安装,维护起来也不方便.
后来,随着互联网技术的迅速发展,出现了BS的企业解决方案.在这种解决方案中,系统的应用范围扩大到了整个互联网,而且由于实现了零客户端,使人们的使用摆脱了客户端的限制,因此得到了很大的发展.但是,BS系统也有它的先天不足,既它的表现能力太差,而且使用起来也没有CS系统那么方便,这些都阻碍了它的发展.
为了解决BS系统的表现能力和使用方便性问题,一些企业提出了富客户端(RichClient)的概念,一种解决方法是使用javascript+htc+webserver的方式来实现,还有一些别的解决方法,但效果都差不多;但是这种方法并没有从根本上解决BS系统的表现能力问题,只是改善了一些;而且这种开发的复杂性惊人,开发效率相当低,并没有得到普遍的应用.
最近两三年,业界又提出了智能客户端(SmartClient)的概念,它集CS和BS的大乘,吸取了它们的优点,摒弃了它们的不足,取得了很好的效果.智能客户端的具体实现是这样的:终端运行一个轻量级的客户端程序(一般只有几十K),该客户端只是程序的基本框架,它装载各应用模块;如果服务器端有了新的应用模块版本,它还负责自动更新和部署,和服务器的数据交换一般使用web服务的方式.由于它是客户端运行的,所以它的界面和普通的CS程序没有什么两样,CS程序所具有的优点它都具有;又因为它是自动部署的,所有即使整个系统发生再大的变化,也不需要给每一个客户端更新,这些都可以自动完成,这一点很像BS的系统.还有,它一般都是使用web服务来和服务器交换数据的,这就决定了它既适合局域网更适合广域网,而且也很好的扩展性,比较容易实现负载平衡.智能客户端还有一个很出众的优点,就是它可以实现有时联机,也就是可以随时断开网络连接,这时还可以执行大部分应用,并保存应用数据到本地,等联机后,这些应用数据可以更新到服务器中去.这一点使它在智能设备中大有用武之地,设想一下,某一天你在火车上可以用自己的PDA下一个订单,并且可以随时(如果你的PDA可以联网)或回家后把这个订单发送到服务器中去.
以上只是我对这几种系统的粗浅认识,还希望大家多多批评指正.