将C/S、B/S架构对立起来是完全错误的

       在二胖之前的文章《C/S、B/S架构模式的三层结构特点分析》中简介了B/S架构对C/S架构的诸多优势,但是文中忽略了B/S架构的优势是针对C/S两层架构独有的。并且随着对两种架构的深入理解,发现人们将C/S、B/S架构对立起来是完全错误的!因为B/S架构本身就是C/S三层架构的一个子集。

   要说清楚这个问题,我们先来看看C/S两层架构的定义与特定。C/S软件体系架构,即Client/Server(客户机,服务器)架构,是基于资源不对等且为实现共享而提出来的。C/S架构将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。在传统的数据库应用体系中,客户端与数据库完全分开,在客户端上处理大部分业务逻辑,如数据访问规则,业务规则,合法性校验等。每一个客户端都存在数据引擎,并且每个客户端与数据库服务器建立独立的数据库连接。传统的二层C/S架构的优势是开发周期较短,能够适应大部分中小型数据库应用系统的要求。但是该架构局限性也很明显:1.它是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;2.受限于供应商;3.软、硬件的组合及集成能力有限;4.难以管理大量的客户机。

   随着数据库的日渐发展,数据容量、客户端数量的不断增加,两层C/S架构已不能满足实际应用的需求,所以三层架构应运而生。

三层C/S架构的基本硬件结构

  所谓三层体系结构,是在客户端与数据库之间加入了一个中间层,也叫组件层。中间层是一个用API定义的软件层,具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。通常三层结构体系的应用程序将业务规则,数据访问,合法性校验等工作也放到了中间层进行处理。

   三层C/S架构将应用功能分层为表示层、功能层和数据层三部分。将上述三层功能装载到硬件的方法基本上有三种,如下图所示。其中表示层配置在客户机汇总,而数据层部署在服务器上。通常情况下,客户端不与数据库进行交互,而是通过通讯协议与中间层建立联系,再经由中间层与数据库进行交互。

    在三层C/S中,表示层是应用的用户接口部分,担负着与用户交互的作用。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户方便直观地进行操作,表示层可以是有GUI的定制软件,也可以是浏览器(此时是B/S架构),甚至可以是通过SSH访问服务器的命令行脚本。只要是客户端通过访问服务器调取计算或者存储资源的,统统都是C/S架构。所谓的Browser/Server架构其实是C/S架构的一种特殊的实现形式,B/S架构是C/S三层架构的子集。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值