首先来介绍C/S
C/S,全称为Client/Server,即客户机和服务器。属于软件系统体系结构。
Client(客户机)是连接服务器的计算机,主要目的是共享、打印和处理服务器里面的资源。而Server(服务器)是 提供高效的、可靠的储存能力、处理能力、管理能力、稳定能力等服务的另一台计算机。两者都是独立的计算机,当一台计算机连接并向另一台计算机提供各种服务(如数据、文件的共享时),前一台计算机称为客户机,而后一台则称为服务器。如下所示的三种情况:
C/S可以更充分的利用客户机和服务器硬件环境,将软件执行的任务合理分配
给 双方,比如客户机只需要执行操作,而服务器服务只需要 提供服务。
在现实生活中,我们在网吧中可以看到,每一台电脑是主机箱里面基本都是
空 的,所以每一台用户所用的电脑就是客户端,而用户所用的电脑要用网线连接网吧里面某个位置的一台电脑或主机箱,此时这个主机箱就是服务器。在互联网的世界里,我们电脑可以看作一个客户端, 而服务器是通过网络所连接的另一端,比如登陆QQ,我们在有网络的情况下,只需要在电脑桌面打开QQ端口,然后通过联网,腾讯公司里的服务器就开始运作,在我们每一次编辑信息发送指令的时候,服务器同时接受和传送。而我们在需要什么数据直接发送指令调取就行。
从上面的介绍中我们不难分析出C/S的优点是:能充分发挥客户端PC的处理能
力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:
(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由
两部 分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功
能, 是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
接下来介绍一下B/S
B/S,全称为Browser/Server,即浏览器和服务器。基于C/S之上的一种技
术,属 于网络模式结构中的一种。 Browser(浏览器)是结合如今不断成熟的Web浏览器技术,结合浏览器的多种脚本语言和ActiveX技术。主要功能是用通用浏览器实现原来需要复杂专用软件才能实现的强大功能的同时也节约了开发成本,其优点是可以在任何地方进行操作而不用安装专门的软件,只需要一台能上网的电脑就行,即客户端零安装、零维护。而Server(服务器)跟C/S中的一样, 提供高效的、可靠的储存能力、处理能力、管理能力、稳定能力等服务的另一台计算机。如今B/S结构使用的原来越多,尤其是AJAX技术的发展,是的服务器的负担都降低了不少,增加了相互的交互性。
C/S与B/S之间的联系:
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型
机,并 采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),
如 Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。
系统开发中C/S结构(Client/Server)中Client(客户端)往往可以由 B/S
结 构(Browser/Server结构)的Browser(浏览器)及其载体承担,C/S结构的Web应用与B/S结构(Browser/Server结构)具有紧密联系。大系统和复杂系统中,C/S结构和B/S结构的嵌套也很普遍。
原来的Client/Server结构转变成Browser/Server结构后,客户机的压力大
大减轻,负荷被均衡地分配给了服务器。由于这种结构不再需要专用的客户端软件,因此也使技术维护人员从繁重的安装、配置和升级等维护工作中解脱了出来,可以把主要精力放在服务器程序的更新工作上。
同时,使用Web浏览器作为客户端软件,界面友好,新开发的系统也不需要用
户每次都从头学习。而且,这种三层模式,层与层之间相互独立,任何一层的改变都不影响其他层原有的功能,所以可用不同厂家的产品组成性能更佳的系统。总之,三层模式的Browser/Server结构从根本上弥补了传统的二层模式的Client/Server结构的缺陷,是应用系统体系结构中一次深刻的变革。
C/S与B/S之间的区别:
1.硬件环境不同:
C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备. 信息自己管理. 有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2.对安全要求不同
C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜。可以通过B/S发布部分可公开信息。
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
3.对程序架构不同
C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑。
B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN 和IBM推JavaBean 构件技术等,使 B/S更加成熟.。
4.软件重用不同
C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。
B/S 的多重结构,要求构件相对独立的功能, 能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
5.系统维护不同
C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级、升级难、 可能是再做一个全新的系统。
B/S 构件组成,方便构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级。
6.处理问题不同
C/S 程序可以处理用户面固定,并且在相同区域,安全要求高,需求与操作系统相关. 应该都是相同的系统。
B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的。与操作系统平台关系最小。
7.用户接口不同 。
C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。
B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本。
8.信息流不同
C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S 信息流向可变化,B-B B-C B-G等信息、流向的变化,更像交易中心。
总结:
任何事物都有其两面性
B/S的优点:
①建立在浏览器上,与用户交流方便
②建立在广域网上,面向不同用户群体
③建立在构建基础上,构建个别更换方便
B/S的缺点:
①响应速度不及C/S
②单独界面设计,界面效果不理想
C/S的优点:
①客户端与服务器直接相连,响应速度快
②具有较强的事务处理能力
C/S的缺点:
①只适用于局域网
②客户端需要安装专门的客户端软件