目录
一、C/S架构及其背景
二、C/S架构的优点
三、C/S架构的缺点
四、C/S架构应用
一、C/S架构及其背景
C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。
C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。
客户端和服务器直接相连,这两个组成部分都承担着重要的角色,第一层的客户机并不是只有输入输出,运算等能力,它可以处理一些计算,数据存储等方面的业务逻辑事务;第二层的服务器主要承担事务逻辑的处理,本来事务很重,但是由于客户机可以分担一些逻辑事务,所以减轻了服务器的负担,使得网络流量增多。
想要使用C/S架构的软件需要下载一个客户端,安装后就可以使用。
二、C/S架构的优点
C/S架构既然能在计算机历史的长河中长盛不衰就必然有其闪光之处。下面将从各个角度分析C/S架构的优点。
1)客户端和服务器直接相连
a)点对点的模式使得更安全。
b)可以直接操作本地文本,减少获取文本的时间和精力。
c)由于直接相连,减少了通信流量,这对于客户来说可以节约一大笔费用。
d)直接相连,中间没有什么阻隔或岔路,所以响应速度快。当通信量少的时候没什么感觉,但是如果通信量庞大,就不会出现拥堵的现象。
2)客户端可以处理一些逻辑事务
a)充分利用两者的硬件设施,避免资源的浪费。
b)为服务器分担一些逻辑事务,可以进行数据处理和数据存储。可以处理复杂的事务流程。
c)客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
3) 客户端操作界面
a)可以提高客户的视觉体验,满足客户需求。
b)客户端操作界面可以随意排列,充分满足客户的需要,展现特点与个性。
三、C/S架构的缺点
经过长期的时间检验,人们也发现了C/S存在的不足,下面将前人的观点整理总结一下。
1)客户端
a)只能处理一些功能单一的多系统。
b)C/S架构适用于局域网,对网速的要求比较高。
c)由于需要安装客户端,安装部署困难,所以不易扩展。
d)若客户端使用的系统不同,就要针对这些系统分别编写程序。
e)客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写。
f)客户端需要专门的客户端程序,比较麻烦,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
2)服务器
a)用户数增多会出现通信拥堵,服务器响应速度慢等情况。
b)当服务器难当大任时,只能将其废弃,使用更强大的服务器。
c)当客户端用户增多时,服务器难以承担重负,是名副其实的“胖”客户端。
d)用户是通过ODBC连接到数据库的,且每个连接到数据库的用户都会保持一个ODBC连接,会一直占用中央服务器的资源,对服务器的要求很高。
3)用户
1)没有安装客户端的外部用户不能访问。
2)只有安装了客户端才能访问服务器,所以用户不能随时随地的访问。
3)用户是通过ODBC(开放数据库互联)连接到数据库的,所以用户数受限,不易扩张。
4)由于针对小范围的客户,所以不能实现真正大范围的信息共享,信息传达和发布。
5)需要聘用高素质的人员,对其培训,费用高。
6)初次开发就需要配备好客户端,服务器,需要有专业水准的技术人员,所以成本高。
7)系统升级维护麻烦,需要更改大量程序,投入大量精力和金钱。
8)业务扩展或变更时,需要更改程序,客户端的界面也需要重新更改。
9)初次投入成本后不能一劳永逸,后期需要很多成本,比如服务器的更换,客户端的更变等。
四、C/S架构应用
C/S架构的软件是在是数不胜数,从办公的OFFICE,WPS,WINRAR到杀毒软件如金山,瑞金再到我们的娱乐软件,如播放器,QQ,微信等,无处不见C/S架构。