首页 > 其他分享 >CS架构与BS架构

CS架构与BS架构

时间:2024-01-11 14:57:35浏览次数:29  
标签:架构 操作系统 数据库 BS CS 服务器 浏览器 服务器程序

【一】引入

  • C/S和B/S都是互联网中常见的网络结构模型。

【一】什么是C/S模型

  • C是英文单词“Client”的首字母,即客户端的意思
  • C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。
    • 例如:拼多多APP、PC上的有道云笔记等等

img

【二】什么是B/S模型

  • B是英文单词“Browser”的首字母,即浏览器的意思;
  • S是英文单词“Server”的首字母,即服务器的意思。
  • B/S就是“Browser/Server”的缩写
    • 即“浏览器/服务器”模式。
      • 例如:淘宝网、京东网等等

img

【三】两大模型的比较

  • C/S和B/S是当今世界开发模式技术架构的两大主流技术。
  • C/S是美国Borland公司最早研发
  • B/S是美国微软公司研发。
  • 目前,这两项技术以被世界各国所掌握
  • 国内公司以C/S和B/S技术开发出产品也很多。
  • 这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体

【四】C/S架构软件的优势与劣势

  • 优势
    • 针对客户端可以高度定制
  • 劣势
    • 需要用户去下载才能使用,不方便

【1】应用服务器运行数据负荷较轻

  • 最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。
  • 二者可分别称为前台程序与后台程序。
    • 运行数据库服务器程序的机器,也称为应用服务器。
  • 一旦服务器程序被启动,就随时等待响应客户程序发来的请求;
    • 客户应用程序运行在用户自己的电脑
    • 对应于数据库服务器,可称为客户电脑
    • 当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求
    • 服务器程序根据预定的规则作出应答,送回结果
    • 应用服务器运行数据负荷较轻。

【2】数据的储存管理功能较为透明

  • 在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现
    • 例如访问者的权限,编号可以重复、必须有客户才能
  • 建立定单这样的规则。
    • 所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。
  • 在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络
  • 在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

【3】C/S架构的劣势是高昂的维护成本且投资大

  • 首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题
  • 如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
  • 其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
    • 在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

【五】B/S架构软件的优势与劣势

【1】维护和升级方式简单

  • 目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
  • 对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的
  • 但B/S架构的软件只需要管理服务器就行了
  • 所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量
  • 所有的操作只需要针对服务器进行;
  • 如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。
  • 所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。
  • 今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。
  • 因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

【2】成本降低,选择更多

  • 大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置
  • 但在服务器操作系统上windows并不是处于绝对的统治地位。
  • 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。
  • 所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来
  • Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
  • 比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

【3】应用服务器运行数据负荷较重

  • 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现
  • 所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
  • 但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

【六】C/S与B/S区别

  • Client/Server是建立在局域网的基础上的
  • Browser/Server是建立在广域网的基础上的。

【1】硬件环境不同

  • C/S一般建立在专用的网络上
    • 小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。
  • B/S建立在广域网之上的
    • 不必是专门的网络硬件环境
    • 例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围
    • 一般只要有操作系统和浏览器就行。

【2】对安全要求不同

  • C/S一般面向相对固定的用户群,对信息安全的控制能力很强。
    • 一般高度机密的信息系统采用C/S结构适宜,可以通过B/S发布部分可公开信息。
  • B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。

【3】对程序架构不同

  • C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
  • B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
    • 比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统。
    • SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。

【4】软件重用不同

  • C/S程序可以不可避免的整体性考虑
    • 构件的重用性不如在B/S要求下的构件的重用性好。
  • B/S对的多重结构,要求构件相对独立的功能。
    • 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。

【5】系统维护不同

  • 系统维护是软件生存周期中,开销大,相当重要
  • C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。
  • B/S构件组成方面构件个别的更换,实现系统的无缝升级。
    • 系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。

【6】处理问题不同

  • C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。
  • B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。

【7】用户接口不同

  • C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。
  • B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。

【8】信息流不同

  • C/S程序一般是典型的中央集权的机械式处理,交互性相对低。
  • B/S信息流向可变化,B-B、B-C、B-G等信息流向的变化,更象交易中心。

标签:架构,操作系统,数据库,BS,CS,服务器,浏览器,服务器程序
From: https://www.cnblogs.com/banchengyanyu/p/17958574

相关文章

  • Android架构测试 套小记
    Android架构测试主要是为了确保Android应用程序在不同设备和系统版本上的兼容性、性能和稳定性。这需要对应用程序的各个组件进行测试,包括活动、服务、广播接收器、内容提供程序等。以下是进行Android架构测试时可以采取的一些步骤:单元测试:对应用程序的各个组件进行测试,确保它......
  • 无涯教程-Redis - DBSIZE 命令函数
    RedisDBSIZE命令用于获取所选数据库中的键(key)数。DBSIZE-语法以下是RedisDBSIZE命令的基本语法。redis127.0.0.1:6379>DBSIZEDBSIZE-示例redis127.0.0.1:6379>DBSIZE(integer)147参考链接https://www.learnfk.com/redis/server-dbsize.html......
  • 02-高屋建瓴:Kubernete 的架构为什么是这样的?
    通过上一课时的学习,我们已经对Kubernetes的前世今生有所了解。接下来,我们开始具体学习如何将Kubernetes应用到自己的项目中,首先就需要了解Kubernetes的架构。所以,在本节课程中,我们会一起学习Kubernetes的架构设计,以及背后的设计哲学。Google使用Linux容器有超过15年......
  • 27-抽象类 Abstract
    抽象类是一个特殊的父类,其内部允许编写抽象方法 publicclassAbstractDemo{publicstaticvoidmain(String[]args){//抽象类不能实例化//Animalanimal=newAnimal();//error:Animalisabstract;cannotbeinstantiatedCatca......
  • PowerDotNet平台化软件架构设计与实现系列(17):PCRM个人用户管理平台
    个人用户管理是业务系统中非常基础且重要的一个公共服务系统,我们写的绝大多数应用都和个人用户或会员有关,用户(会员)数据安全无小事,必须有一个完备的用户管理平台系统。因为不同公司的主业务不同,个人用户管理的侧重点也会有不同,PowerDotNet这里介绍的个人用户管理平台,只是个人用......
  • http和websocket的一些思考
    InCivetWeb,thetermsCivetHandlerandCivetWebSocketHandlerarerelatedtodifferenttypesofrequesthandling.CivetHandler:CivetHandlerisagenericclassinCivetWebthatisusedforhandlingHTTPrequests.Whenyoucreateaclassthatinheritsfr......
  • 基于先进云计算技术的云会议架构平台,实现音视频及数据共享
    主要功能音视频及数据共享 支持Man、PC、iPad和Phone在共享屏幕上进行标注 支持画线、矩形、椭圆、荧光笔等各种工具协作标 最高支持1080P高清画质录制与存储 本地和云端存储 视频及音频独立文件存储 支持电子交互白板及文件共享......
  • vivo 海量微服务架构最新实践
    作者:来自vivo互联网中间件团队本文根据罗亮老师在“2023vivo开发者大会"现场演讲内容整理而成。公众号回复【2023VDC】获取互联网技术分会场议题相关资料。vivo微服务平台为全球5亿+用户背后的全网十万级机器、万级微服务提供服务,在高效实践过程中,vivo中间件平台团队输出了一套......
  • vivo 海量微服务架构最新实践
    作者:来自vivo互联网中间件团队本文根据罗亮老师在“2023vivo开发者大会"现场演讲内容整理而成。公众号回复【2023VDC】获取互联网技术分会场议题相关资料。vivo微服务平台为全球5亿+用户背后的全网十万级机器、万级微服务提供服务,在高效实践过程中,vivo中间件平台团队输出......
  • DOTS Unity.Physics物理引擎碰撞查询核心分析
    最近DOTS发布了正式的版本,同时基于DOTS的理念实现了一套高性能的物理引擎,今天我们给大家分享和介绍一下这个物理引擎的碰撞查询以及核心相关概念。Unity.Physics碰撞查询概述 碰撞查询(CollisonQurey)是Unity.Physics物理引擎中的一个很重要的功能。很多游戏逻辑都需要基于碰......