Web数据库访问技术的研究

2022-09-11

随着Internet规模和用户的不断增加,Internet上的各种应用进一步得到开拓。Internet成为资源共享、数据通讯和信息查询的重要手段。数据库技术经过几十年的发展也日益成熟起来,丰富的数据模型和强大的数据管理功能,支持各类新的应用要求。Internet用户对信息的实时性、交互式、动态访问的需求日益增长。解决这一问题的方法之一就是将Web技术与数据库技术相互渗透,相互结合。

1 Web数据库体系结构

Web数据库系统是建立在浏览器/服务器(B/S)模型之上的。该模式在TCP/IP的支持下,以HTT P为传输协议,客户端通过Browse r访问WE B服务器以及与之相连的后台数据库。WWW浏览器负责信息显示与向服务器发送HTTP请求。Web服务器介于W eb浏览器与数据库服务器之间,负责接收用户服务,并作出响应。服务器将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据或将数据投递到数据库中。最后,服务器将返回结果插入到HTML页面,传送至客户端以响应用户。从而实现在Internet的环境下对数据库的访问操作。使得Internet中的信息更丰富、使用更简便。其体系结构如图1所示。

2 Web数据库访问技术

一般有三种方法:一种是基于Web的中间件技术,在这种结构下,有许多中间件方案可以选择,公共网关接口(CGI),Web应用程序编程接口(Web API),ASP,JSP,Java Servlet等。这种方法是采用Web服务器端提供中间件来连接Web服务器与数据库服务器,中间件完成对数据库的访问,结果再由Web服务器返回给客户端的浏览器。其工作流程如图2所示。

另一种是把应用程序下载到客户端并在客户端直接访问数据库,访问Web数据库的客户端方法主要包括:Java Applet,ActiveX,Plug-in等,其中最典型的就是Java Applet。其工作流程如图3所示。

第三种方式综合了以上两种方法,既在服务器端提供中间件,同时又将应用程序的一部分下载到客户端并在客户端通过Web服务器及中间件访问数据库。

以下将逐一介绍和分析Web环境下的数据库访问技术,并对其性能做比较。

2.1 基于Web的中间件技术

2.1.1 C G I的方法

CGI(Common Gateway Interface,通用网关接口)。CGI是Web服务器与外部应用程序之间的标准接口。CGI是最早的Web数据库连接技术,几乎所有的Web服务器都支持CGI。可以用任何语言编写CGI程序,如C、C++、Delphi、Java、VB、Perl等。CGI程序的主要作用在于扩展Web服务器的功能,实现Web服务器与数据库服务器的连接,充当Web服务器与数据库服务器之间的网关,通过Web发来的操作转化为对数据库的操作,然后将结果以Web浏览器可以识别的形式返回。完成和浏览器进行交互作用。

如一个CGI程序可从某数据库服务器中获取数据,转换成HTML文档后发送给浏览器,也可将由浏览器获得的数据存储到数据库服务器中。这样客户端用户就可以方便地和Web服务器进行交互,实现数据处理。

CGI的缺点:CGI的应用程序一般都是一个独立的可执行程序,与Web服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。每当有一个用户请求,就会激活一个CGI进程。当用户请求数量非常多时,大量的CGI程序就会大量挤占系统的资源,如内存、CPU时间等,造成CGI运行效率低下。CGI不提供状态管理功能,因而在Web服务器访问数据库过程中浏览器的每一次请求,都需要一个连接的建立与释放的过程,效率较低。极大的浪费服务器资源。另外CGI的功能有限、开发较为复杂,且不具备事务处理功能,这在一定程度上限制了它的应用。

2.1.2 基于服务器扩展的API

为了解决CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。专用服务器API方式中,最著名Microsof的ISAPI和Netscape公司NSAPI。服务器API方式以DLL(动态链接库)的形式存在,可以在被用户请求激活后长驻内存,等待用户的另一个请求,也可以在一个DLL里设置多个用户请求函数。此外,DLL应用程序与WWW服务器软件处于同一地址空间,每次调用时是在内存中运行相应的程序段,而不是像CGI那样需要启动新的进程,因此运行效率要高于CGI程序。是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。

与CGI相比,API在性能上得到了很大提高,API应用程序与Web服务器结合得更加紧密,占用的系统资源也相对较少,而运行效率显著提高,但开发API程序比开发CGI程序要复杂得多。由于API与其相应的WWW服务器紧密结合的特性,这些API只能工作在专用Web服务器和操作系统上。

2.1.3 ASP(Active Server Pages)

ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,利用它可以产生和执行动态的、互动的、高性能的WEB服务应用程序。

ASP属于ActiveX技术中的Server端技术。与在Client端的Script命令是由浏览器来解释执行实现动态网页的技术(如JavaApplet、VBScript、JavaScript等)不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器。

当浏览器向WebServer请求调用ASP文件时,就启动了ASP。Web Server开始调用ASP,将被请求的.asp文件从头读到底,执行每一个命令,然后动态生成一个HTML页面并送到浏览器。通过ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。

由于ASP是在服务器端解释执行,可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。

2.1.4 JSP(Java Server Page)

JSP是建立在Java体系上的,具有独立于平台,独立于服务器的特点。

Ja va是S un公司推出的一种面向对象的、分布式、移植性强、安全性高、稳定性好的程序设计语言,支持多线程控制,独立于平台的软件技术。

JDBC技术是Java Database Connectivity的缩写,它是JavaSoft公司设计的Java语言的数据库访问API。程序设计人员通过它可以方便的建立与数据库的连接,操纵数据库。

JS P综合了中间件和J av a的优点:前者的优点在于可以使程序访问异构的数据库,而不必对应用程序作出改动,后者的优点在于具有平台无关行,不需要为不同平台编写不同的应用程序。

JSP的工作方式为:客户端浏览器首先访问Web服务器,从Web服务器上下载Java小程序Applet的字节码文件,以及相关类和JDBC接口的字节码文件。然后和Web服务器脱离,Applet根据数据库服务器的地址、端口号、帐号和数据库服务器连接,进行交互操作。由于JSP技术有可操作性、可维护性、安全性、高效性等一系列优良特性,因此和其他中间件技术相比,有很大的优势。

2.1.5 Java Servlets

Jav a动态W eb技术的另一个重要分支是Java Servlets。Java Servlets是运行于Web服务器端的程序,能够象CGI脚本一样扩展Web服务器功能。它在初始化时装入Web服务器的存储空间,并成为服务器的一个组成部分。其工作过程是:当浏览器向服务器发出请求时,服务器将该请求传递给一个Servlet,该Servlet通过JDBC向数据库发出SQL请求并构造响应结果,然后通过服务器将结果传递回浏览器。

2.2 把应用程序下载到客户端在客户端直接访问数据库的方式

2.2.1 Java Applet

Java Applet,它的实现方式是通过Web浏览器把应用下载到客户端运行,在客户端直接访问数据库。其工作过程是:当Web浏览器从服务器上下载了包含有Java Applet的HTML页面时,如其中的JavaApplet调用了JDBC,则浏览器运行的Java Applet直接与指定的数据库建立连接,并向其提交SQL语句,Applet从数据库接受返回的结果并进行处理,将最后结果显示在浏览器上。

在客户机上运行Java Applet通过JDBC技术可以绕过Web服务器直接和数据库服务器连接,并直接把带有结果的HTML页返回客户机浏览器。

Ja va Ap ple t优点:体系结构中立,与平台和操作系统无关。动态运行,无须在用户端预先安装。当服务器端的Java Applet更新后,客户机端总是可以使用最新的版本。

2.2.2 Plug-in

Plug-in是由NetScape提出的标准,是一种接入浏览器程序的动态链接库(DLL),它采用了DLL方式,可以很好地解决与浏览器程序间的相互调用问题。

Plug-in作为网络能力的一种扩展,将大部分负荷加在浏览器程序上,这样就能正确地浏览很多数据类型,在浏览器端完成信息显示。特点是操作速度快,服务器和网络传输的负担轻。服务器仅需提供数据服务,网络只需将数据一次性传输。服务器的任务很少,网络传输的负担轻。

缺点:需要事先安装。用户如想使用,必须下载安装Plug-in程序。Plug-in与平台相关。不同的操作系统需要不同Plug-in。对于不同的Web浏览器,同样需要用相对应的Plug-in。如果用户准备使用多种数据类型,必须安装多个Plug-in程序。势必对管理带来压力。同时也占用占用客户端机器磁盘空间。更新困难。升级时,需要重新下载安装。

2.2.3 ActiveX

ActiveX是Microsoft为适应互联网而发展的标准。是为扩展Microsoft Web浏览器Internet Explore的功能而提供的公共框架。

ActiveX能被支持OLE标准的任何程序语言或应用系统所使用。IE浏览器可以作为容器,任何符合ActiveX标准的控件都可以嵌入到网页中,在浏览器中显示。

工作原理:Web浏览器发出请求;Web服务器接受到用户的请求,进行处理,并将用户所要的数据和ActiveX控件(第一次浏览时)传送给Web浏览器;ActiveX控件负责向Web服务器请求数据,并对数据进行处理,完成操作。

ActiveX控件安装的前提是必须经过用户的同意及确认。它具有Plug-in模式的所有优点。同时,ActiveX能被支持OLE标准的任何程序语言或应用系统使用,比Plug-in模式更灵活,使用更方便。

缺点:需要下载,占用客户端机器的磁盘空间。与平台相关,对不同的平台,必须提供不同的ActiveX控件。与浏览器相关ActiveX控件最初只适用于Microsoft Web浏览器。在其他浏览器使用时,须增加特殊的Pulg-in予以支持。存在信息安全隐患ActiveX具有访问客户端本地文件系统的能力,使得ActiveX可以具有强大的功能,但存在信息安全隐患。

3 结语

通过上面的介绍我们对不同的Web数据库技术实现方式和特点的了解。

则采用CGI方式服务器的负担重效率低,增加了网络传输的负担,但对各种平台兼容性好。

专用服务器API方式的优点是执行效率高,但其缺点就是与平台有关,一种专用服务器API程序只能在该种Web服务器上运行。

ASP由于是在服务器端解释执行,支持所有浏览器,编程逻辑不易被窃取。但是效率较低,且基本上只能运行于Microsoft的Windows系列平台之上,又限制了它的发展。

JSP与平台无关具有移植性强、安全性高、稳定性好、等众多优点。

Java Applet、Plug-in、ActiveX把应用程序下载到客户端并执行的方式,占用服务器的资源较少,服务器和网络传输的负担轻。但也有各自缺点,Plug-in与平台相关,移植性差。ActiveX控件体积过于庞大,用户浏览时进行下载速度较慢。支持ActiveX的平台还只限于Windows系列。

以上各种WEB数据库访问技术各有优缺点和适用领域。因此,在设计Web数据库应用方案时,应该根据实际环境要求选择合适的方法。

摘要:介绍了Web数据库体系结构及几种常见的WEB数据库技术的访问方法,并对它们的技术特点进行了详细的分析和比较。

关键词:web数据库,ASP,JSP

参考文献

[1] 邵佩英.分布式数据库系统及其应用[M].北京:科学出版社,2009:283~295.

[2] 葛平升.Web数据库技术应用研究与实现[D].西安:西北工业大学,2002:27~43.

[3] 皇祯平,王万诚.对几种Web数据库访问技术的分析与研究[J].控制工程,2003,10(3):230~232.

[4] 徐琨,刘志镜,来琳涵.Web数据库访问的中间件技术分析与研究[J].计算机工程与科学,2002,24(4):55~56.

[5] 催政.三种常用Web数据库技术应用对比分析[J].中国科技信息,2005(17):9.

[6] 朱智勇.数据库技术的研究进展[J].湖南科技学院学报,2007,28(4):64~65.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:对纳税人权利的保障下一篇:“互联网+”时代下企业的管理会计问题及应对措施