C/S结构与B/S结构的分析比较

来源:互联网 发布:李彤彤苏慕雪mac 编辑:程序博客网 时间:2024/05/03 23:52
C/S结构与B/S结构的分析比较
[ 2007-7-10 16:48:00 | By: Eric Fang ]
 

备注: 一直知道CS结构的特点应该有它的优势,从来没有细心总结,本文很好的说明了这些. 并不是BS结构的一定比CS结构的有优势,而是各有所长!
 
2.1 硬件环境不同

C/S建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定,并且处于相同区域,要求拥有相同的操作系统。B/S建 立在广域网的基础上,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。与操作系统平台关系最小。面向不可知的用户群。

2.2 结构不同

C/S软件一般采用两层结构,而B/S采用三层结构:

这两种结构的不同点是两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单地接收用户的请求,显示最后的结果。由于三层结构中的客 户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。虽然BlS采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太网或环形网。这 样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路,网络通信量大。而C/S只有两层结构,网络通信量只包括 Client与Server之间的通信量,网络通信量低。所以,C/S处理大量信息的能力是B/S无法比拟的。

2.3 处理模式不同

B/S的处理模式与C/S相比,大大简化了客户端,只要装上操作系统、网络协议软件以及浏览器即可,这时的客户机成为瘦客户机,而服务器则集中了所有的应用逻辑。

2.4 构件重用不同

在构件的重用性方面,C/S程序从整体进行考虑,具有较低的重用性。 而BlS对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。

2.5 系统维护不同

系统维护是在软件生存周期中开销最大的一部分。C/S程序由于其本身的整体性,必须整体考察并处理出现的问题。而B/S结构,客户端不必安装及维 护。B/S结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。当需要升级时,只需更新服务器端的软件,而不必更换客户端软件,实现系 统的无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成本(TCO)大大降低。

2.6 对安全的要求不同

由于C/S采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好的网络协议(例如NT的NetBEUI协议),安全性可得到较好的保证。 C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信 息系统采用C/S结构适宜。而B/S采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Intemet的开放性协议,其安全性 只能靠数据服务器上管理密码的数据库来保证。所以B/S对安全以及访问速度比C/S有更高的要求。而Intemet技术中这些关键的安全问题远未解决。

2.7 速度不同

由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快。使得C/S更利于处理大量数据。

2.8 交互性与信息流不同

交互性强是C/S固有的一个优点。在C/S中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切 换。B/S虽然由javascript、VBScript提供了一定的交互能力,但与C/S的一整套客户应用相比是太有限了。C/S的信息流单一,而 B/S可处理如B-B、B-C、B-G等信息并具有流向的变化。

3 基于B/S结构与C/S结构结合的体系结构

综上所述,可见B/S与C/S这两种技术是各有利弊的。

C/S技术是20年前的主流开发技术,它主要局限于内部局域网的需要。因而缺乏作为应用平台的一些特性,难以扩展到互联网这样的环境上去,而且要求 开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解 决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂,成了C/S的一大缺陷。

但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术更成熟、更可靠。在某些情 况下,采用100%的B/S方式将造成系统响应速度慢、服务器开销大、通信带宽要求高、安全性差、总投资增加等问题。而且,对于一些复杂的应用,B/S方 式目前尚没有合适方式进行开发。

    客观地分析C/S、B/S的优劣,建立C/S、B/S结构相结合的网络构架已成为必然趋势。在实际开发和规划系统的时候要有的放矢,才能够搭建成合适的信息系统。

下面以学校学生管理系统为实例说明这种设计方法。该系统采用B/S+C/S体系结构,结合了ASP技术,并将组件技术COM+和ActiveX技术 分别应用在服务器端和客户端。该系统的实现主要分为三个部分:ASP页面、COM+组件和数据库,是一个三层结构。表示层由ASP页面组成,用以实现 WEB页面显示和调用COM+组件,业务逻辑和数据访问由一组用VC实现的COM+组件构成。为了便于维护、升级和实现分布式应用,在实现过程中,又将业 务逻辑层和数据访问层分离开,ASP页面不直接调用数据访问层,而是通过业务逻辑层调用数据库。一些需要用WEB处理的、满足大多数访问者请求的功能界面 采用B/S结构,例如任课教师可以通过浏览器查询所教班级学生各种相关信息;学校管理人员通过浏览器对学校的学生、教师等信息进行管理与维护以及查询统 计;领导层可通过浏览器进行数据的查询和决策。这样客户端比较灵活。而后台只需少数人使用的功能则采用C/S结构,例如数据库管理维护界面。如此处理,可 充分发挥各种模式的优越性——避免了B/S结构在安全性、保密性和响应速度等方面的缺点以及C/S结构在维护和灵活性等方面的缺点。COM+的实现可分为 三个步骤:COM+组件的设计、COM+应用程序的生成和编程。COM+组件位于WEB应用程序中,客户端发出请求到WEB SERVER。WEB SERVER将请求传给WEB应用程序。WEB应用程序将数据请求传送给数据库服务器,数据库服务器将数据返回WEB应用程序。然后再由WEB SERVER将数据传送给客户端。对于一些较难实现的功能通过在页面中嵌入ActiveX控件来实现。

采用这种结构优点在于:

(1)充分发挥了B/S与C/S体系结构的优势,弥补了二者不足。充分考虑用户利益,保证浏览查询者方便操作的同时也使得系统更新简单,维护简单灵活,易于操作。

(2)信息发布采用B/S结构,保持了瘦客户端的优点。装入客户机的软件可以采用统一的WWW浏览器。而且由于WWW浏览器和网络综合服务器都是基于工业标准,可以在所有的平台上工作。

(3)数据库端采用C/S结构,通过ODBC/JDBC连接。这一部分只涉及到系统维护、数据更新等,不存在完全采用C/S结构带来的客户端维护工作量大等缺点。并且在客户端可以构造非常复杂的应用,界面友好灵活,易于操作,能解决许多B/S存在的固有缺点。

(4)对于原有的基于C/S体系结构的应用,只需开发用于发布的WWW界面,就可非常容易地升级到这种体系结构,并保留原来的某些子系统。这样就充分地利用现有系统的资源。

(5)通过在浏览器中嵌入ActiveX控件可以实现在浏览器中不能实现或实现起来比较困难的功能。例如通过浏览器进行报表的应答。

(6)将服务器端划分为WEB服务器和WEB应用程序两部分。WEB应用程序采用组件技术实现三层体系结构中的逻辑部分,达到封装的目的。

B/S结构与C/S结构各具优缺点,怎样结合B/S与C/S开发系统是开发MIS系统普遍关注的问题。在应用过程中,应结合实际情况,并根据实际情况进行系统的选型与构建,从而开发出高效、安全的应用系统。
 
原创粉丝点击