BS架构与CS架构的区别(最详细)-程序员宅基地

技术标签: 网络  

引言

开始(CS结构时期)

刚开始的时候用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端。

  • 客户端:用户安装的软件;

  • 服务端:统一管理数据库的主机中的软件就叫做服务端,再后来服务端不只是管理数据,外加处理业务逻辑。

    C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
    B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。
    B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种scrīpt语言(VBscrīpt、Javascrīpt…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着 98/Windows 2000将浏览器技术植入内部,这种结构更成为当今应用软件的首选体系结构。

BS架构与CS架构特点

  • BS:(Browser/Server,浏览器/服务器模式),web应用 可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。
  • CS:(Client/Server,客户端/服务器模式),桌面级应用 响应速度快,安全性强,个性化能力强,响应数据较快

C/S系统结构

在这里插入图片描述

加粗样式

面试题目:数据放在服务端和客户端的利与弊?

答:服务端统一处理有更好的安全性和稳定性而且升级比较容易,不过服务器负担就增加了。

客户端将负担分配到每个用户,从而可以节约服务器紫云啊,安全性和稳定性可能会有一定的问题,升级也比较麻烦,每个安装的客户端程序都需要升级,另外为了节省网络资源,通过网络传输的数据应该尽量减少!

B/S系统结构

在这里插入图片描述

在这里插入图片描述

CS与BS的比较


对象 硬件环境 客户端要 求 软件安装 升级和维护 安全性
C/S 用户固定,并且处于相同区域,要求拥有相同的操作系统。 客户端的计算机电脑配置要求较高。 每一个客户端都必须安装和配置软件. C/S每一个客户端都要升级程序。可以采用自动升级。 一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
B/S 要有操作系统和浏览器,与操作系统平台无关。 客户端的计算机电脑配置要求较低。 可以在任何地方进行操作而不用安装任何专门的软件。 不必安装及维护

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系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统. SUN 和推的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等信息、流向的变化, 更象交易中心

现状与趋势(转自知乎)

1:用来编制CS管理软件的编程语言,早已江河日下首先我们来了解一下各种语言的发展趋势和排行榜,可以看到排名前十的语言中,没有一种是用来开发CS管理软件的,其中8种语言(Java,C#,Python,PHP,Visual Basic .NET,JavaScript,Perl,Ruby)主要就是面向BS架构软件的语言,剩下的两种语言(C,C++)也不是应用于CS管理软件,而主要面向游戏、科学计算、网络通信软件、操作系统、设备驱动程序、嵌入式系统等。

在2015年编程语言排名中,我们可以看到CS软件的主打开发语言VB和Delphi Pascal已经排到了17名和20名,加起来才不到2%的市场占有率,而十多年前却是占据着10%以上,最让人看不到未来的是VB和Delphi的厂商已经不再提供正式支持了。

因此,若是选择CS管理软件,会导致未来的升级和维护都可能会是问题,一方面因为该编程语言和相关的组件已经不再往前发展和创新了,另一方面是国内学院和学生根本没有人去学了,大家都去学习互联网或移动端的开发语言了。

2:市面上CS的管理软件正越来越少

企业管理软件目前已经是BS在主导天下了。

十几年前所有管理软件都是基于CS架构开始的,包括用友用VB开发的财务软件,金蝶也是用VB开发的管理软件,当时还有和VB并驾齐驱的Delphi开发平台(Borland公司拥有)。那完全是因为那时还没有互联网,甚至局域网都没普及,所谓CS管理软件其实就是一个单机记账软件。

但随着互联网兴起和信息化管理的深入,一方面我们很容易看到所有新兴的企业管理软件,几乎就没有采用CS开发的,如比较流行的OA管理软件,CRM管理软件。另一方面也看到国内包括用友、金蝶等巨头都在从CS转向BS,或者说从VB转向JAVA、。NET,CS相关管理软件一方面越来越少,另一方面现存的CS管理软件也是出于旧版本维护中而已。

3:CS管理软件应用不如BS方便

相比于CS管理软件,BS在安装部署、升级维护、设备带宽、软件学习推广成本等方面都有无可比拟的优势。BS管理软件的用户在客户机上无需安装任何软件,使用浏览器即可访问系统。系统让企业扩张不再需要额外投入更多信息化的资金,让系统培训和后期推广都变得非常容易,管理模式变得可复制。

可用性:任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用BS系统的终端,更多的系统用户加入时只需设立账号、培训即可,并支持移动办公和分布式办公。CS是典型的集中式机械化处理,交互性相对低。

稳定性:J2EE的三层架构,采用中间件应用服务器。数据库、应用服务器、视图分层设计,几千几万用户同时在线系统也有优秀的表现。

易升级:CS系统往往是一个不可拆分的整体,各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。BS都是由构件组成,只需要改变页面就可以同步更新,其开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以。

低维护:CS需要专门的客户端安装程序,客户端的安装、升级、网络调试困难;而BS系统只需管理中心服务器。

兼容性:CS系统严重依赖于固定的开发工具、开发语言、操作系统、数据库,软件服务商提供的只能是一个整体性的固化软件,对异构操作系统、数据库很难兼容。BS借助JAVA这样的跨平台语言出现之后,可兼容于所有主流数据库和操作系统。

低带宽: CS典型应用是各个客户端直接连接服务器数据库,一般应用在专用的网络上,仅适用于局域网内部用户或宽带用户小范围里的网络环境,不适合作业点分布较广的大型应用。BS 建立在广域网之上的,带宽要求低,不必是专门的网络硬件环境,适用于低带宽、欠稳定的环境。

丰富展现:CS 多是建立在Window平台上,表现方法有限。BS 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流。

4:CS管理软件不如BS更能应对未来挑战

BS软件在安全性、系统扩展、后续投资等方面都有无可比拟的优势。

安全性:CS对服务器端和客户端安全都需要考虑,而BS只注重服务端即可。CS 程序由于更需要对整体性的考虑,必须有非常专业水准的技术人员才能完成软件更改,特别是数据直接对各客户端开放,导致安全隐患。而BS系统只对外开放HTTP协议和端口,数据库只允许服务器一台机器访问,浏览器端U盾的使用使数据安全加密。

扩展性:系统扩展维护是软件生存周期中,开销大,相当重要 。CS 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,很可能是再做一个全新的系统。BS满足构件个别的更换,实现系统的无缝升级。因此BS一般只有初期一次性投入成本,而CS软件则不同,随着应用范围的扩大,投资会连绵不绝。

重用性:BS可基于J2EE平台架构,利用分布式组件技术来构造系统,减少系统维护和升级成本,有利于保护用户投资,二次开发快捷。业务扩展通过增加网页即可增加供热业务功能。而CS构件的重用性不如BS好。

大型应用:对于集团级的异地软件应用,CS结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,CS结构软件的安全性是令人无法接受的。对于BS结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。而且CS模式下数据的实时性、追溯性都不能保证,数据的分布性导致数据永远无法一致,决策不准。这也是由于CS对带宽要求很高,企业要是租用专线投入会很大,才会导致数据分开管理。

投资保护:在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,CS结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于CS软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而BS结构则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。

高性能:大多数CS结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而BS结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_34462436/article/details/102155492

智能推荐

android 简单例子-程序员宅基地

文章浏览阅读82次。http://blog.csdn.net/lihe2008125/archive/2009/08/23/4474391.aspx

oracle删除数据只保留时间最早和最新的数据_oracle 保留时间最近一条记录其他都删除-程序员宅基地

文章浏览阅读975次。保留时间最早和最新的数据_oracle 保留时间最近一条记录其他都删除

【杂谈】随便聊点啥20201014_杂谈聊什么-程序员宅基地

文章浏览阅读613次。好久没发文章了!今天就冒个泡随便聊点啥吧。疫情期间赋闲在家,还可以抽空整理下成果跟各位小伙伴分享;进入后疫情时期的这段时间工作量加倍,加上每天要做复盘所以实在没时间更新了,只能给小伙伴们探讨一下成文内容~正好这段时间充充电,争取十一月之后恢复两周一更!(希望不要打脸)这半年多时间学习了很多技术分析方法,结合了道氏理论、波浪理论、周期理论、缠论等手段和基本思想,抽象汇总成了以下的研究论点:“A股的起伏是否可以‘同构’于某一个非稳定动力学系统?”囿于有限的时间,就不在此“高谈阔论”了,未来可能会将这一想法逐_杂谈聊什么

CCD工业相机、镜头倍率及相关参数计算方法-程序员宅基地

文章浏览阅读8.2k次,点赞7次,收藏95次。点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达随着自动化的日益剧增,CCD相机、镜头倍率被提上日程,许多小伙伴们开始被客户问到这个问题,大部分无法很好的回答客户的问..._镜头放大倍率计算公式

如何将图片转化为base64编码格式显示-程序员宅基地

文章浏览阅读6.2w次。如何将图片转化为base64编码格式显示  base64编码 是将数据用 64 个可打印的字符进行编码的方式,任何数据底层实现都是二进制,所以都可以进行 base64编码,base64编码 主要用在数据传输过程中(编码、解码)。而 Data URI 是将数据用 URI 的形式进行展现。常用的是将图片进行 base64 编码,用 Data URI 的形式进行展现,可以说,base64编码后的字符..._图片转base64

RabbitMQ开机启动 Centos7环境_凝思 rabbitmq rc.local-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏4次。文章目录8.1. 创建启动脚本8.2. 赋予启动脚本可执行权限8.3. 加入开机启动并指定用户8.4. 赋予可执行权限8.5. 重启MQ服务器测试8.6. 查看MQ服务运行状态8.7. 浏览器验证MQ管控台8.1. 创建启动脚本操作说明:使用fismq用户操作,使用root用户权限的地方我会说明。vim /app/rabbitmq_server-3.8.3/sbin/start_rabbit..._凝思 rabbitmq rc.local

随便推点

稀疏矩阵格式(COO、CSR、CSC)及其编码解码_coo格式-程序员宅基地

文章浏览阅读5.4k次,点赞10次,收藏23次。一般情况下,稀疏矩阵指的是元素大部分是0的矩阵_coo格式

【Linux】局域网Linux利用NFS做磁盘映射_linux磁盘映射命令-程序员宅基地

文章浏览阅读1k次。portmap(111端口),nfs(2049端口),nfs挂载端口(892端口),其中111和892是tcp,udp都用。编辑完成后按下ESC回到命令模式再次输入:WQ保存退出,使用cat命令查看文件是否编辑成功,出现自己编辑的内容则表示成功。自此A服务器设置完毕,开始B服务器的设置,重复1步骤,确保B服务器NFS和PORTMAP安装正常了的。4、修改 /etc/sysconfig/nfs,去掉#MOUNTD_PORT=892前面的#8、查看被映射的目录,出现你自己设置的目录就表示成功了。_linux磁盘映射命令

声纹识别调研_alize声音识别-程序员宅基地

文章浏览阅读862次,点赞2次,收藏4次。1. 基础概念声纹(Voiceprint),是用电声学仪器显示的携带言语信息的声波频谱。现代科学研究表明,声纹不仅具有特定性,而且有相对稳定性的特点。成年以后,人的声音可保持长期相对稳定不变。实验证明,无论讲话者是故意模仿他人声音和语气,还是耳语轻声讲话,即使模仿得惟妙惟肖,其声纹却始终不相同。2. 核心技术声纹识别的主要任务包括:语音信号处理、声纹特征提取、声纹建模、声纹比对、判别决策等..._alize声音识别

一个40多岁的上班族,生活压力巨大,现在有哪些靠谱的副业呢?_老了有什么副业-程序员宅基地

文章浏览阅读338次。这是一个粉丝的问题。目前社会上的中年人,面对上有老下有小的境况,生活压力都很大,特别是一些普通上班族。那么,对于一个40多岁的上班族而言,现在有哪些靠谱的副业呢?我这里推荐一些,仅供用于市场调研参考。一个40多岁的上班族,生活压力巨大,现在有哪些靠谱的副业呢?医院护工这个副业最靠谱,也比较适合40多岁的人。现在医院里有些重病患者,需要长期住院,家属和子女没有时间照顾,就会找护工。以前都是患者自己找,现在很多医院都外包给社会上的用工公司了。一个40多岁的人,如果想做这个副业,现在就需要先加入护工公司,这_老了有什么副业

电脑常用快捷键大全(含Visual Studio快捷键操作)_快捷批处理-程序员宅基地

文章浏览阅读5.3k次。目录一、系统快捷键二、常用系统命令三、QQ快捷键四、IE浏览器快捷键使用大全五、Word 中的快捷键六、Excel 中的快捷键七、PowerPoint 中的快捷键八、Visual Studio九、Eclipse十、Photoshop十一、批处理指令十二、安装操作系统(此快捷操作对我们程序员十分重要,所以放在前面)八、Visual Studio8.1、项目相关的快捷键..._快捷批处理

【Vue.js】Vue3全局配置Axios并解决跨域请求问题_vue3axios跨域-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏35次。在这里,我们自定义axois实例化对象,配置了默认的访问i后端ip和端口等,并在末尾使用export 导出api配置,便于在其他单文件中引入 request.js.这里提供两种解决方案,都是基于后端跨域访问的配置,前端不作任何允许跨域访问的设置,因为试过无效。注意,import axois,我们引入的不是官方的aoixs库,而是自定义的axios.(1)axios 是一个基于promise的HTTP库,支持promise所有的API。在项目根目录下,也就是src目录下创建文件夹api/,并创建。_vue3axios跨域

推荐文章

热门文章

相关标签