C/S结构

C/S结构

编辑

同义词 C/S架构一般指C/S结构

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

工作模式编辑

C/S 结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理, 数据表示以及 用户接口功能;服务器端完成 DBMS数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。
Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。

优点编辑

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

缺点编辑

随着互联网的飞速发展, 移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式 远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有, 系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。[1]   (目前,大多数客户端都适应win XP系统,但对微软新的操作系统或其他开发系统就兼用不了。)
传统的 C/S 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上 局域网用户同时使用。而且代价高, 效率低。
C/S架构的劣势还有高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的 数据同步完全交由 数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的 数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后, B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。
服务端的特征:
1.被动的角色(从)。
2.等待来自用户端的要求。
3.处理要求并传回结果。
用户端的特征:
1.主动的角色(主)。
2.发送要求。
3.等待直到收到回应。

与B/S区别编辑

首先必须强调的是C/S和B/S并没有本质的区别:B/S是基于特定通信协议(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。
之所以在C/S架构上提出B/S架构,是为了满足 瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。
(1)B/S属于C/S,浏览器只是特殊的客户端;
(2)C/S可以使用任何 通信协议,而B/S这个特殊的C/S架构规定必须实现 HTTP协议
(3)浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统。
参考资料
  • 1.  B/S和C/S结构的区别   .博客园[引用日期2013-06-1]
  • http://baike.baidu.com/link?url=Pu8TR5wRptZIOp7oDE21Kz6VIGi8hR9YKM5I3PVW1Ojz4pJtP2x9bKdvMob1veYfjJLByDCXirJnnfLxhLlCnVAkHHtUx0N1CBfT2cBGQLvkrNa-wRVXah0R6TvCRJ2x16BZnUan79tm7R9RcJKGaR5TYxDEaVsqOisR-sFRxkC

转载于:https://www.cnblogs.com/liuyaozhi/p/4896527.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三层C/S结构编程指南<br> -- 使用IBM中间件实例<br><br>概 述<br><br> 计算机体系结构经历了从主机集中的终端方式、C/S结构,以及现在越来越普遍的三层客户机服务器结构。在当今中国,从银行、电信,到保险、证券的各个行业,还有不容忽视的电子商务、普遍运算,都越来越多地使用三层结构作为核心系统的标准体系结构。但是,由于三层结构提高了开发的起点,加上具体介绍三层次应用开发的书籍并不象介绍C/S的书脊那样普遍,对于大多数开发人员来说,三层结构依然是一种理想,而不是一个能够立即在现实中使用的方法。甚至,由于缺乏对于工具的了解,有不少开发人员自行开发了简易的中间件来满足其对三层结构的需求。正因为此,给三层结构开发的普及带来了很大的障碍。<br> 本书详细介绍了三层客户机服务器结构的系统结构,从计算机体系结构的变迁,三层结构的优点,一些常见概念,如数据的一致性、两阶段提交、分布式事务处理、事务处理器以及XA规范的系统说明,到CICS是如何构造以成为一个优秀的三层结构中间件,在第一章中都有详细阐述。<br> 如果您对于三层结构的理论已经有所了解,可以在第二章中学习如何使用CICS编制应用,并且使用VB、Delphi、C++ Builder、PowerBuilder、Java和C进行前台界面的开发。如果要进一步使用CICS的底层功能,第四章的内容是非常有用的。<br> 在CICS应用服务器端,采用嵌入式SQL(E-SQL)编程和各种数据库进行连接。第六章同时详细介绍了DB2、SYBASE、ORACLE、INFORMIX等数据库的嵌入式SQL编程,即使您不使用CICS,这也是一个很好的参考。<br> 第五章中,介绍了对CICS进行性能调优的方法以及一些参考数据,您可以根据您的系统需求来选择合适的硬件环境,满足对性能的需求。<br> 特别的,本书所附光盘包含使用CICS在Windows NT平台上搭建三层结构的所有软件,以及本书提及的所有示例程序。根据第四章的步骤,您可以自己建立一个实验环境,亲自体验开发三层结构应用的感觉。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值