C/S和B/S两种架构的区别和优缺点

C/S和B/S两种架构的区别和优缺点

一、C/S

1、 概念:典型的两层架构,全称Client/Server,客户端服务器端架构,,其客户端包含一个欧多个用户电脑上运行的程序,二服务器有两种:一种是数据库服务器,可短短通过数据库连接访问服务器端数据,另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。

C/S架构可以看做是胖客户端架构,因为客户端需要实现大多数的业务逻辑和界面展示,这种架构的客户端需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互来达到持久化数据。


2、 优缺点:

优点:

2.1、C/S架构的界面和操作可以很丰富

2.2、安全性能容易保证,实现多层认证

2.3、因为一层交互,因此响应速度较快

缺点:

2.4、适用面窄,通常用在局域网中

2.4、用户群固定。由于程序安装需要安装才能使用,因此不适合面向不可知的用户

2.5、维护成本高,发生一次升级,在所有客户端程序都需要改变

二、B/S

1、概念

全称Browser/Server,即浏览器、服务器界都Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现,Browser客户端,WebApp服务器端和DB端构成所谓的三层架构。B/S架构的系统无须特别安装,只有Web浏览器即可。

 

B/S架构中,显示逻辑交给了Web浏览器,事务处理逻辑在放在了WebApp上,这样就避免了庞大的胖客户端,减少了客户端的压力。因为客户端包含的逻辑很少,因此也被成为瘦客户端。

 

2 、优点和缺点

优点:

1)客户端无需安装,有Web浏览器即可。
2)BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3)BS架构无需升级多个客户端,升级服务器即可。

缺点:

1)在跨浏览器上,BS架构不尽如人意。
2)表现要达到CS程序的程度需要花费不少精力。
3)在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
4)客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)


三、B/S对C/S的改进和扩展

正如前文所说,C/S和B/S都可以进行同样的业务处理,但是B/S随着Internet技术的兴起,是对C/S结构的一种改进或者扩展的结构。相对于C/S,B/S具有如下优势:

1、分布性:可以随时进行查询、浏览等业务

2、业务扩展方便:增加网页即可增加服务器功能

3、维护简单方便:改变网页,即可实现所有用户同步更新

4、开发简单,共享性强,成本低,数据可以持久存储在云端而不必担心数据的丢失。

四、两者区别

二、C/S和B/S的不同点

1)比较大的差别
1、结构

C/S是两层架构,由客户端和服务器组成,而B/S是三层架构,由浏览器,WEB服务器和数据库服务器组成。


2、逻辑事务处理
C/S架构合理地让客户端和服务器承担一部分逻辑事务处理,使得服务器的负担减轻了,而且客户端也能进行一些数据处理和存储的功能。B/S架构的浏览器就是它的客户端,可是这个客户端只能进行一些简单的输入输出和信息发布共享的功能,主要的逻辑事务处理还是要靠服务器,所以服务器的负担很重。


3、工作原理
C/S架构是客户端和服务器直接相连,实现点对点的通信,B/S是浏览器通过WEB服务器向数据库服务器发送数据请求,实现多对多的通信。


4、响应速度
C/S架构的客户端和服务器直接相连,中间没有任何阻隔,所以相应速度快,尤其是在用户增多时更加明显。B/S架构相应速度慢,主要的重任在数据库服务器身上,由于B/S架构的无限扩展性,当用户激增,访问量庞大时,服务器相应速度慢,服务器存在瘫痪的危险。


5、成本
C/S架构开发时,硬件需要一次性购买,费用较高,且需要训练有素的技术人员,培训费用高,而且软件后期也需要不断投入大量资金。B/S架构只需要一次性投入几乎可以一劳永逸,有利于软件项目控制和IT黑洞。


6、维护、升级以及扩展
C/S架构一旦有业务的变更或要升级,客户端界面就要重新设计,需要投入大量的人力物力。软件维护也比较麻烦,需要专业人士进行维护。用户扩展也比较麻烦,需要安装客户端,对软硬件要求高。B/S架构的维护和升级都非常容易,只要更改页面内容或者增减页面即可,客户端几乎是零维护,只需要维护好服务器。所以相对来说更简易,方便。由于B/S可以随时随地的访问,所以极易扩展。


7、信息共享
C/S架构是建立在局域网之上的,面向的是可知的有限用户,信息共享只在小范围内。B/S架构建立在广域网之上,用户随时随地都可以访问,外部用户也可以访问,尤其是WEB技术的不断发展,B/S面对的是几乎无限的用户群体,所以信息共享性很强。


8、客户端界面
C/S架构可以针对不同的功能设计出不同的很有特色的用户界面,实现个性化。但是一旦业务改变就需要重新设计,很麻烦。B/S架构的用户界面很通用,不能针对用户突出个性,但是业务改变时只需要改变界面内容或者增减页面,很轻松就能实现。


2)小的差别
1、适用的网络
C/S架构是建立在局域网的基础之上的,局域网之间通过专用服务器提供连接提供服务。B/S架构是建立在广域网的基础之上,有更大的使用范围。


2、访问
C/S架构下,用户需要安装客户端才能够访问服务器,而B/S架构下,用户可以随时随地访问,只要有网有浏览器,方便快捷。  


3、数据库连接类型

C/S采用的是ODBC连接,所以只要用户连接了数据库就一直保持连接不会断开,所以限制了用户数,而B/S采用的是JDBC连接,用户并不保持对数据库的连接,所以用户数几乎是无限的。


4、功能
C/S架构能够实现单一的复杂功能,如财政管理等,所以现在大多数比较大型的ERP系统仍是C/S架构,B/S架构的界面比较通用,所能处理的逻辑事务较少,所以功能较弱。


5、安全性
C/S架构建立在局域网之上,面向比较固定的用户,对安全的要求较高。B/S架构建立在广域网上,面对不可知人群,安全性差。


6、信息流向不同
C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低B/S信息   流向可变化, B-B B-C B-G等信息、流向的变化, 更像个交易中心。


7、对技术人员的要求
C/S的功能比较专业化,对设计和开发人员的要求较高,需要专业的培训。B/S的界面比较人性化,通用化,所以不需要多高的技能。

 

猜你喜欢

转载自blog.csdn.net/yanwenwennihao/article/details/79774657