Java Web程序设计(慕课版)
上QQ阅读APP看书,第一时间看更新

1.1 网络程序开发体系结构

41842-00-018-1

网络程序开发体系结构

随着网络技术的不断发展,单机的软件程序将难以满足网络计算的需要。为此,各种各样的网络程序开发体系结构应运而生。其中,运用最多的网络应用程序开发体系结构可以分为两种,一种是基于浏览器/服务器的B/S结构,另一种是基于客户端/服务器的C/S结构。下面进行详细介绍。

1.1.1 C/S体系结构介绍

C/S(Client/Server)即客户端/服务器结构。在这种结构中,服务器通常采用高性能的PC或工作站,并采用大型数据库系统(如Oracle或SQL Server),客户端则需要安装专用的客户端软件,如图1-1所示。这种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端和服务器,从而降低了系统的通信开销。在2000年以前,C/S结构占据网络程序开发领域的主流。

41842-00-018-2

图1-1 C/S体系结构

1.1.2 B/S体系结构介绍

B/S(Brower/Server)即浏览器/服务器结构。在这种结构中,客户端不需要开发任何用户界面,而统一采用如IE和火狐等浏览器,通过Web浏览器向Web服务器发送请求,由Web服务器进行处理,并将处理结果逐级传回客户端,如图1-2所示。这种结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本,是一种全新的软件体系结构。这种体系结构已经成为当今应用软件的首选体系结构。

41842-00-018-3

图1-2 B/S体系结构

说明

B/S由美国微软公司研发,C/S由美国Borland公司最早研发。

1.1.3 两种体系结构的比较

C/S结构和B/S结构是当今世界网络程序开发体系结构的两大主流。目前,这两种结构都有自己的市场份额和客户群。但是,这两种体系结构又各有各的优点和缺点,下面将从以下3个方面进行比较说明。

1. 开发和维护成本方面

C/S结构的开发和维护成本都比B/S高。采用C/S结构时,对于不同客户端要开发不同的程序,而且软件的安装、调试和升级均需要在所有的客户机上进行。例如,如果一个企业共有10个客户站点使用一套C/S结构的软件,则这10个客户站点都需要安装客户端程序。当这套软件进行了哪怕很微小的改动后,系统维护员都必须将客户端原有的软件卸载,再安装新的版本并进行配置,最可怕的是客户端的维护工作必须不折不扣地进行10次。若某个客户端忘记进行这样的更新,则该客户端将会因软件版本不一致而无法工作。而B/S结构的软件则不必在客户端进行安装及维护。如果我们将前面企业的C/S结构的软件换成B/S结构的,这样在软件升级后,系统维护员只需要将服务器的软件升级到最新版本,对于其他客户端,只要重新登录系统就可以使用最新版本的软件了。

2. 客户端负载

C/S的客户端不仅负责与用户的交互,收集用户信息,而且还需要完成通过网络向服务器请求对数据库、电子表格或文档等信息的处理工作。由此可见,应用程序的功能越复杂,客户端程序也就越庞大,这也给软件的维护工作带来了很大的困难。而B/S结构的客户端把事务处理逻辑部分交给了服务器,由服务器进行处理,客户端只需要进行显示,这样,将使应用程序服务器的运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

3. 安全性

C/S结构适用于专人使用的系统,可以通过严格的管理派发软件,达到保证系统安全的目的,这样的软件相对来说安全性比较高。而对于B/S结构的软件,由于使用的人数较多,且不固定,相对来说安全性就会低些。

由此可见,B/S相对于C/S具有更多的优势,现今大量的应用程序开始转移到应用B/S结构,许多软件公司也争相开发B/S版的软件,也就是Web应用程序。随着Internet的发展,基于HTTP协议和HTML标准的Web应用呈几何数量级增长,而这些Web应用又是由各种Web技术所开发。