1.4 网络程序开发体系结构
随着网络技术的不断发展,单机的软件程序难以满足网络计算的需要,各种网络程序开发体系结构应运而生。其中运用最多的网络应用程序开发体系结构可以分为基于客户端/服务器的C/S结构和基于浏览器/服务器的B/S结构。
1.4.1 C/S结构
在C/S结构中服务器通常采用高性能的PC或工作站,并采用大型数据库系统(如Oracle或SQL Server);客户端则需要安装专用的客户端软件,如图1-14所示。这种结构可以充分利用两端硬件环境的优势,将任务合理地分配到客户端和服务器,从而降低了系统的通信开销。在2000年以前,该结构占据网络程序开发领域的主流。
1.4.2 B/S结构
在B/S结构中客户端不需要开发任何用户界面,而统一采用IE或火狐等浏览器。通过Web浏览器向Web服务器发送请求,由Web服务器处理并将处理结果逐级传回客户端,如图1-15所示。
图1-14 C/S体系结构
图1-15 B/S体系结构
这种结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本。作为一种全新的软件体系结构,已经成为当今应用软件的首选体系结构。
学习手册提示
B/S由微软公司首次推出,C/S由Borland公司最早研发成功。
1.4.3 B/S与C/S的区别
C/S和B/S结构是当今世界网络程序开发体系结构的两大主流,目前二者都有自己的市场份额和客户群,其优点和缺点如下。
(1)开发和维护成本
C/S结构的开发和维护成本都比B/S高,采用这种结构必须为不同客户端开发不同的程序,而且软件的安装、调试和升级均要在所有的客户端上完成。例如,如果一个企业共有10个客户端使用一套C/S结构的软件,则都需要安装客户端程序。当这套软件进行即使微小的改动后,系统维护员都必须卸载客户端原有的软件,然后安装新的版本并配置,维护工作必须进行10次。而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技术开发。