B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种scrīpt语言(VBscrīpt、Javascrīpt…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
C/S 与 B/S 区别:
Client/Server一般是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的。
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等信息、流向的变化,更象交易中心。
比如一些聊天软件,是c/s结构的因为满足这种软件的可维护和升级性,满足不同的人群的个性和喜好,自己制定自己的界面,安装自己喜欢的插件,但在b/s结构上实现这一点比较困难,并且可扩展性也不好。
比如说很多人每天上新浪网,只要安装了浏览器就可以了,并不需要了解新浪的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。
一个稍微大一点单位来说,系统管理人员如果需要在几百甚至几千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越"瘦"而服务器越来越"胖"是将来软件的主流发展方向,这使得升级和维护越来越容易而使用越来越简单。
文章出处:http://tech.it168.com/a2009/0115/263/000000263117.shtml
随着计算机技术的发展和企业规模的日益扩大,以及应用程序复杂程度的不断提高,传统的Client/Server结构(又被称为“胖客户端/瘦服务器”模式)也随之暴露出了许多问题。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现。有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通信连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。其次,传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
同时随着网络技术的发展,Web 已成为人们获取信息的重要来源。Browser/Server模式也可以缩写为B/S 模式,在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。实际上B/S体系结构是把两层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。
B/S 模式占有优势的是其异地浏览和信息采集的灵活性:
具有分布性特点,可以随时随地进行查询、浏览等业务处理。
业务扩展简单方便,通过增加网页即可增加服务器功能。
维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
开发简单,共享性强。
缺点主要是:
个性化特点明显降低,无法实现具有个性化的功能要求。
操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
页面动态刷新,响应速度明显降低。
无法实现分页显示,给数据库访问造成较大的压力。
客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。
功能弱化,难以实现传统模式下的特殊功能要求。
C/S和B/S的比较
图1为C/S结构系统与B/S结构系统的比较。由图可见,应用B/S技术,首先简化了客户端。它无需像C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。其次,它简化了系统的开发和维护。系统的开发者无需再为不同级别的用户设计开发不同的客户应用程序,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限即可。各个用户通过HTTP请求在权限范围内调用Web服务器上的不同处理程序,从而完成对数据的查询或修改。再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。下面我们从系统的升级、开发和升级维护三方面进行比较:
图1 B/S结构系统
1) 系统的性能
在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其他格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
2) 系统的开发
C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,那么C/S结构的软件需要开发不同版本的客户端软件。
但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、可靠的。
3) 系统的升级维护
C/S系统的各部分模块中只要有一部分改变,就要关联到其他模块的变动,这使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。
对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势就比较明显—— 所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的。例如一些招聘网站就需要采用B/S模式,客户端分散且应用简单,只需要进行简单的浏览和少量信息的录入。
在系统安全维护上,B/S则略显不足,B/S结构尤其得考虑数据的安全性和服务器的安全性,毕竟现在的网络安全系数并不高。