WEB数据库与中间件技术解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web数据库与中间件技术
随着Internet/Intrranet的兴起与发展,Web服务器与数据库服务器的连接显得越来越重要,许多厂家不断推出新技术、新产品,使得连接更加简洁、迅速和方便。Web与数据库连接技术已成为基于Web的信息管理系统的核心,为Internet上的电子商贸打下了基础。
一般来说,通过Web页实现对数据库访问,在整个系统中关键的技术是中间件的解决方案。
中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务。由于驻留在Web服务器上,因而中间件软件能够调用作为Web服务器和数据库服务器间"传输机制"的外部程序或"编码",并将执行查询等以HTML页面或纯文本的形式将信息返回给最终用户。数据库服务器负责管理驻留在数据库服务器中的数据。
一、当前几种流行的中间件的解决方案
1.通用网关技术(CGI)
CGI是一种Web站点上可以用来访问Web站点的用户交互的各种程序的标准,使用CGI脚本允许用户在浏览器中等服务器上的数据库交互,完成对数据库的各种操作。
几乎使用的服务器软件都支持CGI,开发者可以使用任何一种Web服务器内置语言编写CGI,包括Perl语言,C,C++,VB和Delphi等。
CGI的工作原理是浏览器通过Web页面的表单搜索参数,这些参数通过HTTP传递Web服务器,在服务器通过CGI脚本分析参数(命令行参数或环境变量),同时启动通路程序,把分析后的参数转化为SQL命令,交数据库服务器执行,然后CGI程序返回处理结果给Web服务器,最后向客户机返回HTML或纯文本格式的结果并断开连接。
CGI缺点是执行速度较慢,Web服务器每启动一个数据查询服务,就必须启动一个新的CGI 进程,相对服务器资源代价比较高。
2.ASP(Active Server Pages)
ASP是一种开放的,可以将HTML脚本及可重用的Active Server组件结合在一起以建立高效的动态的基于Web的应用程序环境,利用ASP,可以增加运行在服务器端的脚本的新特性,
如访问数据库。
ASP支持Active Server组件的使用,Active Server组件通过组件对象模型(COM)为ASP提供了可编程的界面,其中组件之一Active Data Object(ADO)提供了与数据库相连的机制。且使用ASP可以直接在HTML文件中包含可执行的脚本,HTML开发和脚本开发可以变为一个过程,而不象CGI、ISAPI以及其他方法一样,程序和HTML文件要求在不同的设计环境导致程序产生和修改困难。
3.应用编程接口(API)
鉴于CGI的一些缺陷,Microsoft和Netscape开发了专用的Web服务器中的程序代码(如动态链接库DLL),且一般与Web服务器软件处在内存的同一地址空间中,因此每次调用时是在内存中运行相应的程序段,而不是像CGI那样需要启动新的进程,因而效率要比CGI高得多。
API技术主要缺点是开发难度大,且可移植性差,开发出的应用程序只能在相应的Web服务器上运行,缺乏通用性。
为了减轻开发应用程序的困难,Netscape和Microsoft在其各自的服务器中提供了基于API 的编程接口。Netscape提供了基于NSAPI的Livewire,它是专门设计的全面开发方案,开发人员可以开发和管理WWW界面、WWW网点,并且可以利用SQL语句或ODBC直接访问数据库。Microsoft则提供了基于ISAPI的IDC模块,它是IIS的一个动态连接库(httpodbc.dll),并通过ODBC访问各类数据库。
4.JDBC技术
Java是一种简单、面向对象、易传送、稳固安全、多线程执行控制及3D空间设计的语言,它为Internet注入了交互性。Java支持数据库的访问,是因为SUN公司提供了一种标准的SQL访问数据库的Java语言应用程序编程接口(JDBC)。构成Java语言的基础是一系列类库,而JDBC正是定义了Java与数据库之间的接口类库(Java.sql包),它是Java语言中执行SQL 语句的API,它由一系列类和接口所组成,这些类和接口均是由Java语言写成的,通过它一个程序开发者可以在Java语言中建立与数据库的链接,执行SQL语句和处理SQL语句返回的结果。
采用JDBC很容易用SQL语句访问异构数据库,如通过JDBC API,只需编写一个JDBC API,
就可以把SQL查询语句送往Sybase,Oracle或Informix数据库,同时采用Java语言编写应用程序,具有平台无关性,不要为不同的平台编写不同的应用程序。
采用JDBC技术其工作方式为:客户端首先访问Web服务器,下载Java字节码文件,并将Applet相关类的字节码文件和JDBC接口字节码文件下栽到客户端,然后与Web服务器脱离,接着Applet根据数据库地址,端口号和帐号与数据库服务器连接进行交互,这样用户与数据库服务器的交互是由浏览器直接完成的。由于JDBC技术的可操作性、可维护性和安全性及事务处理能力、使用效率都比较高,因此具有很大的优势。
Java与数据库的连接机制与CGI和API有所不同,在客户机上运行Java Applet通过JDBC技术可以绕过Web服务器直接和数据库服务器连接,并直接把带有结果的HTML页返回客户机浏览器。
象ODBC一样,JDBC提供给程序员的编程接口是由两部分组成,一是面向应用程序的编程接口JDBC API,它是为应用程序员提供的,二是供底层开发的驱动程序接口JDBC Driver API,它是各个商业数据库厂商提供的。目前,JDBC已经得到了许多厂商的支持,包括Borland,IBM,Oracle和Sybase等公司,当前流行的大多数数据库系统都推出了自己的JDBC驱动程序。