小博老师解析项目架构 ——C/S架构与B/S架构

来源:互联网 发布:虚幻引擎制作软件 编辑:程序博客网 时间:2024/06/05 05:01

[B/S优点]

B/S架构是应WEB技术的飞速发展而从传统的C/S架构发展而来,并且一举成为当今主要的网络架构。目前主要的网站,尤其是商务网站都是基于B/S架构建立的。那么我们就来细数一下B/S架构的优点,它到底为什么受到大家的青睐。
1浏览器

a)能面对广大的用户实现信息传播共享。

b)浏览器只处理一些简单的逻辑事务,负担小。

c)页面的更新能实现同步,所有用户都能看到。

d)界面设计开发简单,对程序员的要求较低,不需要大量的培训。

e)业务扩展方便,只需要增加几个业务扩展的页面即可,不需要大量的编程。

f)界面不需要太多的编写,比较通用,更改界面也比较简单,所以几乎不需要维护。

g)由于Web的平台无关性,可以从一台服务器、几个用户的工作组级扩展成为拥有成上万用户的大型系统。


2)服务器

a)数据都集中存放在数据库服务器,所以不存在数据不一致现象。

b)能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

c)在数据库服务器上不一定使用WINDOWS系统,选择更多,成本更少。

d)如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。

e)在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。 

f)数据存放在数据库服务器,客户端并不存放任何业务数据或者数据库连接信息,所以数据比较安全。

g)随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。


3)用户

aB/S建立在广域网上,所需的网速不高。

b)外部的用户也可以对浏览器进行访问。

c)界面人性化,通用化,不需要多少培训就能掌握。

d)不需要安装客户端,只要能连上网,就能随时随地的浏览页面。

e)借助Internet强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。

f)所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。

 

4)成本

a)软件重用性强,节省了大量的成本。

b)不需要安装特殊的软件,客户端几乎零维护。

c)开发简单,升级便捷,人员不需要太多培训,节省了大量的资金。

d)客户端几乎不需要维护,只要盯紧服务器就可以了,所以成本较小。

e)一般只有初期一次性投入成本,有利于软件项目控制和避免IT黑洞。

f)建立在广域网之上的不必是专门的网络硬件环境,例如电话上网租用设备等,成本较小。

 

[B/S缺点]

虽说B/S架构有很多优越性,但是也不可避免有些缺陷,不然也不会暴发究竟使用哪种架构的口水战。不过,在理论上,既然B/SC/S的改进版,应该克服了C/S的很多缺陷,所以缺点应该不是很多。下面我们来看看实际上是什么情况。
1)客户端

a)面通用化,不突出个性。

b)页面需要不断地动态刷新,尤其是用户增多,网速慢得情况,很费时。

c)由于不需要安装客户端,客户端易扩展,还有就是外部用户也可以访问,所以B/S面对大量的不可知用户。

 

2)服务器

a)用户增多时,服务器响应速度慢。

b)功能虽然多样化,但是不能专门化,不能实现复杂的功能。

c)服务器承担着重要的责任,数据负荷较重。一旦发生服务器崩溃等问题,后果不堪设想。

 

[C/S优点]

C/S架构既然能在计算机历史的长河中长盛不衰就必然有其闪光之处。下面将从各个角度分析C/S架构的优点。

1)客户端和服务器直接相连

a)点对点的模式使得更安全。

b)可以直接操作本地文本,减少获取文本的时间和精力。

c)由于直接相连,减少了通信流量,这对于客户来说可以节约一大笔费用。

d)直接相连,中间没有什么阻隔或岔路,所以响应速度快。当通信量少的时候没什么感觉,但是如果通信量庞大,就不会出现拥堵的现象。

 

2)客户端可以处理一些逻辑事务

a)充分利用两者的硬件设施,避免资源的浪费。

b)为服务器分担一些逻辑事务,可以进行数据处理和数据存储。可以处理复杂的事务流程。

c)客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。

 

3 客户端操作界面

a)可以提高客户的视觉体验,满足客户需求。

b)客户端操作界面可以随意排列,充分满足客户的需要,展现特点与个性。

 

[C/S缺点]

经过长期的时间检验,人们发现了C/S存在的不足,下面将前人的观点整理总结一下:
1)客户端

a)只能处理一些功能单一的多系统。

bC/S架构适用于局域网,对网速的要求比较高。

c)由于需要安装客户端,安装部署困难,所以不易扩展。

d)若客户端使用的系统不同,就要针对这些系统分别编写程序。

e)客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。

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

 

2)服务器

a)用户数增多会出现通信拥堵,服务器响应速度慢等情况。

b)当服务器难当大任时,只能将其废弃,使用更强大的服务器。

c)当客户端用户增多时,服务器难以承担重负,是名副其实的客户端。

d)用户是通过ODBC连接到数据库的,且每个连接到数据库的用户都会保持一个ODBC连接,会一直占用中央服务器的资源,对服务器的要求很高。

 

3)用户

a)没有安装客户端的外部用户不能访问。

b)只有安装了客户端才能访问服务器,所以用户不能随时随地的访问。

c)用户是通过ODBC连接到数据库的,所以用户数受限,不易扩张。

d)由于针对小范围的客户,所以不能实现真正大范围的信息共享,信息传达和发布。


4)开发成本

a)需要聘用高素质的人员,对其培训,费用高。

b)初次开发就需要配备好客户端,服务器,需要有专业水准的技术人员,所以成本高。


5)后期成本

a)系统升级维护麻烦,需要更改大量程序,投入大量精力和金钱。

b)业务扩展或变更时,需要更改程序,客户端的界面也需要重新更改。

c)初次投入成本后不能一劳永逸,后期需要很多成本,比如服务器的更换,客户端的更变等。

0 0
原创粉丝点击