C/S与B/S结合的软件体系结构

时间:2023-04-17 20:55:03 手机站 来源:网友投稿


打开文本图片集

摘 要 无论是C/S模式的体系结构还是B/S的体系结构,都无法满足当前越来越复杂的软件设计与开发。我们不妨将C/S与B/S这两种结构结合起来,充分发挥各自的优势,使开发出来的软件具备优良的性能。

【关键词】C/S、B/S、C/S结合B/S

1 C/S体系结构

随着计算机应用和计算机网络的发展,Client/Server模式(客户机/服务器模式,简称C/S模式)逐渐流行起来,用来管理各种各样的信息资源。早期的C/S模式是两层结构,第一层结构在客户机的系统上结合了业务逻辑和形式逻辑,前端的可执行代码由菜单、按钮、SQL语句、GUI窗体流和数据验证等元素组成;第二层结构通过计算机网络结合数据库(如Oracle、Sybase、Informix等数据库系统)服务器,后端的数据内容包括数据表、触发器、安全策略、引用一致性定义等元素。它将多个网络应用的用户交互界面处理程序与数据库的访问及处理分离,客户端与服务器之间通过消息传递机制来进行对话,先由客户端先将请求发送给服务器,服务器接收到请求后进行相应的,再将处理后的信息传递给客户端。C/S模式的结构图如图1所示。

C/S结构的优点主要体现在以下几个方面:

(1)C/S结构合理地将任务分配到Client(客户)端和Server(服务器)端,充分地利用两端硬件环境的优势,减少了整个软件系统的通讯开销。

(2)C/S结构具有很强的交互性,在客户端的电脑上有一套完成的应用程序,可以在子程序中自由切换,在线帮助和出错提示也有强大的功能。

(3)C/S结构采用点对点的结构,采用局域网中安全性较好的协议(如:NetBEUI协议等),即保证了数据的完整性约束,又保证了数据的安全。

(4)C/S结构到目前为止已经非常成熟,有大量的开发工具支持。

(5)C/S结构要求各种应用必须通过前羰的应用程序完成,系统安全可靠。

随着计算机网络规模的不断扩大,应用程序复杂程度不断提高,C/S模式的缺点也逐渐显露出来,这些缺点具体体现在以下几个方面:

(1)一但客户端与服务器建立的连接后,这个连接就会保持,直到客户端主动放弃时连接才被销毁,这样就会造成可建立的服务数目有限,进而使用户数目受到限制。

(2)客户端即要完成用户数据的交互及表示,又要处理应用程序与数据的交互,用户的界面必须要与应用逻辑在统一平台上,这样就会造成软件系统的可伸缩性差,对数据的管理不够灵活,软件系统的维护和升级费用高。

(3)客户端上的程序的代码重用机会少,客户端需要处理数据,如果这些逻辑需求发生变化,则每上客户端上的程序都要进行相应的修改。

(4)客户端上的应用程序庞大,软件需要特定的开发平台决定,造成了客户端软件系统跨平台不理想。

C/S结构一般建立在局域网中,再通过特定的服务器提供与英特网的连接和数据交换服务,面向固定的用户群,有较强的控制能力,高度机密的软件系统采用C/S结构比较合适。

2 B/S体系结构

随着IT产业的迅速发展,C/S体系结构暴露出了许多不足,客户端程序过于庞大、客户需求千变万化等问题尤为突出。在止其间,Internet技术不断发展,基于Web(HTTP、HTML)的发布和检索技术,导致了软件体系结构从C/S结构向灵活的多层分布式结构演化,这种新型的多层分布式结构就是B/S(Browser/Server,即浏览器/服务器)结构。

B/S结构由Browser(浏览器)和Server(服务器,主要是Web服务器)组成。客户机与服务器通常都不在同一个局域网中,数据库服务器与应用服务器往往在高速局域网,应用程序和数据都放在服务器上,浏览器通过下载服务器上的程序得到动态扩展。B/S结构是三层体系结构,用户首先通过浏览器(如IE、Firefox等)向网络上的服务器(如Web服务器)发出请求,服务器如果接收到了浏览器的请求,就会对这些请求进行处理(如数据的加工、结果的返回以及动态网页的生成等工作都由Web服务器完成),再将用户所需要的信息传送到浏览器上。B/S结构的运行模式,简化了客户机的工作,客户机上只需要配置少量的相关软件,更多的工作负担是由服务器来承受,这样就减轻了客户机的压力,更适合千变万化的客户需求。B/S结构图2所示:

B/S结构的优点主要体现在以下几个方面:

(1)B/S结构容易实现跨平台工作,各种平台上的用户均可通过浏览器访问及获取所需的信息。

(2)在B/S结构中,用户只需在客户机安装浏览器就可以有交互界面,系统的升级和维护工作大部分都在服务器上进行,在客户端上极少需要甚至不需要进行改动,这样大大降低了开发及维护成本。

(3)浏览器在下Web服务器交互时采用的协议主要是HTTP协议,该协议是无连接协议,浏览器只在有请求时才与Web服务器连接,当浏览器获取到所需结果后马上会结束连接,这样服务器可以同时为几千、几万甚至更大数量的并发请求服务。

(4)当应用服务器无法满足客户的需求量,可以通过增加应用服务器的数目,由多台应用服务器同时为终端客户服务,实现负载均衡,消除数据的瓶颈。

(5)因为B/S结构中,服务器接受用户请求后会将结果一次返回,B/S三层结构消耗的时间大大小于C/S二层结构消耗的时间。

B/S体系结构经过多年的应用,也暴露出许多不足的地方,具体表现在以下几个方面:

(1)B/S体系结构中虽然可以用Java、ActiveX等技术开发应用脚本,但如果是开发复杂的应用程序,这些技术相对没有C/S的一系列开发工具成熟。

(2)客户端的浏览器大多是为了进行Web浏览而设计开发的,当B/S体系结构应用于非Web系统时,许多功能实现起来比较困难。

(3)数据库的客户端实际上是Web服务器成为对数据库的唯一的客户,所有对数据库的连接及信息传递都是通过Web服务器来实现,这样Web服务器就要同时处理客户的请求以及数据库的连接,当访问量大时,Web服务器端负载过重。

(4)对于管理者来说,采用浏览器方式进行系统的维护和管理是非常不方便与不安全的。

(5)由于源代码开放性,使得商业规则很容易暴露,而商业规则对应用程序来说则是非常重要的。

3 C/S与B/S混合的体系结构

通过前面的分析,可知C/S体系结构并非一无是处,B/S体系结构也并不是十全十美,如果将这两种体系结构结合起来,就能使它们的优劣互补,形成C/S与B/S混合的软件体系结构。在这种体系结构中,一些能够满足大多数客户请求的信息采用B/S结构,这些信息用Web服务器进行处理,如数据库管理维护这些交互性强、安全性要求高、数据查询灵活、数据处理量大,管理员之类的少数人使用的功能应用采用C/S结构。C/S与B/S混合的软件体系结构图3所示。

以学生管理系统为例,教学管理系统主要分为系统后台管理模块、学籍信息管理模块、成绩管理模块、信息发布模块、查询模块等子系统组成。系统的硬件平台主要有:客户机、Web服务器及校园网等资源;系统的软件平台主要有:

(1)C/S结构模块部分:选用C#开发的客户端及SQL Server数据库管理工具。

(2)B/S结构模块部分:选用IE浏览器的客户机、选用IIS及ASP.Net开发的Web服务器及选用SQL Server数据库管理工具。工作时,客户机的浏览器向Web服务器发出请求,Web服务器将请求交给IIS服务器,IIS接受请求并调用ASP程序,ASP程序通过ADO接口与SQL Server数据库连接并进行数据库操作,数据库将处理后的数据返回给Web服务器,Web服务器通过ASP程序处理后再将操作结果以HTML文本的形式发送给客户机的浏览器。对系统进行管理时,客户机通过C/S结构中的ODBC接口向SQL服务器发送SQL语句请求,SQL数据库服务器根据SQL语句生成所需的数据结果集,并将这些结果信息传递给客户机相关的C#程序,并生成管理者所需的结果界面。

在C/S与B/S混合的软件体系结构中,信息发布采用了B/S结构,这样保证了客户机软件简单通用,客户机上的软件可以统一采用WWW浏览器,由于WWW浏览器有固定的标准,因此其可以在所有的平台上完成相应的工作;数据库管理采用了C/S结构,这部分只涉及到数据更新与系统维护等特定的工作,可在专用的客户机上安装相关的客户端软件,并且在客户机上可以构造非常复杂的应用程序,这样只需要维护少量的客户端,解决了完全采用C/S结构带来的客户端维护及更新工作量大等缺点,从安全角度讲,达到封装源代码,保护数据的目的。。这样便充分发挥了C/S与B/S体系结构的优势,进而弥补了二者不足,即充分考虑用户的方便与利益,又保证了系统管理者查询、维护与更新操作的简单灵活。

如果原有的系统采用的是C/S体系结构,我们也可以非常容易地升级到这种C/S与B/S混合的软件体系结构,只需要开发用于发布的WWW客户机界面,保留原有C/S结构的某些子系统用于管理与维护。

4 结束语

C/S与B/S混合的软件体系结构,充分发挥了两种模式各自的优点,保证了系统的可实现性和安全性,简化了客户端,即满足了不同用户的需求,又使系统便于维护。在软件开发中,只要找到C/S结构与B/S结构的契合点,就能使软件系统在具备优良的性能。

参考文献

[1]王丽平.基于C/S与B/S混合体系结构的教务管理系统设计[J];科技情报开发与经济,2008.

[2]王伟伟.软件体系结构模式探析[J].科技传播,2011.

[3]黄沛.基于B/S体系结构以及ActiveX技术的计算机应用系统开发[J].技术与市场,2008.

[4]李云云.浅析B/S和C/S体系结构[J].科学之友,2011.

[5]宋涛.CS体系的传统二层结构与流行三层结构的比较分析[J].硅谷,2012.

作者简介

陈俊斌,男,大学本科学历,学士学位。现为广东省高级技工学校计算机科学与技术讲师。

作者单位

广东省高级技工学校 广东省惠州市 516100

推荐访问:体系结构 软件

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。