C/S、B/S体系架构研究- {gjj}《硅谷》杂志科技类综合期刊- feizzj ...
C/S、B/S体系架构研究 [原创 2010-01-26 09:45:24]   

《硅谷》杂志2009年11月优秀文章选登

本文已公开发表,文章内容知网可查,请尊重作者原创,切勿抄袭

版权所有,违法必究

 

C/SB/S体系架构研究

齐爱朋

(河南工业贸易职业学院 郑州450012)

【摘要】C/SB/S是当今世界开发模式技术架构的两大主流技术C/S交互性强具有安全的存取模式,但当客户端数目激增时,应用维护极困难。B/S采用三层结构,便于开发网络应用软件。

【关键词】架构  C/S模式  B/S模式 

架构的思想萌芽自1968 Dijkstra 的工作。架构设计出现的背景是:需要进行超越算法和数据结构一级的设计,以适应软件规模和复杂性的增长。

C/SB/S是当今世界开发模式技术架构的两大主流技术C/S是美国 Borland公司最早研发的、基于客户机/服务器的模式;B/S是美国微软公司研发的、基于浏览器/服务器的模式。目前,这两项技术被世界各国所掌握,国内公司开发出的很多产品都是基于C/SB/S技术

一般一个典型的应用可以分为四个部分:表示逻辑、事务逻辑、业务逻辑和数据逻辑。C/S两层体系结构就是把表示逻辑放在客户端,把数据逻辑和事务逻辑放在服务器端,而业务逻辑视情况而定。从物理结构上来说,C/S两层体系结构的前端是客户机,负责接受用户的请求,并向数据库服务提出请求;后端是服务器,负责将数据提交给客户端,客户端将数据进行计算并将结果呈现给用户。服务器还要提供完善的安全保护及对数据的完整性处理等操作,并允许多个客户同时访问同一个数据库。

过去,C/S两层体系结构在应用系统开发中得到了广泛的应用。其优点是: 技术上成熟,交互性强具有安全的存取模式网络通信量低、响应速度快、便于处理大量数据。但是同时它也有缺点:当客户端数目激增时,服务器端的性能会因为负载过重而大大降低;客户端和服务器端耦合度太高,维护和管理的难度较大每台客户机都需要安装相应的客户端程序,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载

为了解决以上存在的问题,人们将业务逻辑层提取出来作的中间层。该中间层为所有用户共享,作为整个系统的核心,提供功能主要:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个层结构应用的开发、运行、部署和管理的平台,具有事务处理、安全控制以及为满足不同数量客户机的请求而进行性能调整的能力这样,就使传统的二层C/S结构演变成三层C/S结构,在层与层之间相互独立,任何一层的改变不会影响其它层的功能,从而极大地降低了客户端和服务器的耦合度;也使客户端的工作量减少,开发和管理工作向服务器转移,使得分布式数据处理成为可能。三层结构相对二层结构来说,无论是从理论上还是实践上都使应用者向前迈进了一大步。但是三层结构也有其缺点:一是计算能力过于分散,客户端的维护费用随着客户端的增加而递增;二是对数据库的资源使用限制在局域网范围内,无法使用Internet资源。针对C/S结构的缺陷,B/S应运而生。

Internet/Intranet采用的B/S计算模型并不是一种全新的架构模型,其实质是一种扩展了的C/S模型。对于典型的三层应用系统来说,通常可以把系统分成三个层次:数据层、表示层和业务逻辑层,如图1所示。在这三个层次中,系统的主要功能和业务逻辑在业务逻辑层进行处理,主要处理以下几个方面的问题:

0 && image.height>0){if(image.width>=700){this.width=700;this.height=image.height*700/image.width;}}" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-1381.png" width=180 height=171>

1B/S三层架构

1、 数据的表示方式,也就是实体类的表示方式,以及同数据库的对应关系,即所谓的O-R Map的问题。

2、 数据的存取方式,也就是实体类的持久化问题,通常采用数据库来{yj}存储数据实体,这就需要解决同数据库的交互问题。

3、 业务逻辑的组织方式。在面向对象的系统中,业务逻辑是通过对象间的消息传递来实现的。在这个部分,为了保证逻辑处理的正确性和可靠性,还必须支持事务处理的能力。

4、 业务服务的提供方式。为了保证系统的灵活性和封装性,系统必须有一个层来封装这些业务逻辑,向客户端提供服务,同时作为系统各个模块间功能调用的接口,保证系统的高内聚和低耦合性。这里的客户指的不是操作的用户,而是调用的界面、其他程序等。Web层通常只同这个部分交互,而不是直接调用业务逻辑层或者数据实体的功能。

将系统划分成多层的好处是:能够使得系统的架构更加清晰,从而每个层次完成的功能比较单一,而简单功能的代码是有规律可循的,这意味着我们可以开发一些工具来生成这些代码。

1表示的意思可以这样理解,Web客户端(表示层)与Web服务器或应用服务器(业务逻辑层)之间通过HTTP协议进行通信,WEB服务器或应用服务器将数据请求发送至数据层,数据层将处理后的数据返回至业务逻辑层,再从业务逻辑层返回至用户表示层。

B/S的三层架构体系相对于C/S架构来说,{zd0}的改变是其数据通信xx是基于互联网的,客户端只需要有浏览器就可以使用系统,不再需要进行客户端的安装部署,且用户的界面具有一致性,易于学习与操作,降低了培训成本。另外,由于开发环境独立于用户的前台应用环境,从而提高了系统应用的跨平台性,也便于系统的扩展、管理和升级等。

可将B/S三层体系结构的优点归纳如下:

1、 瘦客户端结构。客户端只需要安装浏览器,系统扩展容易,所有开发均集中在服务器端;

2、 具有开放性和可跨平台性,很容易与互联网资源进行连接。

但是B/S也有其缺点:由于其采用点对点、多点对多点的开放式结构模式,并采用TCP/IP开放性协议,因此其安全性无法和适用于局域网的网络协议相比,需要靠信息加密和身份验证来保证,为了进一步增强系统的安全性,有时还需要构筑防火墙。

综上所述, B/S与C/S这两种技术架构在各自的领域各有利弊长短,但由于当前信息系统应用的重点逐渐向INTERNET领域靠近,且该领域B/S多层体系结构又是主流的开发模式,该种开发模式又具有分布性强、维护方便、开发简单共享性强、总体拥有成本低等优点。因此,在本文所讨论的通用系统开发模型的体系架构选型时,选择了基于B/S架构模式来作为开发模型的架构体系。

[参考文献]

[1] 孙亚民.开发.NET平台应用系统框架[EB/OL].:赛迪网,2007-6-12

[2] 温昱.软件架构解读与架构师角色培养[J] .希赛顾问-软件工程专刊,2007,3:59-60

 

投稿邮箱:,咨询QQ:473119849,电话:0531-87586050张编辑

郑重声明:资讯 【C/S、B/S体系架构研究- {gjj}《硅谷》杂志科技类综合期刊- feizzj ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——