C/S与B/S区别

1.什么是C/S结构
C/S (Client/Server)结构,即客户机和服务器结构。它是软件系统体系结构,经过它能够充分利用两端硬件环境的优点,将任务合理分配到Client端和Server端来实现,下降了系统的通信开销。
C/S结构能够看作是胖客户端架构。客户端实现绝大多数的业务逻辑处理和界面展现,做为客户端的部分须要承受很大的压力,从分利用客户端的资源,对客户机的要求较高。
其实现能够是客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端经过数据库链接访问服务器端的数据;另外一种是Socket服务器端,服务器端的程序经过Socket与客户端的程序通讯。
目前大多数应用软件系统都是Client/Server形式的两层结构,因为如今的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用均可以进行一样的业务处理,应用不一样的模块共享逻辑组件;所以,内部的和外部的用户均可以访问新的和现有的应用系统,经过现有应用系统中的逻辑能够扩展出新的应用系统。这也就是目前应用系统的发展方向。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中不管是Client端仍是Server端都还须要特定的软件支持。因为没能提供用户真正指望的开放环境,C/S结构的软件须要针对不一样的操做系统系统开发不一样版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。并且代价高, 效率低。前端

2.什么是B/S结构
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工做界面是经过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,可是主要事务逻辑在服务器端(Server)实现,造成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工做量,下降了用户的整体成本(TCO)。
B/S结构能够看做是瘦客户端,只是把显示的较少的逻辑交给了Web浏览器,事务逻辑数据处理在放在了Server端,这样就避免了庞大的胖客户端,减小了客户端的压力。B/S结构的系统无须特别安装,只有Web浏览器便可。固然AJAX\Flex等等的广泛使用也有富客户端的发展方向。
以目前的技术看,局域网创建B/S结构的网络应用,并经过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不一样的人员,从不一样的地点,以不一样的接入方式(好比LAN, WAN, Internet/Intranet等)访问和操做共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在JAVA这样的跨平台语言出现以后,B/S架构管理软件更是方便、快捷、高效。程序员

3.管理软件主流技术。
管理软件技术的主流技术与管理思想同样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不一样的发展时期。其次,今天全部电脑的浏览器界面,不只直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是同样的,使用人对操做培训的要求不高,并且软件可操做性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。数据库

C/S和B/S结构区别

1.C/S和B/S结构优缺点
(1).B/S结构优缺点:
  B/S结构的优势:
  <1>.无需安装,客户端不须要安装有浏览器便可。
  <2>.分布性特色,能够随时随地进行查询、浏览等业务处理。 
  <3>.业务扩展便捷,经过增长页面便可增长服务器功能。 
  <4>.升级维护便捷,无需升级多个客户端,升级服务器便可,就能够实现全部用户的同步更新。 
  <5>.共享性强特色,能够直接放在广域网上,经过必定的权限控制实现多客户访问的目的,交互性较强。
  B/S结构的缺点:
  <1>.在跨浏览器上,BS结构不尽如人意。
  <2>.在速度和安全性上须要花费不少设计成本,响应速度不及C/S,随着AJAX技术的发展,相比传统B/S结构软件速度有很大提高。 
  <3>.用户体验不是很理想,B/S须要单独界面设计,各个浏览器厂商的对浏览器的解析的标准不一样。
      客户端服务器端的交互是请求-响应模式,一般须要刷新页面,这并非客户乐意看到的。(在Ajax风行后此问题获得了必定程度的缓解)windows

(2).C/S结构优缺点:
  C/S结构的优势:
  <1>.C/S结构的界面和操做简单丰富。
  <2>.C/S结构的管理信息系统具备较强的事务处理能力。
  <3>.C/S结构的安全性能能够很容易保证,实现多层认证也不难。
  <4>.C/S结构的响应速度快。因为客户端实现与服务器的直接相连,没有中间环节,只有一层交互,所以响应速度较快。
  C/S结构的缺点: 
  <1>.适用面窄,一般用于局域网中。
     随着互联网的飞速发展,移动办公和分布式办公愈来愈普及,这须要咱们的系统具备扩展性。这种方式远程访问须要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
  <2>.客户端须要安装专用的客户端软件。
     因为程序须要安装才可以使用,所以不适合面向一些不可知的用户。涉及到安装的工做量,其次任何一台电脑出问题,如病毒、硬件损坏,都须要进行安装或维护。特别是有不少分部或专卖店的状况,不是工做量的问题,而是路程的问题。
  <3>.维护升级成本高,进行一次维护升级,须要全部客户端的程序进行从新安装。
  <4>.对客户端的操做系统通常也会有限制。
     可能适应于WinXP, 但不能用于WinVista或Win7。或者不适用于微软新的操做系统等等,还有Linux、Unix等等操做系统。设计模式

2.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和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等信息流向的变化,更象交易中心。浏览器

3.C/S和B/S结构优点与劣势

(1).C/S架构软件的优点与劣势
<1>.应用服务器运行数据负荷较轻。
最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。两者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户本身的电脑上,对应于数据库服务器,可称为客户电脑,当须要对数据库中的数据进行任何操做时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预约的规则做出应答,送回结果,应用服务器运行数据负荷较轻。
<2>.数据的储存管理功能较为透明。
在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用能够违反的规则,而且一般把那些不一样的(无论是已知仍是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号能够重复、必须有客户才能创建定单这样的规则。全部这些,对于工做在前台程序上的最终用户,是“透明”的,他们无须过问(一般也没法干涉)背后的过程,就能够完成本身的一切工做。在客户服务器架构的应用中,前台程序不是很是“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
<3>.C/S架构的劣势是高昂的维护成本且投资大。
首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步彻底交由数据库系统去管理,但逻辑上两地的操做者要直接访问同一个数据库才能有效实现,有这样一些问题,若是须要创建“实时”的数据同步,就必须在两地间创建实时的通信链接,保持两地的数据库服务器在线运行,网络管理工做人员既要对服务器维护管理,又要对客户端维护和管理,这须要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
其次,传统的C/S结构的软件须要针对不一样的操做系统系统开发不一样版本的软件,因为产品的更新换代十分快,代价高和低效率已经不适应工做须要。在JAVA这样的跨平台语言出现以后,B/S架构更是猛烈冲击C/S,并对其造成威胁和挑战。安全

(2).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)实现,全部的客户端只有浏览器,网络管理人员只须要作硬件维护。可是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。所以,许多单位都备有数据库存储服务器,以防万一。服务器

4.C/S和B/S结构结合
本身接触到的C/S与B/S结合框架是SCSF框架,集合C/S和B/S设计上的优势应用。分享一下你接触的C/S与B/S结合架构吧。
Smart Client Software Factory 概述
(1).SCSF概念
SCSF是一个应用了多种设计模式、适用于大型软件开发的框架,其特色是结合B/S与C/S架构的优势,开发人员能够按业务功能分模块并行开发,各模块之间耦合度很小,当业务需求变化时,应用SCSF架构的软件能够最大限度地减少代码修改量。
Smart Client相比传统B/S架构的优点:FatClient设计,用户体验丰富,客户端能够在不在线的状态下运行——而传统B/S架构是把一切负担交给服务器,当网络不可用时B/S系统彻底瘫痪。
Smart Client相比传统C/S架构的优点:方便部署和维护——利用ClickOnce客户端会在须要更新时自动提示或更新。网络

(2).SCSF中的设计模式及架构思想:
控制反转(IoC),依赖注入,MVC及MVP;
策略模式(Strategy),观察者模式(Observer)。
理解了这些模式,才能较容易地理解SCSF的架构思想。架构

相关文章
相关标签/搜索