读[1]张淑荣,苏兵.C/S 与 B/S两种软件体系结构[J].电脑学习,2010,12(6):126-127笔记
C/S 结构与 B/S 结构
C/S 结构
C/S结构把数据库内容放在远程的服务器上,而在客户机上安装相应软件。C/S软件一般采用两层结构,由两部分构成:前端是客户机,即用户界面结合了表示与业务逻辑,接受用户的请求,并向数据库服务提出请求,通常是一个PC机;后端是服务器,即数据管理将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。
但C/S体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受,随着企业规模的日益扩大,软件的复杂程度不断提高,传统的二层CIS结构存在着很多局限,因此,三层C/S体系结构应运而生。其结构如图1所示。在三层C/S体系结构中,增加了一个应用服务器,可以将整个应用逻辑驻留在应用服务器上,而只有表示层存在于客户机上。这种结构被称为“瘦客户机”。三层C/S体系结构将应用功能分成表示层、功能层和数据层。
表示层是应用的用户接口部分,担负着拥护与应用间的对话功能。用于检查用户从键盘等输入的数据,显示应用输出的数据。功能层相当于应用的本体,是将具体的业务处理逻辑编入程序中。而数据层就是数据库管理系统,负责管理对数据库数据的读写。在三层C/S体系结构中,中间件是最重要的构件。所谓中间件是一个用户API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。其功能是在客户机和服务器或服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。
B/S结构
B/S结构,就是只安装维护一个服务器,而客户端采用浏览器运行软件。是随着Internet 技术的兴起,对C/S结构的一种变化和改进。主要利用了不断成熟的 WWW浏览器技术,结合多种 Script语言和 ActiveX技术,是一种全新的软件系统构造技术。采用BS结构的计算机应用系统的基本框架如图2所示。
B/S三层体系结构采用三层客户服务器结构,在数据管理层和用户界面层增加了一层结构,即中间件,使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间层将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。
C/S 结构与 B/S 结构的分析比较
硬件环境不同
C/S建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定,并且处于相同区域,要求拥有相同的操作系统。B/S建立在广域网的基础上,信息自己管理,有比CIS更强的适应范围,一般只要有操作系统和浏览器就行。与操作系统平台关系最小。面向不可知的用户群。
处理模式不同
B/S的处理模式与CIS相比,大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,这时的客户机成为瘦客户机,而服务器则集中了所有的应用逻辑。
构件重用不同
在构件的重用性方面,C/S程序从整体进行考虑,具有较低的重用性。而BS对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。
系统维护不同
系统维护是在软件生存周期中开销最大的一部分。C/S程序由于本身的整体性,必须整体考察并处理出现的问题。而B/S结构,客户端不必安装及维护。B/S结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。需要升级时,只更新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成本大大降低。
对安全的要求不同
由于CIS采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好的网络协议,安全性可得到较好的保证。CIS一般面向相对固定的用户群,程序更加注重流程,可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。而 B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet 的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。所以B/S对安全以及访问速度比C/S有更高的要求。而 Internet技术中这些关键的安全问题远未解决。
速度不同
由于C/S在逻辑结构上比 B/S少一层,对于相同的任务,C/S完成的速度总比 B/S快。使得C/S更利于处理大量数据。
交互性与信息流不同
交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。B/S虽然由JavaScript 、VBScript提供了一定的交互能力,但与C/S 的一整套客户应用相比是太有限了。C/S的信息流单一,而 B/S可处理如B-B、B-C、B-G等信息并具有流向的变化。
对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。而 B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上,比 C/s有更高的要求 BS结构的程序架构是发展的趋势,从 MS的.Net系列的 BizTalk 2000 Exchange 2000 等,全面支持网络的构件搭建的系统。SUN 和IBM推出的JavaBean构件技术等,使 B/S更加成熟。