C/S架构与B/S架构
- C/S和B/S都是互联网中常见的网络结构模型。
一、什么是C/S模型
- C/S模型中的C是英文单词“Client”的首字母,即客户端的意思
- C/S就是“Client/Server”的缩写,即“客户端/服务器”模式
- 例如:拼多多APP、PC上的有道云笔记等等
二、什么是B/S模式
- B/S中的B是英文单词“Browser”的首字母,即浏览器的意思
- B/S中的S是英文单词“Server”的首字母,即服务器的意思
- B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式
- 如淘宝网、京东网等
三、C/S框架软件的优势和劣势
- 优势
- 针对客户端可以高度定制
- 劣势
- 需要用户去下载才能使用,不方便
[1]应用服务器运行数据负荷较轻
-
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序(前台程序)和数据库服务器程序(后台程序)
-
服务器被启动后,会随时等待响应客户发来的请求
- 应用程序运行在用户的电脑上,当应用程序需要读取或者写入数据时,应用程序会自动寻找服务器程序,并发出请求
- 服务器只要做出简单的应答,返回结果,所以对服务器的负荷较轻
[2]数据的储存管理功能较为透明
-
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的
-
在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络
-
在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
[3]C/S架构的劣势是高昂的维护成本且投资大
- 首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题
- 如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
- 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
- 在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
四、B/S架构软件的优势与劣势
[1]维护和升级方式简单
- 目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性
- 因为B/S框架中所有客户端B/S架构客户端只是浏览器不需要维护,只需要管理服务器就行了
- 升级和维护也只需要针对服务器,软件升级和维护也会容易,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
[2]成本降低,选择更多
- 浏览器基本上再电脑上实现了标准配置
- 凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高
- windows在在桌面电脑上几乎一统天下,但在服务器操作系统上选择很多,Linux因为除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行
[3]应用服务器数据负载高
- 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只要管理服务器就行了
- 都是真是因为如此,所有数据都储存在应用服务器上,使得其运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
四、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系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。
- 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等信息流向的变化,更象交易中心。