分享
 
 
 

Web数据库技术介绍

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一、引言

Internet网是目前全球最大的计算机通信网,它遍及全球几乎所有的国家和地区。WWW系统是一个大型的分布式超媒体信息数据库,它极大地推动了Internet的发展,已经成为Internet中最流行、最主要的信息服务方式。它能够把各种类型的信息资源,如静态图象、文本、数据、视频和音频有机地结合起来,使用户能够在Internet上浏览、查询和共享建立在WWW服务器所有站点上的超媒体信息。目前Web技术与数据库管理系统(DBMS)相互融合领域的研究已成为热点方向之一,数据库厂家和WEB公司也纷纷推出各自的产品和中间件支持Web技术和DBMS的融合,将两者取长补短,发挥各自的优势,使用户可以在Web浏览器上方便地检索数据库的内容。所谓Web数据库管理系统是指基于Web模式的DBMS的信息服务,充分发挥DBMS高效的数据存储和管理能力,以Web这种浏览器/服务器(B/S)模式为平台,将客户端融入统一的Web浏览器,为Internet用户提供使用简便、内容丰富的服务。Web数据库管理系统必将成为Internet和Intranet提供的核心服务,为Internet上的电子商务提供技术支持。

二、通过WWW访问数据库的优点

数据库应用的一个重要方面就是对数据的访问,但是许多数据库系统目前提供的访问方式,或是一个字符方式的查询界面,或是通过编程方式实现,无论哪种方式都较难使用,近年来发展的一些RAD(Rapid Application development)工具,如VB、Delphi、PowerBuilder等可以方便地开发一些图形界面的访问数据库软件,但是这样的开发工具需要使用者具有编程技术,并且开发的程序不能跨平台运行。而且用RAD工具开发的软件,随用户需求的改变,可能需要增添新的功能或在界面上做一些改动。如果开发的软件使用范围比较广泛的话,那么软件的更新将是一项很大的工作。而Internet技术的发展,则使上述问题有了解决的办法,如果建立了WWW服务器,就可以通过WWW服务器实现对数据库的访问,上面提到的问题也就都可以解决了。

与传统方式相比,通过WWW访问数据库的优点在于:

1.借用现成的浏览器软件,无需开发数据库前端:如果能够通过WWW来访问数据库,我们就不需要开发客户端的程序,使用的数据库应用都可以通过浏览器来实现,界面统一,也减少了批培训费用,能使广大用户很方便地访问数据库信息。

2.标准统一,开发过程简单:HTM L是WWW信息地组织方式,是一种国际标准,使用的WWW服务器与 榔骶裱飧霰曜肌J褂肏TML标准,开发者甚至只需学习HTML一种语言,使用者只需学习一种界面--浏览器界面。

3.交叉平台支持:几乎在各种操作系统上都有现成的浏览器可供使用,为一个WWW服务器书写的HTML文档,可以被所有平台的浏览器所浏览,实现了跨平台操作。

三、传统的Web数据库系统体系结构

传统的Web数据库系统如图1所示。一般实现Web数据库系统的连接和应用可采取两种方法,一种是在Web服务器端提供中间件来连接Web服务器和数据库服务器,另一种是把应用程序下载到客户端并在客户端直接访问数据库。中间件负责管理Web服务器和数据库服务器之间的通信并提供应用程序服务,它能够直接调用外部程序或脚本代码来访问数据库,因此可以提供与数据库相关的动态HTML页面,或执行用户查询,并将查询结果格式化成HTML页面。通过Web服务器返回给Web浏览器。最基本的中间件技术有通过网关接口CGI和应用程序接口API两种。

(一)、基于通用网关接口CGI

CGI是WWW服务器运行时外部程序的规范,按照CGI编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时间可以生成HTML文档,并将文档返回WWW服务器。CGI应用程序能够与浏览器进行交互作用,还可以通过数据库的API与数据库服务器等外部数据源进行通信,如一个CGI程序可以从数据库服务器中获取数据,然后格式化为HTML文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。几乎使用的服务器软件都支持CGI,开发人员可以使用任何一种WWW服务器内置语言编写CGI,其中包括流行的C、C++、VB和Delphi等。

从体系结构上来看,用户通过Web浏览器输入查询信息,浏览器通过HTTP协议向Web服务器发出带有查询信息的请求,Web服务器按照CGI协议激活外部CGI程序,由该程序向DBMS发出SQL请求并将结果转化为HTML后返回给Web服务器。再由Web服务器返回给Web浏览器。这种结构体现了客户/服务器方式的三层模型,其中Web服务器和CGI程序实际起到了HTML和SQL转换的网关的作用。CGI的典型操作过程是:分析CGI数据;打开与DBMS的连接;发送SQL请求并得到结果;将结果转化为HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。

基于Web的数据库访问利用已有的信息资源和服务器。其访问频率大,尤其是热点数据。但其主要的缺点是:①客户端与后端数据库服务器通信必须通过Web服务器,且Web服务器要进行数据与HTML文档的互相转换,当多个用户同时发出请求时,必然在Web服务器形成信息和发布瓶颈。②CGI应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时;③CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程序正在运行,也会启动另一个CGI应用程序,随着并行请求的数量增加,服务器上将生成越来越多的进程。为每个请求都生成进程既费时又需要大量内存,影响了资源的使用效率,导致性能降低并增加等待时间;④由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维护困难;⑤安全性差,缺少用户访问控制,对数据库难以设置安全访问权限;⑥HTTP协议是无状态且没有常连接的协议,DBMS事务的提交与否无法得到验证,不能构造Web上的OLTP应用。

(二)、基于服务器扩展的API

为了克服CGI的局限性,出现的另一种中间件解决方案是基于服务器扩展API的结构。与CGI相比,API应用程序与Web服务器结合得更加紧密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保护和安全性。

服务器API一般作为一个DLL提供,是驻留在WWW服务器中的程序代码,其扩展WWW服务器的功能与CGI相同。WWW开发人员不仅可以API解决CGI可以解决的一切问题,而且能够进一步解决基于不同WWW应用程序的特殊请求。各种API与其相应的WWW服务器紧密结合,其初始开发目标服务器的运行性能进一步发掘、提高。用API开发的程序比用CGI开发的程序在性能上提高了很多,但开发API程序比开发CGI程序要复杂得多。API应用程序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错误处理等。目前主要的WWW API有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI开发的程序性能要优于用CGI开发的程序,这主要是因为ISAPI应用程序是一些与WWW服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。而NSAPI同ISAPI一样,给WWW开发人员定制了Netscape WWW服务器基本服务的功能。开发人员利用NSAPI可以开发与WWW服务器的接口,以及与数据库服务器等外部资源的接口。

虽然基于服务器扩展API的结构可以方便、灵活地实现各种功能,连接所有支持32位ODBC的数据库系统,但这种结构的缺陷也是明显的:①各种API之间兼容性很差,缺乏统一的标准来管理这些接口; ②开发API应用程序也要比开发CGI应用复杂得多; ③这些API只能工作在专用Web服务器和操作系统上。

(三)、基于JDBC的Web数据库技术

Java的推出,使WWW页面有了活力和动感。Internet用户可以从WWW服务器上下载Java小程序到本地浏览器运行。这些下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。而最初的Java语言并没有数据库访问的功能,随着应用的深入,要求Java提供数据库访问功能的呼声越来越高。为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指定了JDBC,作为Java语言的数据库访问API。

采用JDBC技术,在Java Applet中访问数据库的优点在于:直接访问数据库,不再需要Web数据库的介入,从而避开了CGI方法的一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性;JDBC是支持基本SQL功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,为跨平台跨数据库系统进行直接的Web访问提供了方案。从而克服了API方法一些缺陷;同时,可以方便地实现与用户地交互,提供丰富的图形功能和声音、视频等多媒体信息功能。

JDBC是用于执行SQL语句的Java应用程序接口API,由Java语言编写的类和接口组成。Java是一种面向对象、多线程与平台无关的编程语言,具有极强的可移植性、安全性和强健性。JDBC是一种规范,能为开发者提供标准的数据库访问类和接口,能够方便地向任何关系数据库发送SQL语句,同时JDBC是一个支持基本SQL功能的低层应用程序接口,但实际上也支持高层的数据库访问工具及API。所有这些工作都建立在X/Open SQL CLI基础上。JDBC的主要任务是定义一个自然的Java接口来与X/Open CLI中定义的抽象层和概念连接。JDBC的两种主要接口分别面向应用程序的开发人员的JDBC API和面向驱动程序低层的JDBC Driver API。JDBC完成的工作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。

基于JDBC的Web数据库结构其缺陷在于:只能进行简单的数据库查询等操作,还不能进行OLTP;安全性、缓冲机制和连接管理仍不完善;SUN承诺的完全跨[平台跨数据库系统的功能和标准远未实现。

四、几种Web数据库连接方式的比较

对CGI、API和JDBC三种访问数据库的技术可以从不同的侧面进行比较。如下表所示:

CGI

API

JDBC

编程复杂性

复杂

复杂

中等

对程序员的要求

中等

开发时间

中等

可移植性

较好

CPU的负载

较低

较低

如何将Web技术和DBMS相结合,研究和开发出具有OLTP功能的动态Web数据库系统已经成为目前的Internet和数据库技术热点研究领域的交叉点。传统的Web数据库系统都有着自己不同的缺点,唯有充分利用基于组件和分布式对象技术的优势将Web技术和DBMS紧密结合,开发出具有扩展性强、易于维护、效率高的特点,同时提供跨平台的操作性和能访问异构数据库系统的支持的Web连接体系结构及技术,才能真正实现Web数据库的灵活方便应用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有