zoukankan      html  css  js  c++  java
  • B/S架构和C/S架构

    首先,什么是B/S、C/S。它们之间的优缺点各是什么,这是一个学习软件的人都应该掌握的知识。关于这个问题,google一下能够得到很多具体而有效的答案。 

    (一)、什么是C/S和B/S:

    C/S又称Client/Server或客户/服务器模式。

    在C/S模式中服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

    B/S又称Brower/Server模式。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

    (二)、C/S,B/S各有什么优缺点:

    1 C/S结构

    C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。通过C/S可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是C/S形式的两层结构。由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件,因此,内部的和外部的用户都可以访问新的和现有的应用系统。通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前应用系统的发展方向。

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

    �2 B/S结构

    B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起而对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。B/S结构是一次到位开发,能实现不同人员,从不同地点,以不同的接入方式(比如LAN、 WAN、 Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。��

    B/S结构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术,成为当今应用软件的首选体系结构。

    以上是我选取网络上比较精炼的一个B/S、C/S介绍。

    用几个关键点可以总结如下:

    C/S模式:

    ①、充分利用现在PC机的硬件优势和网络的稳定性,将逻辑处理合理分担到客户机和服务器,减轻服务器负担,也使软件产品能实现更加好的功能(尤其在视觉效果、3D处理等)

    ②、更新维护过程需要同时对服务器、客户端进行升级处理,成本高、效率低。(这也是这种设计模式的最大硬伤)

    B/S模式:

    ①、将大量的事务逻辑工作放在服务器端,而在Browser端只有很少的事务逻辑。这样对前端计算机的硬件要求降低了。

    ②、由于相关标准的完善,B/S模式更符合工业化大规模生产的要求。用户只要在自己的电脑上安装一个浏览器,便可以浏览任何一个网站。这是C/S模式无法做到的。

    ③、过于标准化的B/S前端,同样可以理解成为过于呆板,这直接导致了B/S模式下的功能实现没有C/S灵活、方便、美观。如今的一些script技术和AJAX技术等已经很大程度上缓解了这个问题。但和一些3D网络游戏等等在美观角度还是无法比拟的。

    那么是否能在两者之间寻找一个平衡点呢,仁者见仁吧;

    那么在上述两种模式中再引入一个现在比较流行的术语——“云计算”,那么又会是怎么样的一番博弈呢。

    看看我们现在的世界:

    1、越来越快、越来越稳定的网络传输速度

    2、智能手机越来越像个人电脑

    3、网络使用者数量的急剧膨胀

    在这样的网络大环境下,软件产品的架构模式又会往哪个方向发展呢。其实每个人都可以去思考一下这些有趣的问题。

  • 相关阅读:
    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world
    [大数据从入门到放弃系列教程]第一个spark分析程序
    Mac配置Scala和Spark最详细过程
    Mac配置Hadoop最详细过程
    [从零开始搭网站八]CentOS使用yum安装Redis的方法
    CentOS磁盘用完的解决办法,以及Tomcat的server.xml里无引用,但是项目仍启动的问题
    Mysql 删除重复数据只保留id最小的
    bootstrap媒体查询常用写法
    Arduino Uno 在win7 64位下的驱动问题
    VS项目模板文件位置
  • 原文地址:https://www.cnblogs.com/chenduzizhong/p/11102829.html
Copyright © 2011-2022 走看看