浅论C/S和B/S体系结构

cat

收藏于 : 2019-03-07 13:54   被转藏 : 1   

浅论C/S和B/S体系结构
【摘要】本文讨论了当今比较流行的技术研发模式C/S和B/S的体系结构,论述了C/S和B/S区别与二者之间的优劣比较。

【关键词】C/S B/S Windows操作系统 体系结构

1 引言

在当今科学技术飞速发展的时代,尤其以通信、计算机和网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。由于计算机互联网在政治、经济、文化等各个领域的快速发展,已经成为国家的经济基础和命脉,成为社会和经济发展的强大动力,其地位越来越重要。但是,由于主流技术研发企业和用户对“B/S”和“C/S”技术谁优谁劣、谁代表技术潮流发展等等问题的争论不休,已经给企业软件的选购和研发单位的软件开发工作带来困惑,本文就此两项技术发展变化和应用前景做些探讨,供大家参考。

2 什么是C/S和B/S

软件系统不论何种运行模式都要在管理软件的平台结构上发挥作用。管理软件技术的主流平台体系结构与管理思想一样,经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到图形界面(或GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,对使用者的操作培训较为简单,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系和领导主流的客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。

2.1 C/S结构

C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。通过C/S可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是C/S形式的两层结构。由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件,因此,内部的和外部的用户都可以访问新的和现有的应用系统。通过现有应用系统中的逻辑可以扩展出新的应用系统,这也就是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高,效率低。

2.2 B/S结构

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起而对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握,成本也是较低的。B/S结构是一次到位开发,能实现不同人员,从不同地点,以不同的接入方式(比如LAN、 WAN、 Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。目前我公司内网(Intranet)、外网(Internet)和“AVinfo网络视频监控系统”就是B/S 结构管理软件,保卫人员在局域网各工作站通过WWW浏览器就能实现工作业务。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更为方便、快捷、高效。

B/S结构主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术,成为当今应用软件的首选体系结构。在网络拓扑结构上,B/S结构采用星形建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确;后者则具有节省投资、跨地域广的优点。

3 C/S与B/S的区别

Client/Server是建立在局域网基础上的,Browser/Server是建立在广域网基础上的。

3.1 硬件环境不同

C/S一般建立在专用网络上,小范围网络环境,局域网之间再通过专门服务器提供连接和数据交换服务;B/S建立在广域网之上,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。

3.2 对安全要求不同

C/S 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S 结构较为适宜,而仅通过B/S发布部分可公开信息;B/S 建立在广域网之上,对安全的控制能力相对较弱,面向的是不可知的用户群。

3.3 对程序架构不同

C/S程序更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S对安全以及访问速度的多重考虑,建立在需要更加优化的基础之上,比C/S有更高的要求。B/S结构的程序架构是发展趋势,从MS的.Net系列的BizTalk 2000、Exchange 2000等,全面支持网络的构件搭建的系统。SUN 和IBM推的JavaBean构件技术等,使 B/S更加成熟。

3.4 软件重用不同

C/S 程序可以整体性考虑,构件的重用性达不到B/S结构的要求;B/S对多重结构要求构件具有相对独立的功能,能够相对较好地重用这些构件,例如买来的餐桌可以反复利用,而不是做在墙上的石头桌子。

3.5 系统维护不同

 C/S程序由于整体性要求,必须整体考察以处理出现的问题和系统升级,升级较难,有可能需要再做一个全新的系统;B/S构件的组成方便了构件个别更换,可以实现系统的无缝升级,使系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。

3.6 处理问题不同

C/S程序处理用户界面是固定的,在相同区域安全要求高,需求与操作系统相关,都是相同的系统;B/S建立在广域网上,面向不同的用户群, 地域分散,与操作系统关系最小。

3.7 用户接口不同

C/S多是建立在Window平台上,表现方法有限,对程序员普遍要求较高;B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,开发成本低。

3.8 信息流不同

C/S程序一般是典型的中央集权的机械式处理, 交互性相对低;B/S信息流向可变化, B-B、B-C、B-G等信息流向的变化更象交易中心。

4 C/S和B/S比较

C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S由美国 Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术已被世界各国所掌握,我国国内公司以C/S和B/S技术开发出的产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智。

4.1 C/S架构软件的优势与劣势

4.1.1 应用服务器运行数据负荷较轻

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序,二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求。客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求;服务器程序根据预定的规则做出应答,送回结果,应用服务器运行数据负荷较轻。

4.1.2 数据的储存管理功能较为透明

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的。对于工作在前台程序上的最终用户是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序并不是非常“瘦小”,并没有将麻烦的事情都交给了服务器和网络。在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

4.1.3 C/S架构的劣势是高昂的维护成本且投资大

采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现。问题在于,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高任务量大。

传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

4.2 B/S架构软件的优势与劣势

4.2.1 操作使用简单

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。

4.2.2 维护和升级方式简单

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对于较大点的单位来说,系统管理人员如果需要在几百甚至上千台电脑之间来回奔跑,效率和工作量是可想而知的。而B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”,这是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

4.2.3 成本降低,选择更多

大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来。Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“搜虎”网,只要安装了浏览器就可以了,并不需要了解“搜虎”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

4.2.4 应用服务器运行数据负荷较重

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做服务器的硬件维护。但应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

严格来说,B/S结构也是一种C/S结构。二者在技术和实施上主要的比较是:C/S 采用Intranet技术,适用于局域网环境;可连接用户数有限,当用户数量增多时,性能会明显下降;客户端都要安装应用程序,系统扩展维护复杂;代码可重用性差,开发费用较低,开发周期较短。B/S采用Internet/Intranet技术,适用于广域网环境;支持更多的客户,可根据访问量动态配置WEB服务器、应用服务器,以保证系统性能;客户端只需标准的浏览器,采用面向对象技术,代码可重用性好,系统扩展维护简单;但开发费用较高,开发周期较长
 阅读文章全部内容  
点击查看
文章点评
相关文章
cat 关注

文章收藏:5034

TA的最新收藏