开发技术与开发工具,B/S与C/S结构的对比
2.1.2 B/S与C/S结构的对比
虽然C/S结构比起更早的文件服务器来说,已经有了很大的进步,但是相比较于B/S(Browser/Sever)结构的话它有着非常明显的缺点和不足的地方。
首先,B/S比起C/S它利用了三层结构模式的应用系统结构极大的减少了软件的维护工作量。因为C/S结构自身的原因导致了每一个用户端都需要安装一特定的套软件才能运行。如果在一个中型企业中有88个用户端需要使用C/S结构软件的话,那就需要安装88个本地客户端,这只是软件初期的使用。当该C/S结构的某软件需要版本升级之后,那大麻烦就来了。软件维护管理员首先需要更新服务器版本,然后要重新卸载88个本地用户端之后再安装一遍新客户端。假若某用户拒绝重新卸载安装客户端,那么他将无法继续使用该软件,这是一个非常糟糕的用户体验。而假如软件使用了B/S(Browser/Sever)结构的话这些麻烦将统统消失,系统维护管理员只需要把服务器端的软件更新到最新版本就可以了,其他客户端只需要重新登录浏览器再次加载就能用到最新的软件版本,不需要重复的卸载安装,这对用户体验是一个很好的提升。甚至如果使用阿贾克斯技术实现网页异步更新的话,都不需要重新加载就能更新某部分的信息。
其次,B/S结构相对于C/S结构能够有效的降低软件运行环境的需求, 因为一般来说C/S结构的软件都是用二层结构的模式,而B/S结构的软件都用三层模式的系统。在二层结构中,当用户想客户端下达请求指令后,客户端再向服务器发出请求,服务器数据库再把数据反馈给客户端,最后通过客户端来计算服务器反馈的结果,计算完成后呈现给用户。所以在二层结构的软件下,本地的客户端通过运算来把结果反馈给用户,因此对客户端的电脑配置有一定的要求。而在三层结构的软件下,客户端收到用户发出的指令后,客户端向服务器发出请求,应用服务器从数据库里获取数据后直接将数据进行相关运算,应用服务器把计算结构反馈给客户端,客户端最后把结果呈现给用户。在三层结构的软甲里客户端本身并不参与运算只负责指令的发送以及结果的呈现,所以对计算机配置的需求很低,用户不会因为配置的原因无法获得很好的体验。从另外一个网络资源占用方面来看:因为B/S结构的软件从应用服务到客户端只是传递了最终的结果所需占用的网络资源非常的少;而C/S结构需要传输的数据量相对而言非常的大,如果大量客户端同时进行大量数据传输的话对网络状况也有一定的要求。从数据安全方面而言,因为C/S结构的特性有时候需要使用多个服务器,数据就需要在多个服务器中同步,安全性也就因此大大降低;B/S结构软件的客户端不储存任何的数据,所有的数据都放在数据库服务器中,因为安全性得到很好的保障。
C/S结构自身也具有一定的特点,下面简单介绍一下C/S和B/S自身的特点:
C/S 结构:①运用Intranet技术占用网络资源较多适用于局域网环境或者网速较快的宽带用户;②同时可连接的用户数量有一定的限制,当用户数量增多时,软件性能会有所下降;③基本都是仅建立在Windows平台的基础上,表现方法也十分有限,对程序员要求比较高;④程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统;⑤作为一个版本必须一个个客户端更新过来的软件,它的用户并不能了解实时数据,用户看到的都是事发之后很久的数据;⑥也是特洛伊木马的主要连接方式。⑦C/S结构的软件因为整体性的关系,当软件出现比较复杂的问题后系统升级困难,很可能需要重新制作一个新的系统。
B/S结构:①运用Internet/Intranet技术对于网络资源占用非常少适用于广域网环境;②能根据访问量实时动态地配置web服务器来保证性能来支持多用户的访问;③建立在浏览器上, 能够很好的和用户进行交流很好的提升了用户提升, 并且大大的减少了开发成本,维护难度也因此降低;④建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 对操作系统平台的要求基本没有;⑤数据实时性方面非常的不错,无需手动更新软件的版本,甚至使用阿贾克斯技术后能够实现异步更新都不需要重新加载就能更新数据;⑥B/S结构的软件由构件组成,构件的更换非常方便,软件需要升级更新只要更换个别构件就可以,因此极大的降低了软件维护的费用。
C/S架构和B/S架构是当今世界开发模式技术架构的两大主流技术。C/S最早由美国Borland公司研发,而B/S是由美国微软公司研发。目前,这两项技术已被世界各国所掌握,我国国内公司以C/S和B/S技术开发出的产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群忠实用户为自己所选的架构摇旗呐喊,对选择的架构技术各执一词,在这两个技术的选择上可谓是仁者见仁,智者见智。
在实际应用中,C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++语言在windows环境下编写的程序肯定是不能在linux的环境下跑的。而B/S架构的模式就不同了,它不需要专门的运行环境,只需要有应用浏览器,而浏览器是伴随这操作系统就带有的,BS架构在便携性上的优势是无可厚非的了。并且,B/S架构是基于网页语言的,操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步,B/S在表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。例如在HTML5的应用中,其在图形的渲染方面以及音频、文件的处理的功能上体现出非常强大的能力。
C/S架构软件对于应用服务器运行数据负载要求较低:最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序,二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求。客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求;服务器程序根据预定的规则做出应答,送回结果,因此应用服务器运行数据的负载要求较低。
B/S架构最大的有点就是操作及使用非常方便:可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
严格意义上来说,B/S架构是C/S架构的一种类型。