C/S(Client/Server或客户/服务器模式)结构与B/S(Browser/Server,浏览器/服务器模式)结构

C/S(Client/Server或客户/服务器模式)结构与B/S(Browser/Server,浏览器/服务器模式)结构

C/S(Client/Server或客户/服务器模式)结构

C/S结构,即客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,WebClient/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

Client/Server或客户/服务器模式:ClientServer常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。

模式

C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。

优点

C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。具体表现在以下两点:

  1. 应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻。
  2. 数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

缺点

随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

对客户端的操作系统一般也会有限制。可能适应于Win98,但不能用于win2000Windows XP。或者不适用于微软新的操作系统等等,更不用说LinuxUnix等。

C/S架构的劣势还有高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

服务端的特征:

1.被动的角色(从)。

2.等待来自用户端的要求。

3.处理要求并传回结果。

用户端的特征:

1.主动的角色(主)。

2.发送要求。

3.等待直到收到回应。

C/S与B/S的区别

首先必须强调的是C/SB/S并没有本质的区别:B/S是基于特定通信协议(HTTP)C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。

之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。

1B/S属于C/S,浏览器只是特殊的客户端;

2C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;

3)浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统。

B/S(Browser/Server,浏览器/服务器模式)结构

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape NavigatorInternet Explorer,服务器安装SQL ServerOracleMYSQL等数据库。浏览器通过Web Server同数据库进行数据交互。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。

B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。

架构软件

  1. 维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。
  2. 成本降低,选择更多。大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。
  3. 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

主要联系

C/SClient/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如OracleSybaseInformix SQL Server。客户端需要安装专用的客户端软件。

B/SBrowser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape NavigatorInternet Explorer,服务器安装OracleSybaseInformix SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。

系统开发中C/S结构(Client/Server)中Client(客户端)往往可以由 B/S结构(Browser/Server结构)的Browser(浏览器)及其载体承担,C/S结构的Web应用与B/S结构(Browser/Server结构)具有紧密联系。大系统和复杂系统中,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 IBMJavaBean 构件技术等,使 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等信息、流向的变化,更像交易中心。

实际应用

OA系统

这种OA系统对于Office软件的一个最基本要求就是能嵌入浏览器。通常OA系统是用Java实现的系统,能通过Applet方式无缝地在浏览器中运行,同时具有公文模板套用、痕迹保留、公文域、电子签章等常用功能,能够快速实现该OA系统中的功能替代。

无论是在JSP还是ASP的页面中,都可以通过JavaScript来调用Applet的方法,通过Applet的方法再调用永中集成OfficeAPI来完成对Office的操作。对于基于J2EE架构的OA系统,嵌入和调用永中集成Office更是如鱼得水,十分便捷。

城市消防联网

  1. 远程监控系统平台基于J2eeB/S结构,通过WEB的方式提供人机交互的界面,便于系统远程维护及升级,便于用户随时随地通过网络登录系统平台。其只需一套中心软硬件设备,且中心设备投资少、远程维护方便的特点,特别适用于省级或多个地市级的联网,同样也适用在单个地市及行业联网项目中。
  2. 采用VPN网络系统支撑平台运行,平台为应用系统提供包括:用户访问控制、信息加密、身份认证等安全方面的服务,全面保证系统安全。
  3. 系统具有高可靠性,保证联网单位的在线率及报警信息准确无误的上传。
  4. 系统具有高稳定性,保证报警服务器在处理大量报警信息时不死机,能够24小时不间断稳定运行。
  5. 系统并发可支持100-500路,可承受5000-10000路联网传输设备的联接,满足城市级的消防联网单位数量众多的要求。
  6. 系统保证可扩展性。在国家政策的支持下消防联网发展很快,系统的规模将越来越大,为了适应消防联网系统的飞速发展,则要求整个系统能在不间断使用的情况下完成系统的升级。我们的产品在设计中,主服务器及网络设备采用模块化结构,硬件平台可以积木式拼装。平台产品提供良好的业务类型扩展性和业务规模扩展性,保证系统能快速方便地引入新的硬件和软件系统,可以随服务内容和业务量的增加动态部署计算机以提高系统处理能力。
  7. 系统支持开放性与标准化原则。对于消防联网系统来说,开放性与标准化原则十分重要。只有坚持标准化的系统才能保护用户的投资,才能体现良好的可扩展和互操作能力。J2EE技术是最符合开放性与标准化原则的技术,能最大限度地保护用户投资。以J2EE应用服务器技术为基础平台建立的广东省东莞市消防联网远程监控系统,采用开放技术标准,便于与基于不同开发技术实现的各种内外部系统互联互通,另一方面,在产品供应商和技术服务商的选择上也提供了更大的余地。
  8. 系统实时运行过程中对数据进行备份,保证数据的安全性和有效性,同时实现系统运行时联网数据导入导出,不影响系统的实时运行。
  9. 系统支持用户实时接入。联网用户的接入不影响系统的实时运行。
  10. 系统支持实时的视频监控和视频接入。
  11. 系统完全满足GB50440-2007规范的要求,具备报警受理系统、119报警终端系统、信息查询系统及用户服务管理系统。
  12. 前端报警传输设备(NTE-FANT6800)可以与报警控制器采用RS232RS485、打印机接口、开关量、电压输出等方式连接,宽带、无线接入传输报警信息。
  13. 城市消防远程监控系统能否按要求实现预期功能,能否连续可靠运行,其关键问题是如何解决不同控制器生产厂家,不同型号产品的兼容问题,即各火灾报警控制器数据的采集和协议的转换问题。法安通已成功处理了120多种火灾报警控制器的数据采集和协议转换,在这方面已积累了丰富的实战经验。

你可能感兴趣的:(软件开发,浏览器/服务器模式)结)