CS开发模式与BS开发模式间的⽐较C/S开发模式与B/S开发模式间的⽐较
⼀、什么是C/S和B/S
第⼀、什么是C/S结构。C/S (Client/Server)结构,即⼤家熟知的客户机和服务器结构。它是软件系统体
系结构,通过它可以充分利⽤两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统
的通讯开销。⽬前⼤多数应⽤软件系统都是Client/Server形式的两层结构,由于现在的软件应⽤系统正在向分布
式的Web应⽤发展,Web和Client/Server 应⽤都可以进⾏同样的业务处理,应⽤不同的模块共享逻辑组件;因
此,内部的和外部的⽤户都可以访问新的和现有的应⽤系统,通过现有应⽤系统中的逻辑可以扩展出新的应⽤系
统。这也就是⽬前应⽤系统的发展⽅向。
传统的C/S体系结构虽然采⽤的是开放模式,但这只是系统开发⼀级的开放性,在特定的应⽤中⽆论是
Client端还是Server端都还需要特定的软件⽀持。由于没能提供⽤户真正期望的开放环境,C/S结构的软件需要针
对不同的操作系统系统开发不同版本的软件,加之产品的更新换代⼗分快,已经很难适应百台电脑以上局域⽹
⽤户同时使⽤。⽽且代价⾼,效率低。如我院使⽤的上海超兰公司“案件统计”管理软件就是典型的C/S体系结
构管理软件。
第⼆、什么是B/S结构。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴
起,对C/S结构的⼀种变化或者改进的结构。在这种结构下,⽤户⼯作界⾯是通过WWW浏览器来实现,极少部
分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就⼤⼤简化了客户端电脑载荷,减轻了系统维护与升级的成本和⼯作量,降低了⽤户的总体成本(TCO)。
以⽬前的技术看,局域⽹建⽴B/S结构的⽹络应⽤,并通过Internet/Intranet模式下数据库应⽤,相对易于把握、
成本也是较低的。它是⼀次性到位的开发,能实现不同的⼈员,从不同的地点,以不同的接⼊⽅式(⽐如LAN,
WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据
库也很安全。
第三、管理软件主流技术。管理软件技术的主流技术与管理思想⼀样,也经历了三个发展时期。⾸先,界⾯
技术从上世纪DOS字符界⾯到Windows图形界⾯(或图形⽤户界⾯GUI),直⾄Browser浏览器界⾯三个不同的
发展时期。其次,今天所有电脑的浏览器界⾯,不仅直观和易于使⽤,更主要的是基于浏览器平台的任何应⽤软
件其风格都是⼀样的,使⽤⼈对操作培训的要求不⾼,⽽且软件可操作性强,易于识别;再者,平台体系结构也
从过去单⽤户发展到今天的⽂件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/
S)体系。
⼆、C/S和B/S 之⽐较
C/S和B/S是当今世界开发模式技术架构的两⼤主流技术。C/S是美国 Borland公司最早研发,B/S是美国微
软公司研发。⽬前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术
都有⾃⼰⼀定的市场份额和客户,各家企业都说⾃⼰的管理软件架构技术功能强⼤、先进、⽅便,都能举出各
⾃的客户体,都有⼀⼤⽂⼈墨客为⾃⼰摇旗呐喊,⼴告满天飞,可谓仁者见仁,智者见智。
1、C/S架构软件的优势与劣势
(1)应⽤服务器运⾏数据负荷较轻。最简单的C/S体系结构的数据库应⽤由两部分组成,即客户应⽤程序和
数据库服务器程序。⼆者可分别称为前台程序与后台程序。运⾏数据库服务器程序的机器,也称为应⽤服务器。
⼀旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应⽤程序运⾏在⽤户⾃⼰的电脑上,对应于
数据库服务器,可称为客户电脑,当需要对数据库中的数据进⾏任何操作时,客户程序就⾃动地寻服务器程
序,并向其发出请求,服务器程序根据预定的规则做出应答,送回结果,应⽤服务器运⾏数据负荷较轻。
(2)数据的储存管理功能较为透明。在数据库应⽤中,数据的储存管理功能,是由服务器程序和客户应⽤
程序分别独⽴进⾏的,前台应⽤可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运⾏数据,
在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建⽴定单这样的规则。所有这
些,对于⼯作在前台程序上的最终⽤户,是“透明”的,他们⽆须过问(通常也⽆法⼲涉)背后的过程,就可以完
成⾃⼰的⼀切⼯作。在客户服务器架构的应⽤中,前台程序不是⾮常“瘦⼩”,⿇烦的事情都交给了服务器和⽹
络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独⽴的专门管理。
(3)C/S架构的劣势是⾼昂的维护成本且投资⼤。⾸先,采⽤C/S架构,要选择适当的数据库平台来实现数
据库数据的真正“统⼀”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访
问同⼀个数据库才能有效实现,有这样⼀些问题,如果需要建⽴“实时”的数据同步,就必须在两地间建⽴实时的
通讯连接,保持两地的数据库服务器在线运⾏,⽹络管理⼯作⼈员既要对服务器维护管理,⼜要对客户端维护和
管理,这需要⾼昂的投资和复杂的技术⽀持,维护成本很⾼,维护任务量⼤。
其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代⼗分
快,代价⾼和低效率已经不适应⼯作需要。在JAVA这样的跨平台语⾔出现之后,B/S架构更是猛烈冲击C/S,并
对其形成威胁和挑战。
2、B/S架构软件的优势与劣势
(1)维护和升级⽅式简单。⽬前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为⽅便
的特性。对⼀个稍微⼤⼀点单位来说,系统管理⼈员如果需要在⼏百甚⾄上千部电脑之间来回奔跑,效率和⼯作
量是可想⽽知的,但B/S架构的软件只需要管理服务器就⾏了,所有的客户端只是浏览器,根本不需要做任何的
维护。⽆论⽤户的规模有多⼤,有多少分⽀机构都不会增加任何维护升级的⼯作量,所有的操作只需要针对服务
器进⾏;如果是异地,只需要把服务器连接专⽹即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,⽽
服务器越来越“胖”是将来信息化发展的主流⽅向。今后,软件升级和维护会越来越容易,⽽使⽤起来会越来越简
单,这对⽤户⼈⼒、物⼒、时间、费⽤的节省是显⽽易见的,惊⼈的。因此,维护和升级⾰命的⽅式是“瘦”客户
机,“胖”服务器。
(2)成本降低,选择更多。⼤家都知道windows在桌⾯电脑上⼏乎⼀统天下,浏览器成为了标准配置,但
在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使⽤B/S架构的应⽤管理软件,只需
安装在Linux服务器上即可,⽽且安全性⾼。所以服务器操作系统的选择是很多的,不管选⽤那种操作系统都可以让⼤部分⼈使⽤windows作为桌⾯操作系统电脑不受影响,这就使的最流⾏免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择⾮常盛⾏。
⽐如说很多⼈每天上“新浪”⽹,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器⽤的是什么操作系统,⽽事实上⼤部分⽹站确实没有使⽤windows操作系统,但⽤户的电脑本⾝安装的⼤部分是windows操作系统。
(3)应⽤服务器运⾏数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,⽹络管理⼈员只需要管理服务器就⾏了,⽤户界⾯主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,⽹络管理⼈员只需要
做硬件维护。但是,应⽤服务器运⾏数据负荷较重,⼀旦发⽣服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万⼀。
三、从C/S到B/S,软件开发模式的变迁
上个世纪后期,C/S结构是最为流⾏的软件系统体系结构。但是,⾃从Internet诞⽣之后,更多的软件应⽤系统体系结构开始向B/S结构转变。
在C/S结构下,⼤多数的企业管理软件,采⽤的均是传统开发⼯具Visual Basic(VB)和Delphi代码,或者是Power Builder(PB)代码,即第四代语⾔代码。
随着Internet时代的到来,⼤多数的管理软件开始转向B/S结构。如何从C/S平稳过渡到B/S,之前并没有更好的解决⽅案,⼤多数的企业开始彻底放弃VB、PB开发的代码,转⽽采⽤C/S结构下的Java语⾔重新来写。虽然不会出现问题,但是需要重新投⼊资本、⼈⼒,甚⾄需要增加更多的培训机会。
代码移植的演变
在20世纪70和80年代,代码移植最主要的⽬的是将程序移植到不同的系统环境下运⾏—主要是处理器和操作系统。由于市场上的硬件和操作系统呈现多样化和均衡化的状态,因此,⼀个重要的程序往往需要考虑两个甚⾄更多的系统环境。
1990年,Windows 3.0发布。基于窗⼝、按钮、图标和⿏标的图形界⾯(GUI),迅速征服了全世界个⼈计算机⽤户。将原有DOS字符模式下的应⽤程序移植到GUI环境,成为众多⽤户和软件开发商的迫切需求。可视化编程逐渐成为GUI下,软件开发的主流。
在4GL(第四代语⾔)开始⼤⾏其道之后,新⼀轮代码移植的潮流再度兴起。此时的重点是将结构化逻辑在GUI下实现,把过去结构化代码中的制作界⾯部分剥离,并把逻辑部分附着在各个对象事件之中,通过操纵对象⾏为,完成整个应⽤的代码移植。
可视化编程在Web时代的瓶颈
但是,Internet的飞速发展给4GL编写的GUI程序提出了新的挑战。这些程序⼤都基于C/S结构下,这种模式在局域⽹⾥将应⽤⼀分为⼆,服务器负责数据管理,客户机完成与⽤户的交互任务。C/S结构下软件具有强壮的数据操纵和事务处理能⼒,以及数据的安全性和完整性约束。但随着企业规模的⽇益扩⼤,应⽤程序的复杂程度不断提⾼,C/S结构逐渐暴露出了缺点。⽐如开发成本较⾼,⽤户界⾯风格不⼀、使⽤繁杂、不利于推⼴使⽤,维护复杂、升级⿇烦等。
为了解决C/S结构的不⾜,基于Internet的B/S技术应运⽽⽣,它是有计算技术以来最稳定的技术平台。本质上B/S也是⼀种客户机技术,⽤户只需通过浏览器这个统⼀界⾯,就可享受到⽆限丰富的、永远在不断变化和发展着的信息服务。⽽通过这种结构,原则上取消了管理员所有在客户机端的维护⼯
作。
在C/S向B/S转移的过程中,开发者遇到了极⼤的困难。因为代码的移植已经不再是过去的简单语法转换,⽽牵涉到各种对象的映射。
开发网站需要什么软件 在结构化编码时代⾥,⽆论是对⼀种语⾔不同⽅⾔之间的移植,如从Turbo C到GNU C,还是对不同的⾼级语⾔之间的移植,如Turbo Pascal到Turbo C,源语⾔和⽬标语⾔均遵循着相同的结构。源代码的转换,更多的是基于⼀个标识符对照表来完成。
使⽤4GL开发的C/S程序是对象的集合,代码从属于对象。在相同或者类似的界⾯下,不同开发⼯具使⽤的对象,提供给开发者的接⼝可能完全不同。如果使⽤Java或者.NET重写原有C/S程序,意味着开发者必须将界⾯上所有元素逐个将其属性、参数表、事件⽤新的开发⼯具重新编写。
难越的⾃动化迁移之路
不管⽹络泡沫如何演变,Internet始终是难掩的潮流。在国外软件市场,⼤多数⼤型企业管理软件已经是B/S 结构,或者正处于C/S结构向B/S结构的过渡时期。国内的⼤多数软件企业也已经开始向B/S结构转变。B/S结构下的⼤型管理软件,势必是未来⼏年内,管理软件市场的主流软件。
要解决现有C/S应⽤低成本、快速移植到B/S结构下的应⽤的困境,则必须要解决⾃动且精确的GUI移
植、⾃动的语法逻辑移植、⽅便的服务器端调试和发布。
从应⽤⾓度来看,B/S结构下软件相⽐C/S结构下软件,有着独特的优势。
节约投资。B/S结构下软件⼀般只有初期⼀次性投⼊成本;⽽C/S结构下软件则随着应⽤范围的扩⼤,要求不断进⾏资本的投⼊。⽐如需要购买更为⾼级的服务器或者增加相应的管理⼈员等。
简化⼯作。B/S结构下软件安装在服务器端即可解决问题,在做更改时,只需调整服务器端即可。C/S结构下软件则需要安装在客户机端,调整的时候需要涉及到局域⽹内的每⼀台机器。对于区域级服务器来讲,C/S结构的软件更新则更加复杂。
更好地保障数据安全。在C/S结构软件的解决⽅案⾥,对于异地经营的⼤型集团企业,需要在各地分别安装区域级服务器。⼀旦某⼀个区域级服务器出现问题,对数据的安全会造成⼀定影响,⽽且总部也不会得到准确的最终数据。对B/S结构下软件来讲,其数据集中存在于企业的中央数据库,可有效地保护数据的安全,⽽且企业可随时随地掌握⾃⼰的经营状况、市场动态,以做出最快决策。
不受⽹络的限制。C/S结构软件仅适⽤于局域⽹内部⽤户或宽带⽤户(1兆以上);⽽B/S结构软件则适合于任何⽹络结构(包括28.8K拨号⼊⽹⽅式),尤其适合于宽带不能达到的地⽅。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论