随着网络技术的不断发展,各种各样的网络应用程序大爆发。运用最多的架构是基于浏览器+服务器的B/S结构,另一种是基于的 C/S结构。
BS = Browser / Server =浏览器+服务器 例子:各大网站,比如CSDN
C/S = Client / Server = 客户端+服务器 例子: QQ,迅雷,快播,LOL
在这种架构中,客户端不需要开发任何界面,而统一的使用Chrome和Firefox等浏览器,通过Web浏览器先Web服务器发送请求,有Web服务器进行处理,并将处理后的结果逐级传递回浏览器。这种结构利用不断成熟和普及的浏览器基数实现原来的复杂软件才能是实现的强大的功能,从而节约开发成本。
Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
C/S模式的发展经历了从两层结构到三层结构 两层结构由两部分构成:前端是客户机,主要完成用户界面显示,接受数据输入,校验数据有效性,向后台数据库发请求,接受返回结果,处理应用逻辑;后端是服务器,运行DBMS,提供数据库的查询和管理。 两层结构存在一些不足:主要表现在:系统的可伸缩性差;难以和其它系统进行互操作;难以支持多个异构数据库;客户端程序和服务器端DBMS交互频繁,网络通讯量大;所有客户机都需要安装、配置数据库客户端软件,这是一件十分庞杂的工作,等。
基于二层结构的以上不足,三层结构伴随着中间件技术的成熟而兴起。其核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。 三层结构较二层结构具有一定的优越性:具有良好的开放性;减少整个系统的成本,维护升级十分方便;系统的可扩充性良好;系统管理简单,可支持异种数据库,有很高的可用性;可以进行严密的安全管理
C/S | B/S | |
---|---|---|
硬件环境 | 专用网络 | 广域网 |
安全要求 | 面向相对固定的用户群信息安全的控制能力强 | 面向不可知的用户群对安全的控制能力相对较弱 |
程序架构 | 更加注重流程系统运行速度可较少考虑 | 对安全以及访问速度都要多重的考虑,是发展趋势 |
软件重用 | 差 | 好 |
系统维护 | 升级难 | 开销小,方便升级 |
处理问题 | 集中 | 分散 |
用户接口 | 与操作系统关系密切 | 跨平台,与浏览器相关 |
信息流 | 交互性低 | 交互密集 |
文章部分内容参考百度百科。