B/S架构即浏览器和服务器
架构模式,是随着Internet技术的兴起,对
C/S架构的一种变化或者改进的架构。在这种架构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在
服务器端(
Server)实现,形成所谓三层3-tier结构。B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将
系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如
Microsoft Edge、
Safari、
Netscape Navigator或
Internet Explorer(已经被Microsoft Edge取代),服务器安装
Oracle、
Sybase、Informix或
SQL Server等数据库。浏览器通过
Web Server同数据库进行数据交互。 这样就大大简化了客户端电脑载荷,减轻了
系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
简介
随着
网络技术的发展,特别随着Web技术的不断成熟,B/S 这种
软件体系结构出现了。B/S(Browser/Server)架构也被称为浏览器/服务器
体系结构,这种体系结构可以理解为是对 C/S 体系结构的改变和促进。由于网络的快速发展,B/S 结构的功能越来越强大。这种结构可以进行信息
分布式处理,可以有效降低
资源成本,提高设计的
系统性能。B/S 架构是有更广的
应用范围,在处理模式上大大简化了客户端,用户只需安装浏览器即可,而将
应用逻辑集中在服务器和
中间件上,可以提高数据处理性能。在软件的通用性上,B/S 架构的客户端具有更好的通用性,对应用环境的
依赖性较小,同时因为客户端使用浏览器,在开发维护上更加便利,可以减少
系统开发和维护的成本。面向未来,连排级单位可通过
掌上电脑(
安卓系统),在训练场、演习场等环境下访问并使用该系统。
B/S 的特征和
基本结构:在 B/S 结构中,每个节点都分布在网络上,这些
网络节点可以分为浏览器端、服务器端和中间件,通过它们之间的链接和交互来完成
系统的功能任务。三个层次的划分是从逻辑上分的,在实际应用中多根据实际
物理网络进行不同的物理划分。
浏览器端:即用户使用的浏览器,是用户操作系统的接口,用户通过浏览器界面向服务器端提出请求,并对服务器端返回的结果进行处理并展示,通过界面可以将系统的逻辑功能更好的表现出来。
服务器端:提供
数据服务,操作数据,然后把结果返回中间层,结果显示在系统界面上。
中间件:这是运行在浏览器和服务器之间的。这层主要完成系统逻辑,实现具体的功能,接受用户的请求并把这些请求传送给服务器,然后将服务器的结果返回给用户,浏览器端和服务器端需要交互的信息是通过中间件完成的。
优势与劣势
维护和升级
软件系统的改进和升级越来越频繁,
B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现
远程维护、升级和共享。所以
客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,
软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
成本与选择
大家都知道
windows在桌面电脑上几乎一统天下,浏览器成为了
标准配置。但在
服务器操作系统上,windows并不是处于绝对的统治地位。软件的趋势是凡使用B/S架构的应用管理软件,只需安装在
Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为
桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
负荷比
由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,
用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,
应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库
存储服务器,以防万一。
区别
C/S特点
C/S架构是常用的两层架构,通常也称之为客户端/服务器架构。服务器运行
服务端程序,客户端安装客户端软件。在此架构里服务端和客户端分别完成不同的任务,客户端处理用户的前端界面和交互操作,服务端处理后台业务逻辑和请求数据,这使得两端的通讯速度和通讯的效率大大的提高。服务器通常采用高性能的PC、工作站或
小型机,并采用大型
数据库系统,如
Oracle、
Sybase、Informix或
SQL Server。客户端需要安装专用的客户端软件。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:
而随着互联网的飞速发展,
移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式
远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如
病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。可能适应于Win98,但不能用于win2000或
Windows XP。或者不适用于
微软新的操作系统等等,更不用说
Linux、
Unix等。
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 和
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等信息流向的变化,更象交易中心。
技术比较
C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无
运算能力的输入、
输出设备,而是具有了一定的数据处理和
数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低
网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内现阶段的大部分ERP(财务)
软件产品即属于此类结构。
B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的
业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。e通管理系列产品即属于此类结构。
B/S适用于一些安全性要求相对较低、数据查询量大、操作简单模块。除了具有C/S模型的所有优点外,B/S还具有使用简单、提供了一个统一的客户端、维护工作集中于服务器端、通用性强的Web的开放式标准、扩展性好、可接入Internet等优点。
1,
数据安全性比较。由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行
数据同步。如此一来,每个数据点上的
数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其
数据集中存放于总部的
数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些
安全问题也就自然不存在了。
2,
数据一致性比较。在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部
网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。
3,数据
实时性比较。在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。
4,数据
溯源性比较。由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少
数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。
5,服务响应
及时性比较。企业的
业务流程、
业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是没有缺陷,所以,对已经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行
程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务
响应时间基本不可忍受。而B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部
应用程序更新,可以做到快速服务响应。
6,
网络应用限制比较。C/S结构软件仅适用于局域网内部用户或宽带用户(1兆以上);而我们的B/S结构软件可以适用于任何
网络结构(包括33.6K拨号
入网方式),特别适于宽带不能到达的地方(例如迪信通集团的某些分公司,仅靠电话上网即可正常使用软件系统)。
7,
存储模式比较。B/S结构相应数据完全来自于
后台数据库,而C/S结构部分数据来源于存储在本地的
临时文件,剩余的部分来源于数据库,因此C/S结构响应时间会更快。
商业比较
1,投入成本比较。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件
项目控制和避免
IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。
2,硬件
投资保护比较。在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买更高性能的服务器;而B/S架构则是通过增加服务器的数量来承担更大的负载。
发展前景
C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于
B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在
linux下跑的。而B/S模式就不同了,它不需要专门的客户端,只要浏览器,而浏览器是随操作系统就有的,方便就是他的优势了。而且,B/S是基于网页语言的、与操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步,B/S在表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。比如,未来的HTML5,在图形的渲染方面以及音频、文件的处理上已经非常强大了。不过,
C/S架构也有着不可替代的作用。