zoukankan      html  css  js  c++  java
  • 文献笔记8

    读[1]李云云.浅析B/S和C/S体系结构[J].科学之友,2011,2(6):6-7笔记
    软件体系结构是软件需求和软件设计之间的一座桥梁.使得软件设计能够很真实地反映并满足软件的需求.从而提高了软件需求和软件设计的质量。

    C/S结构

    C/S(Client/Server)结构见图1,是基于资源不对等,且为实现共享而提出来的一种体系结构,是20世纪90年代成熟起来的技术。客户机!服务器结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的开销。客户/服务器应用模式的特点是大多基于“肥客户机”结构下的两层结构应用软件。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle ,Sybase , Informix或SQL Server,客户端安装专用的客户端软件。

    C/S结构的优势

    1.C/S模型具有强大的数据操作和事务处理能力,且开发模型简单,易于理解和接受。系统的客户应用程序和服务器构件分别运行在不同的计算机上,易于扩充和压缩。2.在C/S结构中,各功能构件充分隔离,客户应用程序的开发集中于数据的查询浏览,而数据库服务器的开发则集中于数据的管理,分工具体,且利于系统的安全性。由于客户端与服务器的直接相连,因此实时性较好。3.能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,而且应用服务器运行数据负荷较轻。

    C/S结构的劣势

    在C/S结构中,表现层和事务层都放在客户端,而数据逻辑层和数据存储层则置于服务器端。这种组织安排带来诸多的限制:①维护和升级成本非常高。2C/S结构的软件需要针对不同的操作系统开发不同版本的软件,已经很难适应百台电脑以上局域网用户同时使用,而且代价高、效率低。3C/S组织结构不支持Internet,只适用于局域网,而随着互联网的飞速发展,移动办公和分布式办公越来越普及,CS结构很显然无法满足这些需求。另外,除了传统的二层CIS结构,还存在三层次客户机/服务器(C/S)结构。三层次客户机/服务器(C/S)结构是在常规客户机/服务器(C/S)结构上提出的,系统在客户机和数据库服务器间添加一个应用服务器。值得注意的是,3层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,作为整体来说,也达不到所要求的性能。此外.设计时必须慎重考虑3层间的通信方法、通信频度及数据量,这和提高各层的独立性一样,是3层CS结构的关键问题。

    B/S结构

    在当前Internet/Tntranet领域,浏览器/服务器结构是当前非常流行的客户机/服务器结构,简称BS结构,见图2,主要是利用不断成熟的WwW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本.是一种全新的软件体系结构。
    B/S结构是一种典型的3层结构模式:表示层、处理层和数据层。表示层为浏览器。浏览器仅承担网页信息的浏览功能,以超文本格式实现信息的浏览和输入,没有任何业务处理能力;功能层由服务器承担业务处理逻辑和页面的存储管理,接收客户浏览器的任务请求,并根据任务请求类型执行相应的事务处理程序;数据层由数据库服务器承担数据处理逻辑,其任务是接收服务器对数据库服务器提出的数据操作的请求,由数据库服务器完成数据的查询、修改、统计.更新等工作,并把对数据的处理结果提交给服务器。

    B/S结构的优势

    ①操作使用简单。BS最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件、只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。②维护和升级方式简单。B/S结构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。③成本降低,选择更多。BS结构可以支持任何操作系统和浏览器,对系统性能和配置要求相对较低,既可以节省成本.对用户而言.对操作系统和浏览器又有更多的选择。

    B/S结构的劣势

    B/S模式也存在不足,表现在服务器负担过重,尤其是在业务逻辑复杂和处理量大的情况下,服务器的处理能力成为影响系统效率的关键因素。另外,服务器也成为系统的瓶颈。具体表现在:D由于浏览器只是为了进行 WEB浏览而设计的,当应用于WEB 系统时.许多功能不能实现或实现起来比较困难。比如,通过浏览器进行大量的数据输入,或进行报表的应答都是比较困难和不便的。②复杂的应用构造困难。虽然可以用ActiveX ,Java等技术开发较为复杂的应用.但是相对于发展已非常成熟的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术供其使用。③HTTP可靠性低,有可能造成应用故障,特别是对于管理者来说、采用浏览器方式进行系统的维护是非常不安全和不方便的。④WEB服务器成为数据库的唯一客户端,所有对数据库的连接都通过该服务器实现。WEB服务器同时要处理与客户请求,以及与数据库的连接,当访问量大时,服务器端负载过重。⑤由于业务逻辑和数据访问程序一般由 JavaSeript . VB-Script 等嵌入式小程序实现,分散在各个页面里,难以实现共享,给升级和维护也带来了不便。

  • 相关阅读:
    由DBCursor的“can't switch cursor access methods”异常引发的思考
    在Java中使用元组类型的利器
    Linux命令行如何返回上一次的目录
    Linux下通过crontab命令来实现定时任务
    Spark任务踩到的坑
    Hadoop HDFS命令学习笔记
    Spark RDD学习笔记
    HBase的基本操作
    一张图5分钟熟悉MarkDown的基本语法
    C#跨线程操作控件的最简单实现探究
  • 原文地址:https://www.cnblogs.com/hlywzj/p/15674285.html
Copyright © 2011-2022 走看看