1. 提高了性能和可伸缩性。客户直接连接后台的服务器,因后台服务器上可能存在多种数据库管理系统,使前台的连接与培植复杂化。中间层的设定,使客户机能瘦下来,又不完全增加后台数据库管理系统的负担。使任一客户机、中间层、后台服务器形成了如图(4-2)的结构
2. 可以根据整个系统的负载情况,增减中间层与后台服务器的数量,这样就大幅度提高了系统的性能和可伸缩性。
3. 提高了可靠性。多个WEB SERVER 分布在多个机器上避免了单点失败,连接的失败服务器对象上的客户可以被透明地重新连接到正常运行的服务对象上,从而提高了关键应用的可靠性。
4. 提高了可管理性。对瘦客户机的安装和培植也相应变的简单,在浏览器中一行的程序也不需编写,下载后就可以使用,而使管理都集中在WEB SERVER 和后台服务器上。
5. 提高了灵活性和开发效率。综合查询的应用程序都存放在WEB SERVER 上,不必为每个平台开发专门的客户机程序。服务器对象可以根据事物处理规则的变化很快作出修改,不用对客户端做变化。
4.2.2 几种接口技术的比较
WEB与数据库的集成并不是新的技术,早在WEB诞生的初期,就可以利用通用网关接口(CGI)动态地访问企业数据库。随着应用普及,WEB服务器与数据库服务器的连接显得越来越重要,许多厂商不断地推出新的接口技术,使的这种连接更加简洁、方便和高效。
现在我们来比较一下几种目前广泛应用的接口技术的各自的特点,以阐述我的方案的优势所在。
1. 通用网关接口技术(CGI)
WEB浏览器输入的协同工作数据,完成客户端与服务器的交互工作,扩展服务器的功能,完成服务器本身不能完成的工作。外部程序执行时可以生成HTML文挡,并将文档返回WEB服务器。
CGI应用程序能够与浏览器进行交互作用;还可以通过数据库的API与数据库服务器等外部数据源进行通信。如一个CGI程序可以从数据库服务器中获得数据,然后格式化为HTML文档后发送给浏览器,也可以从浏览器获得数据放到数据库中。这样,客户端的用户就可以用WEB服务器进行数据处理。几乎所有的服务器软件都支持CGI,开发者可以使用任一种WEB服务器内置语言编写CGI语句,其中包括广围流行的PERL语言、C、C++ 、VB、DELPHI等。
按照数据通信方式的不同,CGI可以分为标准CGI和缓冲CGI。所有的WEB服务器均支持标准CGI,按标准CGI编写的程序与具体的WEB服务器无关。而按缓冲CGI编写的程序与具体的WEB服务器有关。
标准CGI
标准CGI使用命令行参数或环境变量来表示服务器的请求信息,服务器与浏览器间的数据通信采用标准I/O方式。如图(4-3)所示
当客户端的用户完成了输入后,向WEB服务器发出HTTP请求(即CGI请求),服务器守护进程接到该请求后,对该请求进行分析,设置所需的命令行参数或环境变量,然后创建一个子进程启动RUL指定的CGI程序,在外部CGI程序与服务器间I/O通道,并与该子进程保持同步,以监测CGI程序的运行状态。。子进程通过标准输出将执行结果返回给服务器守护进程,守护进程再将处理结果作为应答消息回到客户端。CGI可以输出很多类型,如HTML文档、图象、纯文本或声音等。
数据库服务器
环境变量
WEB客户端 (浏览器)
命令行参数
。。。。
标准输入
图4-3
缓冲CGI
缓冲CGI 也称为间接CGI或WIN CGI 。此时,CGI扩展程序与服务器间通过缓冲CGI(称为缓冲区)而不是标准的CGI接口进行通信,但缓冲CGI与服务器间的通信还是通过标准CGI接口,由WEB服务器的内置缓冲处理程序实现。
虽然CGI大大扩充了Web 的应用范围,但这种技术也存在以下不足:
1. 缺乏平台无关性。CGI 是用c,Perl,Shell 等语言编写,所以无法作到一次编写到处运行,这无形中将增加以后的投入;
2. 运行性能交差。 当它每次接收到用户的请求时,将产生一个新进程,通常启动时间较长,但当处理完请求时,却不在内存中保留这个进程,所以,当接受到一个新的请求时,仍将化很长的时间用于启动,哪怕是同一个请求。在多用户环境中,这显然会给服务器增加很大的负担,降低运行性能。
另外还有安全性和CGI 之间通讯差的问题,而采用用JAVA构造的小服务器却可以克服这些缺点。
2.WEB服务器应用编程接口(API)
有些WEB服务器软件厂商针对CGI运行效率低下、编程困难等缺点,开发了各自的服务器API(APPLICATION PROGRAMMING INTERFACE),试图克服CGI性能方面的缺陷。
MICROSOFT 的IDC
IDC模块是IIS的一个动态连接库(DLL),它通过ODBC(开放数据库连接)访问各类数据库,它使得WEB页面中包含由数据库信息。可以由用户在页面上输入信息来插入、修改和删除数据库中的信息,允许由SQL命令来操作数据库。图(4-4)是通过IDC访问数据库的示意图,这是WEB服务器端的结果,其中的HTTPODBC.DLL就是IDC模块。
IDC 使用了两类文件:IDC脚本文件(.IDC)和HTML模板文件(.HTX)。
IDC的工作原理是:当WEB服务器IIS对由浏览器送过来的RUL字符串作出反应时,如果该字符串以 .IDC结束,IIS 就知道这是个IDC请求,将其传给IDC模块,IDC依次读取脚本文件并同数据库服务器交互.IDC模块从数据库得到结果后,就用模板文件( .HTX)格式化结果,得到一个时际的HTML文档,然后将该文档传送给WEB服务器IIS,由IIS负责将HTML文档返回给浏览器。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>