• 人机交互——C/S与B/S总结


    近期,在学习人机交互这门课时,上网查询很多资料,对C/S与B/S两种架构方式做了了解,将学习到的东西总结如下:

      C/S架构 B/S架构
    名称

    服务器-客户机

    server/client

    浏览器和服务器架构

    Browser/Server Architecture

    简介

    通常采用两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。

    客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。

    服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。

    每个节点都分布在网络上,这些网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成系统的功能任务。
    浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。
    服务器端:提供数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。
    中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。
    优点

    充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,客户端响应速度快。

    应用服务器运行数据负荷较轻、数据的存储管理功能较为透明

    节省系统软件维护和升级成本,“瘦”客户机,“胖”服务器;

    服务器操作系统选择多样,并不拘泥于windows

    缺点

    客户端专用软件的安装量;系统软件维护和升级成本高;客户端操作系统的限制;

    高昂的维护成本且投资大,效率低

    应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想,前端处理事务极少
    硬件环境 建立在局域网的基础上,局域网之间再通过专门服务器提供连接和数据交换服务;相对成本高 建立在广域网之上,不必配备专门的网络硬件环境。虽然对客户端的硬件要求不是很高,只需要运行操作系统和浏览器,但服务器端需要处理大量实时的数据,这就对服务器端的硬件提出了较高的要求;相对成本低
    系统维护与升级 每一个客户机都必须安装和配置相关软件,如操作系统、客户端软件等。当客户端软件需要维护、升级,即使只是增加或删除某一功能,也需要逐一将CS结构中所有的客户端软件卸载并重新安装。如果不进行升级,可能会碰到客户端软件版本不一致而无法工作的情况 每一个客户端只需通过浏览器便可进行各种信息的处理,而不需要安装客户端软件,维护、升级等几乎所有的工作都在服务器端进行,如果系统需要升级,只需要将升级程序安装在服务器端即可
    系统安全 采取点对点的结构模式,数据的处理是基于安全性较高的网络协议之上;面向相对固定的用户群,它可以对权限进行多层次的校验,对信息安全的控制能力很强,安全性可以得到很好的保障 采取一点对多点、多点对多点的开放式结构模式,其安全性只能靠数据服务器上的管理密码的数据库来保证,况且网络安全技术尚未成熟,需不断发现、修补各种安全漏洞
    用户接口 多是建立在Windows平台上,表现方法有限,对程序员普遍要求较高 建立在浏览器上,有更加丰富和生动的表现方式与用户交流
    处理 建立在局域网上,处理面向在相同区域的比较固定的用户群,满足对安全要求高的需求,与操作系统相关 建立在广域网上,处理面向分散的地域的不同的用户群,与操作系统关系较少
    软件重用 构建的重用性差 多重结构,要求构建相对独立的功能,能够相对较好的重用
    系统速度 响应速度快,利用处理大量数据 速度相对较慢
    交互性与信息流 交互性强,客户机有完整的客户端软件,能处理大量的、实时的数据流,响应速度快;信息流单一 交互能力有限;可处理如B-B、B-C、B-G等信息并具有流向的变化
    本人的简单理解

    数据需要实现客户端和服务端的“实时”同步,这在维护系统软件上会花费大量成本;

    针对不同操作系统,需要开发各自对应的系统软件,在软件升级换代时,会出现,代价高和效率低的状况,且系统升级,每一台客户机都需要重新安装,维护和升级成本再次提高;

    客户端担任主动的角色,向服务端发送请求,等待回应;服务端担任被动角色,收到客户端请求,发送回应。

    客户端简化,只需安装操作系统、浏览器;

    多增加一个逻辑上的中间件,实现两端时间的交互信息;

    服务器端所承担的任务较重,对服务器的硬件要求、人员能力要求高,需做好备用服务器工作保证正常系统运行。

    本文主要来源于百度百科对服务器-客户机以及BS架构的相关解释。

  • 相关阅读:
    uva10341
    android_定义多个Activity及跳转
    阿里巴巴2014年校园招聘(秋季招聘)在线笔试--測试研发project师
    关于程序猿的几个阶段!
    【Spring】Spring学习笔记-01-入门级实例
    感知器算法(二分类问题)
    Ubuntu14.04下安装ZendStudio10.6.1+SVN出现Failed to load JavaHL Library
    EF架构~关系表插入应该写在事务里,但不应该是分布式事务
    EF架构~在global.asax里写了一个异常跳转,不错!
    EF架构~为导航属性赋值时ToList()的替换方案
  • 原文地址:https://www.cnblogs.com/Qi77/p/11950404.html
Copyright © 2020-2023  润新知