1、C/S架构和B/S架构概念
(1)C/S架构
C/S架构即Client/Server
(客户机/服务器)结构,是大家熟知的软件系统体系结构。
通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。
早期的软件系统多以此作为首选设计标准。
(2)B/S架构
B/S架构即Browser/Server
(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S架构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓三层架构结构。
B/S架构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
B/S架构成为当今应用软件的首选体系结构。
2、C/S结构与 B/S架构的区别:
Client/Server
是建立在局域网的基础上的。Browser/Server
是建立在广域网的基础上的。
- 硬件环境不同::
C/S架构一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。
B/S架构是建立在广域网之上的,,不必是专门的网络硬件环境,而且信息自己管理。比C/S架构有更强的适应范围, 一般只要有操作系统和浏览器就行 。 - 对安全要求不同:
C/S架构一般面向相对固定的用户群,对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S架构适宜,可以通过B/S架构发布部分可公开信息。
B/S架构建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。 - 对程序架构不同:
C/S架构的程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S架构的程序侧重对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S架构有更高的要求。
B/S架构的程序是发展的趋势,一些新技术的推出,使B/S架构更加成熟。 - 软件重用不同:
C/S架构的程序可以不为整体性考虑,,程序的重用性不如在B/S架构的程序要求高。
B/S架构的程序侧重多重结构,要求构件具有相对独立的功能模块,能够相对较好的重用。 - 系统维护不同:
系统维护是软件生存周期中重要的组成部分,并且开销很大。
C/S架构程序的升级维护必须整体考察,处理出现的问题以及系统升级会非常困难,有时候可能是再做一个全新的系统。而且还需要用户从网上自己下载安装实现升级。
B/S架构程序基本上是由不同功能的模块组成,如果某个模块出现问题或者需要升级,单独维护该模块就可以,系统维护升级的开销可以减到最小。 - 处理问题不同:
C/S架构的程序面向人群比较固定,并且处理的问题在相同区域,安全要求高,与操作系统版本有一定关联。
B/S架构的程序建立在广域网上,面向不同的用户群,这是C/S架构的程序无法做到的,与操作系统平台关联最小。 - 用户接口不同:
C/S架构的程序多是建立的Window平台上,表现方法有限,对程序员普遍要求较高。
B/S架构的软件建立在浏览器上,,有更加丰富和生动的表现方式,与用户交流。并且大部分开发难度降低,减低开发成本。 - 信息流不同:
C/S架构的程序一般是典型的中央集权的机械式处理,,交互性相对低。
B/S架构的程序信息流向可变化,如:企业与企业间的电子商务(B-B模式),企业与消费者之间的电子商务(B-C模式) ,企业与政府间的电子商务(B-G模式)等,信息流向的变化更象交易中心。
3、C/S架构和B/S架构优点和缺点
(1)B/S模式的优点和缺点:
B/S结构的优点:
- 具有分布性特点,可以随时随地进行查询、浏览等业务处理。
- 业务扩展简单方便,通过增加页面即可增加服务器功能。
- 升级维护简单方便,只需要改变页面,即可实现所有用户的同步更新。
B/S 模式的缺点:
- 响应速度不及C/S架构,随着AJAX技术的发展,相比传统B/S架构软件提升一倍速度。
- 不同浏览器之间的界面和刷新机制略有不同,有的时候需要根据不同的浏览器单独设计界面。但随着技术的发展,B/S架构软件用户体验效果与C/S架构的软件相差不多。
(2)C/S 模式的优点和缺点
C/S 模式的优点:
- 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度较快。
- C/S结构的管理信息系统具有较强的事务处理能力。
- 系统具有稳定性和安全性高。
C/S 模式的缺点:
- 只适用于局域网。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 - 客户端需要安装专用的客户端软件。
首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
还有系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。、 - 对客户端的操作系统一般也会有限制。
可能适应于Win7系统,但不能用于win8系统或Windows10系统,
或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。