Web应用系统开发的两种流行架构


C/S(客户端/服务器)

Client/Server(客户端/服务器)
服务器只集中管理数据,计算任务分散在客户机上,客户机和服务器之间通过网络协议来进行通讯,客户机向服务器发出数据请求,服务器将数据传送给客户机进行计算,计算完毕,计算结果可返回给服务器。
另外一种情形是,客户端先进行简单的预处理,然后将处理后的结果再提交给服务器进行进一步的处理。
这种模式我们也通常成为胖客户端模式。

举例:QQ、Foxmail、迅雷等软件

C/S 用户固定,一般只应用于局域网中,要求拥有相同的操作系统,如果对于不同操作系统还要相应开发不同的版本,并且对于计算机电脑配置要求也较高。

C/S优点

C/S架构的优势在于应用服务器运行数据负荷较轻,数据的存储管理功能较为透明。 它的劣势在于高昂的维护成本且投资大,传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在Java这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。

操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。

C/S缺点

需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。

用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

B/S(浏览器/服务器)

Browser/Server(浏览器/服务器)
客户端使用通用的浏览器代替各种应用软件,服务器则为Web服务器。
浏览器和服务器之间通过TCP/IP通信协议进行连接,浏览器发出请求,由Web服务器向后台取出数据进行计算,并将结果返回给浏览器。
这种模式,我们通常将其成为瘦客户端模式。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分业务逻辑在前端(Browser)实现,主要的业务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

举例:淘宝、当当,常见浏览器有谷歌、火狐等

B/S 要求有操作系统和浏览器就行,与操作系统平台无关(可以实现跨平台),对客户端的计算机电脑配置要求较低。

B/S优点

总的说来,B/S结构同传统的C/S结构相比,其优点在于:
B/S是一种瘦客户机模式,客户端软件仅需安装浏览器,且对客户端硬件配置要求较低。

标准统一,维护相对简单。HTML是Web信息的组织方式,所有Web服务器和浏览器都遵循这个国际标准,使用B/S方式,可以将开发人员集中在服务器端,只需开发和维护服务器端应用程序,而服务器上的应用程序可通过网络浏览器在客户端上执行,从而充分发挥开发人员的群体优势,应用软件的维护也相对简单。

无需开发客户端软件。浏览器软件可以从Internet上免费得到,对于安装了Windows操作系统的客户机来说,只要使用内置的网络协议和浏览器即可。

跨平台支持。由于采用统一的通讯协议,并且浏览器及服务器软件可以支持多平台,所以可以方便的在企业异构平台运行。

浏览器界面易学易用,使用者无须太多技术知识。 开发简单,共享性强。

分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。

业务扩展简单方便,通过增加网页即可增加服务器功能。

维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

B/S缺点

个性化特点明显降低,无法实现具有个性化的功能要求。

在跨浏览器上,BS架构不尽如人意。

客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。

在速度和安全性上需要花费巨大的设计成本。

功能弱化,难以实现传统模式下的特殊功能要求。


总结

B/S编程相对于C/S编程的优点是,C/S中每当版本更新之后客户端都要重新安装,而web编程却省去了这一点。
而且B/S主要业务逻辑在服务器端实现,大大简化了客户端电脑负荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
CS响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高;
BS可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢;
所以有些单位日常办公应用BS,在实际生产中使用CS结构

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二哈喇子!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值