飞儿乐队 发表于 2018-5-18 16:14:46

C/S结构与B/S结构

1.C/S (Client/Server)结构

即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配
到Client端和Server端来实现,降低了系统的通讯开销。

C/S结构可以看做是胖客户端架构。客户端实现绝大多数的业务逻辑处理和界面展示,作为客户端的部分需要
承受很大的压力

其实现可以是客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,
客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户
端的程序通信。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Clien
t端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对
不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网
用户同时使用。而且代价高, 效率低。

2.B/S(Browser/Server)结构

即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构
下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务
逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统
维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

B/S结构的系统无须特别安装,只有Web浏览器即可。当然AJAX\Flex等等的普遍使用也有富客户端的发展方
向。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把
握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(
比如LAN, WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,
服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

3.C/S和B/S结构优缺点
3.1.B/S结构优缺点:

B/S结构的优点:

<1>.无需安装,客户端不需要安装有浏览器即可。

<2>.分布性特点,可以随时随地进行查询、浏览等业务处理。

<3>.业务扩展便捷,通过增加页面即可增加服务器功能。

<4>.升级维护便捷,无需升级多个客户端,升级服务器即可,就可以实现所有用户的同步更新。

<5>.共享性强特点,可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。

B/S结构的缺点:

<1>.在跨浏览器上,BS结构不尽如人意。

<2>.在速度和安全性上需要花费很多设计成本,响应速度不及C/S,随着AJAX技术的发展,相比传统B/S

结构软件速度有很大提升。

<3>.用户体验不是很理想,B/S需要单独界面设计,各个浏览器厂商的对浏览器的解析的标准不同。

客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行
后此问题得到了一定程度的缓解)

3.2C/S结构优缺点:

C/S结构的优点:

<1>.C/S结构的界面和操作简单丰富。

<2>.C/S结构的管理信息系统具有较强的事务处理能力。

<3>.C/S结构的安全性能可以很容易保证,实现多层认证也不难。

<4>.C/S结构的响应速度快。由于客户端实现与服务器的直接相连,没有中间环节,只有一层交互,因
此响应速度较快。

C/S结构的缺点:

<1>.适用面窄,通常用于局域网中。

随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式
远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

<2>.客户端需要安装专用的客户端软件。

由于程序需要安装才可使用,因此不适合面向一些不可知的用户。涉及到安装的工作量,其次任何一台
电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工
作量的问题,而是路程的问题。

<3>.维护升级成本高,进行一次维护升级,需要所有客户端的程序进行重新安装。

<4>.对客户端的操作系统一般也会有限制。

可能适应于WinXP, 但不能用于WinVista或Win7。或者不适用于微软新的操作系统等等,还有Linux、Un
ix等等操作系统。

4.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 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。

页: [1]
查看完整版本: C/S结构与B/S结构