目录
- C/S与B/S架构比较
- 一、简述
- 二、CS与BS的比较
- 三、个人对C/S和B/S的理解(比较通俗易懂)
- 四、现状与趋势
C/S与B/S架构比较
一、简述
C/S架构即Client/Server架构或客户端/服务端架构,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较大。通常只局限于小型局域网,不利于扩展。并且,由于该结构的每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差,不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限性。
B/S架构即Browser/Server架构或浏览器/服务器端架构,它的主要特点是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步。 B/S结构的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低。
二、CS与BS的比较
三、个人对C/S和B/S的理解(比较通俗易懂)
首先,C/S和B/S最大的区别的是C/S是以客户端和服务器端,例如QQ,大型游戏LOL等,都是通过点击登录开启客户端输入账号密码进行登录,服务器端进行存储用户所创建的所有账号以及密码,该架构主要优点是安全性高,因为每个用户自己电脑上都要安装客户端,因此每个客户端是独立的,响应速度会很快,用户体验好,但是维护会很差,比如游戏进行维护,每个用户都需要自行进行更新,常见的C/S架构开发例如安卓。而B/S是浏览器服务器端,只需要有一个浏览器,用户通过不用网址(URL)访问不同的服务器端程序,因为是通过输入网址访问,所以维护就会比较方便,不需要像C/S那样每个用户都需要进行维护,而是该服务器提供维护即可,维护成功后,用户只需重新登录即可看到最新维护后的网页,但是因为是多个用户看同一个网页,进入同一个服务器端,如果人数很多,数据传输就会很慢,用户就会出现卡顿等问题,因此该模式对服务器要求高,常见的B/S架构开发例如web。
四、现状与趋势
1.用来编制CS管理软件的编程语言,早已江河日下首先我们来了解一下各种语言的发展趋势和排行榜,可以看到排名前十的语言中,没有一种是用来开发CS管理软件的,其中8种语言(Java,C#,Python,PHP,Visual Basic .NET,JavaScript,Perl,Ruby)主要就是面向BS架构软件的语言,剩下的两种语言(C,C++)也不是应用于CS管理软件,而主要面向游戏、科学计算、网络通信软件、操作系统、设备驱动程序、嵌入式系统等
在2015年编程语言排名中,我们可以看到CS软件的主打开发语言VB和Delphi Pascal已经排到了17名和20名,加起来才不到2%的市场占有率,而十多年前却是占据着10%以上,最让人看不到未来的是VB和Delphi的厂商已经不再提供正式支持了。
因此,若是选择CS管理软件,会导致未来的升级和维护都可能会是问题,一方面因为该编程语言和相关的组件已经不再往前发展和创新了,另一方面是国内学院和学生根本没有人去学了,大家都去学习互联网或移动端的开发语言了。
2:市面上CS的管理软件正越来越少
企业管理软件目前已经是BS在主导天下了。
十几年前所有管理软件都是基于CS架构开始的,包括用友用VB开发的财务软件,金蝶也是用VB开发的管理软件,当时还有和VB并驾齐驱的Delphi开发平台(Borland公司拥有)。那完全是因为那时还没有互联网,甚至局域网都没普及,所谓CS管理软件其实就是一个单机记账软件。
但随着互联网兴起和信息化管理的深入,一方面我们很容易看到所有新兴的企业管理软件,几乎就没有采用CS开发的,如比较流行的OA管理软件,CRM管理软件。另一方面也看到国内包括用友、金蝶等巨头都在从CS转向BS,或者说从VB转向JAVA、。NET,CS相关管理软件一方面越来越少,另一方面现存的CS管理软件也是出于旧版本维护中而已。
3:CS管理软件应用不如BS方便
相比于CS管理软件,BS在安装部署、升级维护、设备带宽、软件学习推广成本等方面都有无可比拟的优势。BS管理软件的用户在客户机上无需安装任何软件,使用浏览器即可访问系统。系统让企业扩张不再需要额外投入更多信息化的资金,让系统培训和后期推广都变得非常容易,管理模式变得可复制。
可用性:任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用BS系统的终端,更多的系统用户加入时只需设立账号、培训即可,并支持移动办公和分布式办公。CS是典型的集中式机械化处理,交互性相对低。
稳定性:J2EE的三层架构,采用中间件应用服务器。数据库、应用服务器、视图分层设计,几千几万用户同时在线系统也有优秀的表现。
易升级:CS系统往往是一个不可拆分的整体,各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。BS都是由构件组成,只需要改变页面就可以同步更新,其开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以。
低维护:CS需要专门的客户端安装程序,客户端的安装、升级、网络调试困难;而BS系统只需管理中心服务器。
兼容性:CS系统严重依赖于固定的开发工具、开发语言、操作系统、数据库,软件服务商提供的只能是一个整体性的固化软件,对异构操作系统、数据库很难兼容。BS借助JAVA这样的跨平台语言出现之后,可兼容于所有主流数据库和操作系统。
低带宽: CS典型应用是各个客户端直接连接服务器数据库,一般应用在专用的网络上,仅适用于局域网内部用户或宽带用户小范围里的网络环境,不适合作业点分布较广的大型应用。BS 建立在广域网之上的,带宽要求低,不必是专门的网络硬件环境,适用于低带宽、欠稳定的环境。
丰富展现:CS 多是建立在Window平台上,表现方法有限。BS 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流。
4:CS管理软件不如BS更能应对未来挑战
BS软件在安全性、系统扩展、后续投资等方面都有无可比拟的优势。
安全性:CS对服务器端和客户端安全都需要考虑,而BS只注重服务端即可。CS 程序由于更需要对整体性的考虑,必须有非常专业水准的技术人员才能完成软件更改,特别是数据直接对各客户端开放,导致安全隐患。而BS系统只对外开放HTTP协议和端口,数据库只允许服务器一台机器访问,浏览器端U盾的使用使数据安全加密。
扩展性:系统扩展维护是软件生存周期中,开销大,相当重要 。CS 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,很可能是再做一个全新的系统。BS满足构件个别的更换,实现系统的无缝升级。因此BS一般只有初期一次性投入成本,而CS软件则不同,随着应用范围的扩大,投资会连绵不绝。
重用性:BS可基于J2EE平台架构,利用分布式组件技术来构造系统,减少系统维护和升级成本,有利于保护用户投资,二次开发快捷。业务扩展通过增加网页即可增加供热业务功能。而CS构件的重用性不如BS好。
大型应用:对于集团级的异地软件应用,CS结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,CS结构软件的安全性是令人无法接受的。对于BS结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。而且CS模式下数据的实时性、追溯性都不能保证,数据的分布性导致数据永远无法一致,决策不准。这也是由于CS对带宽要求很高,企业要是租用专线投入会很大,才会导致数据分开管理。
投资保护:在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,CS结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于CS软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而BS结构则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。
高性能:大多数CS结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而BS结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的