Web数据库系统(3)

上传人:博****1 文档编号:563564391 上传时间:2022-07-18 格式:DOCX 页数:5 大小:18.76KB
返回 下载 相关 举报
Web数据库系统(3)_第1页
第1页 / 共5页
Web数据库系统(3)_第2页
第2页 / 共5页
Web数据库系统(3)_第3页
第3页 / 共5页
Web数据库系统(3)_第4页
第4页 / 共5页
Web数据库系统(3)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Web数据库系统(3)》由会员分享,可在线阅读,更多相关《Web数据库系统(3)(5页珍藏版)》请在金锄头文库上搜索。

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

2、I两种。1、基于公共网关接口 CGICGI( Common Gateway Interface ,公共网关接口),是 Web 服务器运行时 外部程序的规范。按照 CGI 编写的程序,可以扩展服务器的功能,完成服务器 本身不能完成的工作。外部程序执行时间可以生成 HTML 文档,并将文档返回 Web 服务器。 CGI 应用程序能够与浏览器进行交互作用,还可以通过数据库的 API 与数据库服务器等外部数据源进行通信。例如,一个 CGI 程序可以从数据 库服务器中获取数据,然后格式化为 HTML 文档后,发送给浏览器;也可以将 从浏览器获得的数据放到数据库中。几乎使用的服务器软件都支持CGI,开发

3、人员可以使用任何一种Web服务器内置语言编写CGI;其中包括流行的C、 C+、VB 和 Delphi 等。从体系结构上来看,用户通过 Web 浏览器输入查询信息,浏览器通过 HTTP协议向Web服务器发出带有查询信息的请求;Web服务器按照CGI协议 激活外部 CGI 程序,由该程序向 DBMS 发出 SQL 请求,并将结果转化为 HTML 后返回给 Web 服务器;再由 Web 服务器返回给 Web 浏览器。这种结构 体现了客户机服务器模式的三层结构。其中, Web 服务器和 CGI 程序实际起 到了 HTML 和 SQL 转换的网关的作用。 CGI 的典型操作过程是:分析 CGI 数 据;

4、打开与 DBMS 的连接;发送 SQL 请求并得到结果;将结果转化为 HTML;关闭DBMS的连接;将HTML结果返回给Web服务器。基于 Web 的数据库访问,利用已有的信息资源和服务器。其访问频率大, 尤其是热点数据。但是,其主要缺点是: 、客户端与后端数据库服务器通信必须通过Web服务器,而且Web服 务器要进行数据与 HTML 文档的互相转换。当多个用户同时发出请求时,必然 在 Web 服务器形成信息和发布瓶颈。 、 CGI 应用程序每次运行都需打开和关闭数据库连接,效率低,操作费时。 、CGI应用程序不能由多个客户机请求共享,即使新请求到来时CGI程 序正在运行,也会启动另一个 CG

5、I 应用程序;随着并行请求的数量增加,服务 器上将生成越来越多的进程。为每个请求都生成进程,既费时又需要大量内 存,影响了资源的使用效率,导致性能降低并增加等待时间。 、由于SQL与HTML差异很大,CGI程序中的转换代码编写繁琐,维 护困难。 、安全性差,缺少用户访问控制,对数据库难以设置安全访问权限。 、 HTTP 协议是无状态且没有常连接的协议, DBMS 事务的提交与否无 法得到验证,不能构造 Web上的OLTP (On-Line Transaction Processing,联机(在线)事务处理)应用。2、基于服务器扩展的应用程序接口 API为了克服CGI的局限性,出现的另一种中间件

6、解决方案是基于服务器扩展 的应用程序接口 API。与CGI相比,API应用程序与Web服务器结合得更加紧 密,占用的系统资源也少得多,而运行效率却大大提高,同时还提供更好的保 护和安全性。服务器API 一般作为一个DLL提供,是驻留在Web服务器中的程序代 码,其扩展Web服务器的功能与CGI相同。Web开发人员不仅可以用API解 决CGI可以解决的一切问题,而且能够进一步解决基于不同Web应用程序的 特殊请求。各种API与其相应的Web服务器紧密结合,其初始开发目标服务器 的运行性能进一步发掘、提高。用API开发的程序,比用CGI开发的程序在性 能上提高了很多;但是开发API程序比开发CGI

7、程序要复杂得多。API应用程 序需要一些编程方面的专门知识,如多线程、进程同步、直接协议编程以及错 误处理等。目前主要的 Web API有:Microsoft公司的ISAPI、Netscape公司的 NSAPI和OReily公司的WSAPI等。使用ISPAI开发的程序性能要优于用CGI 开发的程序。这主要是因为,ISAPI应用程序是一些与Web服务器软件处于同 一地址空间的DLL。因此,所有的HTTP服务器进程能够直接利用各种资源, 这显然比调用不在同一地址空间的CGI程序语句要占用更少的系统时间。而 NSAPI同ISAPI 一样,给Web开发人员定制了 Netscape (网景)Web服务器

8、基 本服务的功能。开发人员利用NSAPI可以开发与Web服务器的接口,以及与 数据库服务器等外部资源的接口。虽然基于服务器扩展的API可以方便、灵活地实现各种功能,连接所有支 持32位ODBC的数据库系统,但是这种结构的缺陷也是明显的: 、各种API之间兼容性很差,缺乏统一的标准来管理这些接口; 、开发API应用程序也要比开发CGI应用复杂得多; 、这些API只能工作在专用Web服务器和操作系统上。链接:DLLDLL (Dynamic Link Library,动态链接库)。在 Windows中,许多应用程 序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库, 即DLL文件,放

9、置于系统中。链接:ODBCODBC(Open Database Connectivity,开放数据库互连),是微软公司的开 放服务结构(Windows Open Services Architecture, WOSA)中有关数据库的一 个组成部分。它建立了一组规范,并提供了一组对数据库访问的标准 API (应 用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提 供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。3、基于JDBC的Web数据库技术Java的推出,使Web页面有了活力和动感。Internet用户可以从Web服务 器上下载Java小程序到本地浏览器

10、运行。这些下载的Java小程序就像本地程序 一样,可独立地访问本地和其他服务器资源。而最初的Java语言并没有数据库 访问的功能;随着应用的深入,要求Java提供数据库访问功能的呼声越来越 高。为了防止出现对Java在数据库访问方面各不相同的扩展,JavaSoft公司指 定了 JDBC,作为Java语言的数据库访问API。链接: JDBCJDBC(Java Data Base Connectivity, java 数据库连接),是一种用于执行 SQL语句的Java API,可以为多种关系数据库提供统一访问。它由一组用Java 语言编写的类和接口组成。其中,类是一种复杂的数据类型。它是将不同类型

11、的数据和与这些数据相 关的操作封装在一起的集合体。这有点像 C 语言中的结构;唯一不同的就是结 构没有定义所说的“数据相关的操作”;“数据相关的操作”就是我们平常经 常看到的“方法”。因此,类具有更高的抽象性;类中的数据具有隐藏性,类 还具有封装性。采用JDBC技术,在Java Applet(Java小程序)中访问数据库的优点在 于:直接访问数据库,不再需要 Web 数据库的介入,从而避开了 CGI 方法的 一些局限性;用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全 性;JDBC 是支持基本 SQL 功能的一个通用低层的应用程序接口,在不同的数 据库功能的层次上提供了一个统一的

12、用户界面,为跨平台跨数据库系统进行直 接的Web访问提供了方案。从而克服了 API方法一些缺陷;同时,可以方便地实现与用户的交互,提供丰富的图形功能和声音、视频 等多媒体信息功能。JDBC是用于执行SQL语句的Java应用程序接口 API,由Java语言编写的 类和接口组成。Java是一种面向对象、多线程与平台无关的编程语言,具有极 强的可移植性、安全性和强健性。 JDBC 是一种规范,能为开发者提供标准的 数据库访问类和接口,能够方便地向任何关系数据库发送 SQL 语句。同时 JDBC 是一个支持基本 SQL 功能的低层应用程序接口,但实际上也支持高层的 数据库访问工具及API。所有这些工作

13、都建立在X/Open SQL CLI (调用级接 口)基础上。JDBC的主要任务是定义一个自然的Java接口来与X/Open CLI规 范中定义的抽象层和概念连接。 JDBC 的两种主要接口,分别面向应用程序开 发人员的JDBC API和面向驱动程序低层的JDBC Driver API。JDBC完成的工 作是:建立与数据库的连接;发送SQL语句;返回数据结果给Web浏览器。基于 JDBC 的 Web 数据库结构其缺陷在于:只能进行简单的数据库查询等操作,还不能进行OLTP;安全性、缓冲机制和连接管理仍不完善;SUN 承诺的完全跨平台跨数据库系统的功能和标准远未实现。链接:X/Open CLIX

14、/Open CLI 的主要目的,是通过允许数据库应用程序独立于任何一种数据 库管理系统的编程接口,以增加数据库应用程序的可移植性。链接:OLTPOLTP(On-Line Transaction Processing ,联机事务处理)系统,也称为面向 交易的处理系统。其基本特征是:顾客的原始数据可以立即传送到计算中心进 行处理,并在很短的时间内给出处理结果。4、几种Web数据库连接方式的比较对 CGI、 API 和 JDBC 三种访问数据库的技术,可以从不同的侧面进行比 较,如下表所示:CGIAPIJDBC编程复杂性复杂复杂中等对程序员的要求高高中等开发时间长长中等可移植性较好差好CPU的负载高

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

16、、软件重用性好等诸多优点。如何在 Internet/Intranet 环境下 构建应用软件体系结构,就成为一个非常重要的问题,也是现今软件体系研究 的一个新热点。目前,各种技术层出不穷,如最初的静态HTML页面、简单的CGI网关程 序、 Java Applet 程序,现在的 ASP 等 Web 数据库技术,还有动态的 Java 在线 游戏及PHP技术等。实际上,多层的概念是由Sun公司提出来的。Sun公司提出的多层应用软 件体系包括4 层:客户层、顶端 Web 服务层、应用服务层和数据库层。其中,顶端 Web 服务层,是 Sun 公司多层体系结构中非常重要的一层。它 主要起代理和缓存的作用。顶端 Web 服务器的作用,是缓存本地各客户机经常 使用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号