- Web应用程序开发技术
- 姚骥 傅丽霞主编
- 2307字
- 2025-02-22 23:03:29
1.2 客户端/服务器模型
通常的网络程序设计采用的模型都为客户端/服务器模型,这种模式根据工作方式可分为C/S结构(Client/Server的简称,客户机/服务器模式)和B/S结构(Browser/Server的简称,浏览器/服务器模式)。
随着计算机技术的不断发展与应用,计算模式从集中式转向了分布式,典型的两层结构C/S模式在20世纪80年代及90年代初得到了大量应用,最直接的原因是可视化开发工具的推广。近年来,随着网络的技术不断发展,尤其是基于Web的信息发布和检索技术、Java计算技术,以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构从C/S结构向更加灵活的三层结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构。因为B/S结构是基于Web的,所以Web应用程序可以说都是B/S结构的。B/S方式其实也是一种客户机/服务器方式,只不过它的客户端是浏览器。为了区别于传统的C/S模式,才特意将其称为B/S模式。认识到这些结构的特征,对于系统的选型而言是非常关键的。下面就对这两种结构进行比较。
1.C/S模式的结构和工作原理
如图1.1所示为典型的二层C/S结构图。传统的C/S模式是一种两层结构的系统,它将应用一分为二,第一层是客户端执行应用程序、完成与用户的交互任务,第二层是通过网络结合了数据库服务器,负责数据管理。C/S模式主要由客户应用程序、服务器管理程序和中间件3个部分组成。开发这种模式的应用程序时,应同时开发客户端软件和服务器端软件。客户机软件由应用程序及相应的数据库连接程序组成,用来处理与用户的交互,而服务器软件是某种数据库系统,能根据客户机软件的请求进行数据库操作,然后将结果传送给客户机软件。服务器软件与客户机软件的通信是通过SQL语句实现的。

图1.1 二层C/S结构图
这种方式的应用大都是基于小型局域网的。这种方式的软件开发工作主要集中于客户机软件上,当系统软件开发完成以后,整个系统的安装也非常繁杂,既要在每一台客户机上都安装相应的应用程序,还必须安装相应的数据库连接驱动程序,且需要大量的系统配置工作。所以C/S的程序通常也称“胖客户端”,也就是一个程序的大部分功能都在客户端实现,而服务器端只实现一小部分功能。通过这点不难看出,C/S的程序大部分在客户端实现,对于服务器端的压力相对小一些,服务器端可以节省一些。但用户必须得到客户端程序才可以运行。
在C/S结构模式中,客户端有一套完整的应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。其次,C/S模式提供了更安全的存取模式。由于C/S配备的是点对点的结构模式,采用适用于局域网的形式,安全性可以得到可靠的保证。也由于C/S的二层逻辑结构使得程序的执行速度快,更利于处理大量数据。同时由于开发是针对性的,因此,操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。但缺少通用性,若业务发生变更,则需要重新设计和开发,增加了维护和管理的难度,进一步的拓展和移植困难非常大。
2.B/S模式的结构、工作原理和特点
B/S的程序通常也称“瘦客户端”,与C/S相反。B/S的程序大部分功能都要在服务器端实现,客户端只用来做辅助的控制功能。B/S应用程序最近大受欢迎,因为B/S的程序直接安装在服务器上。用户只需要有浏览器,并知道网址就可以使用程序。客户端不必做任何配置和安装,即可使用应用程序。
1)B/S模式的结构
B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,C/S结构已不能满足用户的需求而产生的一种新的结构。在这种结构下,客户端完全通过Web浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成三层结构,其结构如图1.2所示。B/S结构主要是利用了不断成熟的Web浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,相对于C/S结构把B/S结构称为“瘦客户端”结构,是一种全新的软件系统构造技术。随着将浏览器技术植入操作系统内部的兴起,这种结构更成为当今应用Web应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。

图1.2 典型的三层B/S结构图
2)B/S模式的工作原理
在B/S模式中,客户端运行浏览器软件。浏览器以超文本形式向Web服务器提出访问数据库的要求,Web服务器接受客户端请求后,将这个请求转化为SQL语句,并交给数据库服务器,数据库服务器得到请求后,验证其合法性,并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再一次将得到的所有结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的Web页面形式显示出来,如图1.3所示为B/S原理示意图。

图1.3 B/S原理示意图
3)B/S结构的特点
(1)系统开发、维护和升级的经济性。对于大型的MIS(管理信息系统),软件开发、维护与升级的费用是非常高的,B/S模式所具有的框架结构可以大大节省这些费用,同时,B/S模式对前台客户机的要求并不高,可以避免盲目进行硬件升级造成的巨大浪费。
(2)B/S模式提供了一致的用户界面。B/S模式的应用软件都是基于Web浏览器的,这些浏览器的界面都很相似。对于无用户交互功能的页面,用户接触的界面都是一致的,从而可以降低软件的培训费用。
(3)B/S模式具有很强的开放性。在B/S模式下,外部的用户都可通过通用的浏览器进行访问。
(4)B/S模式的结构易于扩展。由于Web的平台无关性,B/S模式结构可以任意扩展,可以从一台服务器、几个用户的工作组级扩展成为拥有成千上万用户的大型系统。
(5)B/S模式具有更强的信息系统集成性。在B/S模式下,集成了解决企事业单位各种问题的服务,而非零散的、单一功能的多系统模式,因而它能提供更高的工作效率。
(6)B/S模式提供灵活的信息交流和信息发布服务。B/S模式借助Internet强大的信息发布与信息传送能力,可以有效地解决企业内部大量不规则的信息交流。