请问关于B/S结构?C/S结构?介绍一下两种结构的优缺点.面试时怎么说好啊?
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,microsoft.net也是在这样一种背景下被提出来的架构,但微软的方案只是一种构想,要成为现实还需要几年,而JAVA技术已经是很成熟的应用了。
目前大多数应用软件系统都是Client/Server形式的两层结构,现在的软件应用系统正在向分布式的Web应用发展;内部的和外部的用户都可以访问新的和现有的应用系统,Web和Client/Server 应用都可以进行同样的业务处理;不同的应用模块共享逻辑组件;通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
管理软件的主流技术与管理思想一样,也经历了三个发展时期:界面技术从DOS字符界面,到Windows图形界面(或图形用户界面GUI),直至今天的Browser浏览器界面。最新浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其界面风格一致,用户对操作培训的要求大为下降,软件可操作性增强;平台体系结构也从单机单用户发展到文件/服务器(F/S)体系,再到客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。
传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没能提供用户真正期望的开放环境;B/S结构则不同,它的前端是以TCP/IP协议为基础的,企业内的WWW服务器可以接受安装有Web浏览程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本(TCO)。
越来越厚的使用说明书和越来越花时间的培训,并不能称为"良好的售后服务",真正好的产品在功能越来越复杂的同时应该使产品的使用越来越简单,使用浏览器作为软件界面不但容易统一各种应用系统,也非常便于使用。在工作节奏越来越紧张的今天调集大批的职员进行培训是很困难的,时间和人力都难以集中,浏览器这种易于使用几乎不需要培训的方式是最好的选择。
维护和升级方式的革命-瘦客户机
软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,如果是异地只需要把服务器连接上网即可立即进行维护和升级,这对人力、时间、费用的节省是相当惊人的。
一个稍微大一点单位来说,系统管理人员如果需要在几百甚至几千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越"瘦"而服务器越来越"胖"是将来软件的主流发展方向,这使得升级和维护越来越容易而使用越来越简单。
成本降低,选择更多
很明显windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统,windows并没有这种绝对的统治地位,而现在的趋势是应用软件都变成B/S架构的,只安装在服务器上,所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统的情况不受影响,这就使的很多免费的操作系统如现在最流行的Linux得以快速发展,除了操作系统是免费的以外,连数据库也是免费的,这样的选择非常流行。
比如说很多人每天上新浪网,只要安装了浏览器就可以了,并不需要了解新浪的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。我国政府处于安全和国家战略的考虑希望有自己的操作系统,而在桌面领域任何一种操作系统都难以和windows抗衡,
Linux的出现使这种想法变成了现实,由于Linux是免费产品,源代码也是公开的,中国出现很多开发Linux的力量,国家大力推动Linux,政府机关处于安全的考虑会越来越多使用Linux,从国内软件市场的销售来看Linux也是基本上每个月都是排名第一的产品。
传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,这么高的代价和低效率已经越来越不适应了。在JAVA这样的跨平台语言出现之后B/S架构更是飞快地普及起来了。
面向电子商务时代的技术
将来所有的应用系统几乎都在互联网上运行,企业发展电子商务也是不可避免的,而B/S架构的软件则代表了将来的技术,只要连上互联网或内部广域网就可以与全球的客户相连,与各地的分支机构相连。
移动办公
☆ 在办公室内移动的时候可以使用任何一台电脑办公,而传统的OA是每台电脑对应指定的用户,别的用户不能使用该电脑,而且还需要安装调试软件,相当不方便。
☆ 回家或离开办公室或出差到其他地方只要有可以上网的电脑也可以使用办公系统。
☆ 分公司可以通过互联网、专线、电话网等连接使用资源共享,协同办公。
系统整合
无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择。
目前B/S模式下最好的选择---JAVA技术
现在出现的Microsoft.NET也是模仿JAVA的思路,Microsoft.NET的蓝图与Java十分相似,目前还只是一个框架,还需要几年才能成熟,而JAVA已经是应用十分普及的技术了。
何谓B/S结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse,如Internet Explorer,MYIE等)运行软件,即浏览器/服务器结构。
相对于C/S结构,尽管C/S结构相对于更早的文件服务器来说,有了很大的进步,但与B/S相比,缺点和不足是很明显的。
1.首先,B/S比C/S的维护工作量大大减少了。C/S结构的每一个客户端都必须安装和配置软件。假如一个企业共有50个客户站点使用一套C/S结构的软件,则当这套软件进行了哪怕很微小的改动后(比如增加某个功能),系统维护员都必须进行这样的维护;将服务器更新到最新版本;将客户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是客户端的维护工作必须不折不扣的进行50次。若其中有部分客户端是在另外一个地方,则系统维护员还必须跑到该地方再进行卸载、安装、设置的工作。 若某个客户端,忘记进行这样的维护,则该客户端将会碰到版本不一致的问题而无法工作。 而B/S结构,客户端不必安装及维护。如果我们将前面企业的C/S结构的软件换成B/S结构的,我们看看软件升级后,系统维护员如何维护: 系统维护员只要将服务器的软件升级到最新版本就行了。其他客户端,只要重新登录系统,使用的就已经是最新版本的软件了。
2.其次,B/S相对C/S能够降低总体拥有成本, C/S软件一般是采用两层结构的。
两层结构中,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务将数据提交给客户端,客户端将数据进行计算(可能涉及到运算、汇总、统计等等)并将结果呈现给用户。
在三层结构中,客户端接受用户的请求,客户端向应用服务提出请求,应用服务从数据库服务中获得数据,应用服务将数据进行计算并将结果提交给客户端,客户端将结果呈现给用户。
这两种结构的不同点是,两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单的接收用户的请求,显示最后的结果。由于三层结构中的客户端并不需要参与计算,所以对客户端计算机的配置要求是比较低的。
另外,由于从应用服务到客户端只传递最终的结果,数据量较少,使用电话线也能够信任。而采用C/S两层结构,使用电话线作为传输线路可能因为速度太慢而不能够接受。 采用三层结构的璐华软件的配置可以是提高服务器的配置,降低客户端的配置。这样增加的只是一台服务器(应用服务和数据库服务可以放在同一台计算机中)的价格,而降低的却是几十台客户端机器的价格。起到了降低总体拥有成本的作用。
C/S、B/S软件数据一致性比较
在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。
C/S、B/S软件数据实时性比较
在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。
C/S、B/S软件数据安全性比较
由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。
c/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:
只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
CS支持广域网包括Internet,比如微软的MCSE、印度NIIT等的远程考试系统都是基于CS结构,CS最主要的特点在于能够给服务器减轻压力,而且有更高的安全性和稳定性。其数据库可以在客户端也可以在服务器端,但最大的缺点就是省级比较麻烦。
客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。
1.首先介绍一下两种结构,把你知道的都说一下(面试官永远喜欢那些健谈的人)。
C/S (Client/Server)结构,即客户机和服务器结构。
通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现。C/S结构可以看做是胖客户端架构。客户端实现绝大多数的业务逻辑处理和界面展示,作为客户端的部分需要承受很大的压力,对客户机的要求较高。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。B/S结构可以看作是瘦客户端,只是把显示的较少的逻辑交给了Web浏览器,事务逻辑数据处理在放在了Server端。B/S结构的系统无须特别安装,只有Web浏览器即可。
B/S(Browser/Server)结构,即浏览器和服务器结构。
2.说一下两者具体的优缺点,记住要抓住要点。
B/S结构的优点:
<1>.无需安装,客户端不需要安装有浏览器即可。
<2>.业务扩展便捷,通过增加页面即可增加服务器功能。
<3>.无需升级多个客户端,升级服务器即可,就可以实现所有用户的同步更新。
B/S结构的缺点:
<1>.在速度和安全性上需要花费很多设计成本,响应速度不及C/S。
<2>.用户体验不是很理想,B/S需要单独界面设计,各个浏览器厂商的对浏览器的解析的标准不同。
C/S结构的优点:
<1>.C/S结构的安全性能可以很容易保证。
<2>.由于客户端实现与服务器的直接相连,没有中间环节,只有一层交互,因此响应速度较快。
C/S结构的缺点:
<1>.适用面窄,通常用于局域网中。
<2>.客户端需要安装专用的客户端软件。
<3>进行一次维护升级,需要所有客户端的程序进行重新安装。
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。