bs与cs架构的区别_cs架构嵌入BS

bs与cs架构的区别_cs架构嵌入BSC/S架构:即Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。开发比较容易,操作简便,但应用程序的升级和客…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

C/S架构:即Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。客户端和服务器端的程序不同,用户的程序主要在客户端,服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。开发比较容易,操作简便,但应用程序的升级和客户端程序的维护较为困难;相对于三层体系结构(Browser/Server构架)是由逻辑上相互分离的表示层、业务层和数据层构成。表示层向客户提供数据,业务层实施业务和数据规则,数据层定义数据访问标准。三层体系结构中的核心是组件对象模型。
优点:
1、C/S架构的界面和操作可以很丰富。
2、安全性能可以很容易保证。
3、由于只有一层交互,因此响应速度较快。
缺点:
1、 适用面窄,通常用于局域网中。
2 、用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。
3 、维护成本高,发生一次升级,则所有客户端的程序都需要改变。
**B/S架构:**全称为Browser/Server,即浏览器/服务器结构。客户端基本上没有专门的应用程序,应用程序基本上都在服务器端。由于客户端没有程序,应用程序的升级和维护都可以在服务器端完成,升级维护方便。由于客户端使用浏览器,使得用户界面“丰富多彩”,但数据的打印输出等功能受到了限制。为了克服这个缺点,一般把利用浏览器方式实现困难的功能,单独开发成可以发布的控件,在客户端利用程序调用来完成。
优点:
1、客户端无需安装,有Web浏览器即可,方便快捷;
2、BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
3、BS架构无需升级多个客户端,升级服务器即可。可以随时更新版本即可;
缺点:
1、在跨浏览器上,BS架构不尽如人意。
2、表现要达到CS程序的程度需要花费不少精力。
3、在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题。
4、客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的,在Ajax风行后此问题得到了一定程度的缓解;
B/S架构常用的三种形式:
1、客户端-服务器-数据库:(这个应该是我们平时比较常用的一种模式)
(1)客户端向服务器发起Http请求
(2)服务器中的web服务层能够处理Http请求
(3)服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法
(4)如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端
2、客户端-web服务器-应用服务器-数据库:
类似于第一种方法,只是将web服务和应用服务解耦
(1)客户端向web服务器发起Http请求
(2)web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口
(3)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器
(4)web服务器将模版+数据组合渲染成html返回给客户端
3、客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库
这种模式一般用在有大量的用户,高并发的应用中。
(1)整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址
(2)客户向负载均衡器发起Http请求
(3)负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群
(4)Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口
(5)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node
(6)Node层将模版+数据组合渲染成html返回反向代理服务器
(7)反向代理服务器将对应html返回给客户端
总结:
1、 C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在linux下跑的。
2、B/S模式就,它不需要专门的客户端,只要浏览器,而浏览器是随操作系统就有的,方便就是他的优势了。 而且,B/S是基于网页语言的、与操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步, B/S在表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。尤其是HTML5的普及,在图形的渲染方面以及音频、文件的处理上已经非常强大了。 不过,C/S架构也有着不可替代的作用。
C/S架构 与 B/S 架构主要有以下几点区别:
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 和IBM推的JavaBean 构件技术等,使 B/S更加成熟。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183651.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 延时1s的延时子程序_用一个时间常数为0.35秒的一阶装置

    延时1s的延时子程序_用一个时间常数为0.35秒的一阶装置文档介绍:目录第一部分设计任务及方案1、设计题目及要求2、设计方案分析论证第二部分方案各模块分析1、被控对象分析2、测量元件热电阻及前置放大电路3、A/D转换器4、控制器(单片机)5、光隔驱动器第三部分数字控制器D(Z)的设计1、数字控制器D(Z)2、程序流程图设计第四部分可靠性和抗干扰性的分析第五部分心得体会设计任务及方案1.1设计题目及要求1、针对一个具有大纯时延时间的一阶惯性环节()温度控…

  • python3基础:操作xml

    python3基础:操作xmlXML指的是可扩展标记语言(eXtensibleMarkupLanguage),和json类似也是用于存储和传输数据,还可以用作配置文件。类似于HTML超文本标记语言,但是HTML所有的标签都是预定义的,而xml的标签可以随便定义。XML元素指从开始标签到结束标签的部分(均包括开始和结束)一个元素可以包括:其它元素<aa> <bb></bb&gt…

  • flex的使用_java中joptionpane是什么意思

    flex的使用_java中joptionpane是什么意思–> {account.text}

  • YUI Compressor完成代码混淆示例「建议收藏」

    YUI Compressor完成代码混淆示例「建议收藏」YUICompressor相关信息官网GitHub地址混淆单个js一般命令,java-jaryuicompressor-x.y.z.jarmyfile.js-omyfile-min.js若出现编码错误,就加上编码参数,比如你的文件的编码是utf-8编码,则命令如下,java-jaryuicompressor-x.y.z.jarmyfile.js-omyfile-min.j

  • Objective—C_java中一个类有几个父类

    Objective—C_java中一个类有几个父类Class的定义1:调用系统的类eg:classpointertoobejctobjectNSString*message=@"Hello";NSAutoreleas

  • 编码 ansi_ansi编码和utf-8

    编码 ansi_ansi编码和utf-81、ANSI编码不是一个具体的字符集,而是对一些多字节字符集类型的字符集的一个总体的称呼,总称。(Windows)ANSI编码中的每一个代码页值就是对一个具体的多字节字符集类型的字符集的别名。例如,代码页936就是Windows系统对简体中文GBK这个字符集的别名。如果ANSI编码是一个具体的字符集,由于汉字和韩文字符都是它能表示的字符,那么里面写有韩文字符的以(Windo

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号