主流的B/S架构模式在软考教程里居然是被一笔带过的。
刚看到软考教程B/S软件架构模式在软考教程里被一笔带过。也鉴于很多毕业几年的搞不清BS/CS有啥区别,同时基本上也是C# 、.net 、winfrom、wpf、ado.net 、.net core面试题。unit3D没接触过不知道考不。现总结整理下。
去过的大大小小的偏互联网公司,主干线业务(基本上混合型都有),都用的这个软件架构系统的模式,居然被一笔带过。有点无语。
软考教程介绍如下 :软件架构模式的定义:
一笔带过的部分
WFK?最新的软考的教程就这么被一笔带过?
算了考个试而已 ,认真你就输了。IT技术更新迭代快,大家紧跟学习的步伐和对科学的探索,才能不被带沟里去。来看看百度专家贡献的科普资料怎么说的。(PS:这些专家贡献的内容也有些过时且错误的了。)。
当你打开浏览器使用百度的时候,你用这款百度研发人员开发的。在浏览器上呈现给你的这个应用软件就是B/s模式的。
再来看看c/s的
不同点
通常 软件开发所说的C/S和B/S为
cs,主要指的是传统的桌面级的应用程序,基于客户端的应用。
bs,主要指的是web应用程序,基于浏览器的应用。
CS(Client/Server):客户端----服务器结构。C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。
C/S 架构是一种典型的两层架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。
BS(Browser/Server):浏览器----服务器结构,是目前应用系统的发展方向。BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成三层(3-tier)结构。这样使得客户端电脑负荷大大简化(因此被称为瘦客户端),减轻了系统维护、升级的支出成本,降低了用户的总体成本(TCO)。
BS的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求。它是瘦客户端,对大量的数据输入以及报表的应答等都需要通过浏览器与服务器进行交互,通信开销大,而且对于实现复杂的应用构造有较大的困难。
C/S和B/S区别
硬件环境的比较
CS建立在局域网的基础上,局域网之间再通过专门服务器提供连接和数据交换服务。在CS结构中,客户机和服务器都需要处理数据任务,这就对客户机的硬件提出了较高的要求。BS结构建立在广域网之上,不必配备专门的网络硬件环境。虽然对客户端的硬件要求不是很高,只需要运行操作系统和浏览器,但服务器端需要处理大量实时的数据,这就对服务器端的硬件提出了较高的要求。总体来讲,BS结构相对CS结构能够大大降低成本。
系统维护 、 升级的比较
CS结构中的每一个客户机都必须安装和配置相关软件,如操作系统、客户端软件等。当客户端软件需要维护、升级,即使只是增加或删除某一功能,也需要逐一将CS结构中所有的客户端软件卸载并重新安装。如果不进行升级,可能会碰到客户端软件版本不一致而无法工作的情况。BS结构中每一个客户端只需通过浏览器便可进行各种信息的处理,而不需要安装客户端软件,维护、升级等几乎所有的工作都在服务器端进行,如果系统需要升级,只需要将升级程序安装在服务器端即可。
系统安全的比较
CS结构采取点对点的结构模式,数据的处理是基于安全性较高的网络协议之上。另外,CS一般面向相对固定的用户群,它可以对权限进行多层次的校验,对信息安全的控制能力很强,安全性可以得到很好的保障。BS结构采取一点对多点、多点对多点的开放式结构模式,其安全性只能靠数据服务器上的管理密码的数据库来保证,况且网络安全技术尚未成熟,需不断发现、修补各种安全漏洞。
用户接口的比较
CS结构多是建立在Windows平台上,表现方法有限,对程序员普遍要求较高。BS结构是建立在浏览器上,有更加丰富和生动的表现方式与用户交流。
处理上的比较
CS结构建立在局域网上,处理面向在相同区域的比较固定的用户群,满足对安全要求高的需求,与操作系统相关。BS结构建立在广域网上,处理面向分散的地域的不同的用户群,与操作系统关系较少。另外,BS的处理模式与CS处理模式相比,简化了客户端,只需要安装操作系统、浏览器即可。
软件重用的比较
CS结构软件可从不可避免的整体性考虑,构件的重用性不如在BS要求下构建的重用性好。BS对应的是多重结构,要求构建相对独立的功能,能够相对较好的重用。
系统速度的比较
CS结构在逻辑结构上比BS结构少一层,对于相同的任务,CS结构完成的速度总比BS结构快,使得CS更利于处理大量数据。另外,由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
交互性与信息流的比较
CS结构的交互性很强,在CS结构中,客户机有完整的客户端软件,能处理大量的、实时的数据流,响应速度快。BS结构虽然可以提供一定的交互能力,但交互能力很有限。CS的信息流单一,而BS结构可处理如B-B、B-C、B-G等信息并具有流向的变化。
B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。
区别:
一、硬件环境CS用户固定,并且处于相同区域,要求拥有相同的操作系统。BS要有操作系统和浏览器就行。与操作系统平台无关。
二、客户端要求CS客户端的计算机电脑配置要求较高。BS客户端的计算机电脑配置要求较低。
四、软件安装CS每一个客户端都必须安装和配置软件,客户端不必安装,使用浏览器访问,易推广。BS最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
五、软件升级和维护CS每一个客户端都要升级程序。可以采用自动升级。BS客户端不必安装及维护。
六、安全性C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
CS一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
例子:绝大多数云平台企业。即云服务企业都是B/s 。
平台即服务(Platformas a Service, PaaS)是软件即服务(Software as a Service, SaaS)的延伸。SaaS提供的是定制好的远程软件服务,比如当你订购一个网络销售系统软件,就可以直接使用,不需要代码开发,但是缺点是客制化困难。PaaS也是远程订购服务,但是你购买的是平台模块服务,如计算能力、数据库、储存和消息传送等。底层的平台已¾¬帮你铺建好,你需要开发自己的上层应用。
这里谈下前景。鉴于目前部分B/s开发的项目,都不用重构显示层,可以直接打包零成本生成APP,兼容安卓和IOS系统,且当下移动互联网蓬勃发展,手机,平板,平板电视,智能家电,智能设施都是以后的方向。大概十几二十年后技术成熟应该是没这两种模式之说了。