一、什么是
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
结构的软件需要针对不同的操作系统系统开发不同版本的软件,
加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,
效率低。
第二、什么是
B/S
结构。
B/S
(
Browser/Server
)结构即浏览器和服务器结构。它是随着
Internet
技术的兴起,对
C/S
结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过
WWW
浏览器来实现,极少部分事务逻辑在前端(
Browser
)实现,但是主要事务逻辑在服务器端(
Server
)实现,形成所谓三层
3-tier
结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(
TCO
)。
以目前的技术看,局域网建立
B/S
结构的网络应用,并通过
Internet/Intranet
模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如
LAN, WAN, Internet/Intranet
等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全
。特别是在
JAVA
这样的跨平台语言出现之后,
B/S
架构管理软件更是方便、快捷、高效。
第三、管理软件主流技术。
管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪
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
)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器
“
崩溃
”
等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。
3
,
C/S
与
B/S
区别
Client/Server
是建立在局域网的基础上的,
Browser/Server
是建立在广域网的基础上的。
(
1
)、硬件环境不同:
C/S
一般建立在专用的网络上,
小范围里的网络环境,
局域网之间再通过专门服务器提供连接和数据交换服务。
B/S
建立在广域网之上的,
不必是专门的网络硬件环境,例如电话上网,
租用设备,
信息自己管理,
有比
C/S
更强的适应范围,
一般只要有操作系统和浏览器就行。
(
2
)、对安全要求不同
C/S
一般面向相对固定的用户群,
对信息安全的控制能力很强。
一般高度机密的信息系统采用
C/S
结构适宜,可以通过
B/S
发布部分可公开信息。
B/S
建立在广域网之上,
对安全的控制能力相对弱,
面向是不可知的用户群。
(
3
)、对程序架构不同
C/S
程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。
B/S
对安全以及访问速度的多重的考虑,
建立在需要更加优化的基础之上。
比
C/S
有更高的要求,
B/S
结构的程序架构是发展的趋势,从
MS
的
.Net
系列的
BizTalk 2000 Exchange 2000
等,全面支持网络的构件搭建的系统。
SUN
和
IBM
推的
JavaBean
构件技术等,使
B/S
更加成熟。
(
4
)、软件重用不同
C/S
程序可以不可避免的整体性考虑,
构件的重用性不如在
B/S
要求下的构件的重用性好。
B/S
对的多重结构,要求构件相对独立的功能。
能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
(
5
)、系统维护不同
系统维护是软件生存周期中,开销大,相当重要
C/S
程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,
可能是再做一个全新的系统。
B/S
构件组成方面构件个别的更换,实现系统的无缝升级。
系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(
6
)、处理问题不同
C/S
程序可以处理用户面固定,并且在相同区域,
安全要求高的需求,与操作系统相关,
应该都是相同的系统。
B/S
建立在广域网上,
面向不同的用户群,分散地域,
这是
C/S
无法作到的,与操作系统平台关系最小。
(
7
)、用户接口不同
C/S
多是建立在
Window
平台上,表现方法有限,对程序员普遍要求较高。
B/S
建立在浏览器上,
有更加丰富和生动的表现方式与用户交流,
并且大部分难度减低,降低开发成本。
(
8
)、信息流不同
C/S
程序一般是典型的中央集权的机械式处理,交互性相对低。
B/S
信息流向可变化,
B
-
B
、
B
-
C
、
B
-
G
等信息流向的变化,
更象交易中心