C/S B/S的区别
你是不是说胖客户端相当于一个C/S结构,而瘦客户端相当于一个B/S结构呀
胖客户端和瘦客户端是相对的.之间的区别在于是否有大量的业务逻辑需要放在客户端,c/s结构中,主要的逻辑程序放在客户端,很多时候服务器是指的数据库服务器.所以是胖客户端
而在b/s结构中业务逻辑都放在服务器上.客户端只有个浏览器,服务器发送给客户端的只有遵循了html规则的字符串,当然如果你用到了applet之类的东西就相当于把一些业务逻辑放置在客户端上.
魔兽世界就是典型的胖客户端,而猫游记就是典型的瘦客户端。
------------------------------end
上面都是传统意义上的胖瘦客户端,随着Ajax的兴起代表着胖客户端时代的再次来临,
本人使用Ajax方法开发了一段时间的web系统,感觉到服务器的开发被大大的减少了,主要的工 作都在javascript中进行,连表格创建都在客户端进行,客户端是个大大的胖子,想想以前开发应用程序,基本上都在客户端编代码,感觉又回到了那个 时代,这大概就是政治上讲的螺旋式上升的意思吧.
(单机)→(胖客户端+服务器)→(瘦客户端+服务器)→(胖客户端+服务器)
本人认为Ajax有一个大的好处就是降低了服务器端的压力,把许多工作放到IE上完成,事实上是分流工作的一种方法,基本代表着未来的方向.
瘦客户端与富客户端是两个相对的概念。有两种分类方式:
1.b/s结构的网络应用程序与c/s结构的应用程序,可以分别称为瘦客户端与富客户端。
(1)在这种富客户端(rich client)下,客户端除了负责将程序的ui界面显示给用户进行交互外,还负责进行大部分的业务逻辑处理。典型的胖客户端应用程序都包含一个或多个在服务器和客户pc上运行的应用程序,客户pc上安装功能丰富的交互式的用户界面,用户通过这个界面可以查看和操作数据,处理业务事务等,由于客户端分担了服务器的一部分或者全部业务逻辑的处理,这样客户端就显得很"臃肿",所以叫胖客户端,也叫富客户端。服务器部分一般集中处理数据的访问操作,同时也负责处理一部分或全部的业务逻辑。
优点:可以减轻服务器的压力,降低对服务器性能的要求。
缺点:对客户端机器的要求比较高;客户端的部署不方便,当程序的业务逻辑发生变化时,客户端更新程序不方便。
(2)这种类型的瘦客户端(thin client),主要指b/s结构的web应用。实际上是c/s结构的一个变种,它将c/s结构中的客户端程序,统一为浏览器(broswer),浏览器中只解析标准的html来显示用户交互界面. 这样,服务器端负责处理业务逻辑和数据存取, 然后将处理完的结果以html的形式发送到客户端,客户端负责将结果显示给用户,客户端除了负责一些数据的验证和组织之外,基本上不处理任何的业务逻辑,只专注于用户交互界面显示,这样客户端就显得很瘦小,所以叫瘦客户端。
2.在这种分类方式中,富客户端确切地应该称为富因特网应用程序(rich internet applications,ria),瘦客户所指的还是b/s结构的web应用。
(1)在这种富客户端(ria)下,利用具有很强交互性的富客户端技术来为用户提供一个更高和更全方位的网络体验。ria集成了桌面应用的交互性和传统web应用的部署灵活性与成本分析,以创建单一而完整的用户体验。富客户端技术使创建ria成为可能,它提供一个运行时的环境以承载被编译的客户端应用程序,该客户端应用程序是一个使用http协议发布的文件。客户端应用程序使用异步的c/s结构连接到现有的应用服务器,这是一种安全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的web服务驱动。
富客户端技术正在不断地完善中,但并不意味着会取代html。相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多ria都在浏览器中运行,甚至它本身就是html的一部分,所以html将继续保持其原有的角色。另外,由于富客户端技术可以支持运动的图像、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境。
ria开发必须具备三个要素:富客户端技术、服务器技术和开发工具。富客户端技术充分利用本地机器的处理能力来处理数据,而不需要把某些数据发送到服务器处理,充分利用了本地机器的资源。服务器技术提供了一种与富客户端的连接机制,作为ria的服务器技术必须从现有的服务器技术继承,可以提供一个快速的脚本环境,支持数据库应用开发、双向数据通信、实时数据通信,甚至采用一种新的服务器,例如:coldfusion server和flash communication server等。ria实现必须有一组简单而高效的开发工具,如果没有一组简单而高效的开发工具,那么富客户端技术与服务器技术是毫无意义的。正是由于 ria的c/s结构,它需要一组开发工具协同工作才可以完成。
尽管目前有许多富客户端技术,但是macromedia flash player却被广泛采用,它已经逐渐成为富客户端技术的网络标准。flash player 已经是一个无处不在的富媒体客户端,它可以在不同的浏览器和操作系统上运行,所以它是一个跨平台、跨操作系统的网络客户端。
如今,随着技术的发展,特别是ajax技术的出现,b/s结构的web应用程序也逐渐向胖客户端发展,再加上flex的出现,更加快了b/s结构的web应用程序向胖客户端发展。下图1-1所示为ria应用的截图.
参考资料: