浅谈对C/S结构与B/S结构的特点解析
2009-03-30宋崴
宋 崴
[摘要]目前,对于系统开发分为C/S(client/Server)和B/S(Browser/Server)两种结构,首先认识到这些结构的特征,对于系统的选型而言是很关键的。
[关键词]B/S结构c/s结构系统模式
中图分类号:TP3文献标识码:A文章编号:1671—7597(2009)0210061—01
随着PC机的诞生与应用,计算模式从集中式(数据和应用程序在一台主机上)转向了分布式(数据和应用程序跨越多个节点机),尤为典型的是c/s结构(cllent/Server的简称,客户机/服务器模式)。通过它可以充分利用两端硬件环境的优势,将任务合理分配到client端和Server端来实现,降低了系统的通讯开销。两层结构c/s模式,在上个世纪八十年代及九十年代初得到了大量应用,最直接的原因是可视化开发工具的推广。随着Internet的渗透,Web正在改变应用系统开发及实施的方法。C/S体系结构由单一的两个层次扩展到由客户、应用服务器、数据库服务器组成的三层结构。有了统一的通信协议TCP/IP和统一的基于Web浏览器的用户界面。
近年来,随着网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构从c/s结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构(Browser/Server的简称,浏览器/服务器模式)。它是随着Internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
那么要为开发系统选择结构,首先应从以下几方面对c/s结构与B/s结构的特点进行解析。
一、系统硬件环境
C/S结构一般建立在局域网基础上,局域网间再通过专门服务器提供连接和数据交换服务。通常采用高性能Pc、工作站或小型机并采用大型数据库系统如Oracle、Sybase、Informix或SQLServer客户端需要安装专用客户端软件。
B/S结构建立在广域网的基础上,不必是专门网络硬件环境,例如电话上网,租用设备。信息自己管理。比C/S更强适应范围,一般只要有操作系统和浏览器就可以了。
二、系统的性能
采用c/s结构时,客户端和服务器端都能够处理任务,虽然对客户机的要求较高,但可以减轻服务器的压力。由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。管理信息系统也具有较强的事务处理能力,能实现复杂的业务流程。但由于是针对性开发,因此缺少通用性的特点,业务变更或改变不够灵活,需要重新设计和开发,增加了维护和管理的难度,进一步的业务拓展困难较多。
在系统性能方面,B/S结构占有优势的是其异地浏览和信息采集的灵活性。具有分布性特点,任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。可是,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。并且,B/S结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。功能弱化,难以实现传统模式下的特殊功能要求。
三、系统的开发
C/S结构可以将客户操作界面设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的操作要求。但要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。开发成本较高,需要具有一定专业水准的技术人员才能完成。
但是,B/S结构用户界面完全通过wWW浏览器实现部分事务逻辑在前端实现但是主要事务逻辑在服务器端实现形成所谓3-tier结构。开发简单,共享性强。能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WkN,Internet/Intranet等)访问和操作共同的数据库:它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。
四、系统的升级维护
C/S结构分布功能弱,需要专门的客户端安装程序,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。如果各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。
B/S结构与c/s结构处理模式相比,则大大简化了客户端,只要客户端机器能够上网就可以。对于B/s而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件,即可实现所有用户的同步更新。这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/s架构的产品优势明显,所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S结构模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。
五、系统的安全
c/s结构一般面向相对固定用户群,对信息安全控制能力很强。一般高度机密信息系统采用c/s结构适宜。可以通过B/s发布部分可公开信息。
B/S结构建立在广域网的基础上,对安全控制能力相对比较弱,因为面向的是不可知用户群。
以上是笔者客观地分析了c/s结构和B/S结构的优劣,为今后进行系统分析设计时提供一个良好的依据。尽管各种模式的产品在拥有自身优势的同时,也有一定的不足,对于用户来讲,对客户端应用程序要求越来越高,既要求保持原有客户端程序的操作方便性,又要求具有Web界面风格。所以现在在很多大型信息系统中也采用了B/s和c/s结构混合模式,使其取长补短,开发出更合理、实用的系统。