Web与数据库接口技术常用方法浅谈

2013-08-15 00:54王美迎
山东工业技术 2013年8期
关键词:服务器端过滤器浏览器

王美迎

(安阳技师学院,河南 安阳455000)

随着Internet 的逐步发展, 数据库商家和WEB 公司也纷纷推出各自的产品和中间件支持Web 技术与数据库管理系统(DBMS)相融合,通过WWW 访问数据库的优点在于:1)借用现成的浏览器软件,无需开发数据库前端,使用的数据库应用都可以通过浏览器来实现,界面统一,也减少了开发费用,能使广大用户很方便地访问数据库信息。2)统一标准,开发过程简捷,因为HTML 是WWW 信息地组织方式,是一种国际标准,开发者只要学习过HTML 语言,使用者只需一种浏览器界面。3)共用平台支持,在各种操作系统上都有现成的浏览器可使用,为一个WWW 服务器书写的HTML 文档,可以被所有平台的浏览器所浏览,实现了跨平台操作。所以WWW 的应用日益普及和扩大, 而目前大部分数据存放在数据库中,各种关系数据库都发挥各自的优势,建立可实用的数据库访问接口,将客户端融入统一的Web 浏览器,用户可以方便地检索数据库的内容,基于各种Web 的数据库访问接口也应运而生并逐步发展。到目前为止,常用的数据库接口有CGI、ISAPI、JDBC、ASP、IDC、等方式。为Internet 用户提供使用简便、内容丰富的服务。

1 CGI

(通用网关接口:Common Gateway Interface)是WWW 服务器运行时外部程序的规范,按照CGI 编写的程序可以扩展服务器的功能,完成服务器本身不能完成的工作,外部程序执行时可以生成HTML 文档,并将文档返回到WWW 服务器。CGI 应用程序能够与浏览器进行交互作用,还可以通过数据库的API 与数据库服务器等外部数据源进行通信,如一个CGI 程序可以从数据库服务器中获取数据,然后格式化为HTML 文档后发送给浏览器,也可以将从浏览器获得的数据放到数据库中。绝大多数的CGI 程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI 程序使网页具有交互功能。

2 ISAPI

(互联网服务器应用程序接口:Internet Server Application Programming Interface)由两类组件组成:提供纵向功能层的ISAPI 应用程序与提供横向功能层的ISAPI 过滤器。当接收到一个客户端的请求时,服务器执行一个对应的ISAPI 应用程序。ISAPI 过滤器则可以实现所有请求所共有的某些功能,当过滤器中定义的事件在进程中发生时,服务器调用过滤器中相应的函数进行处理。ISAPI 服务器扩展是可以被HTTP服务器加载和调用的DLL。Internet 服务器扩展也称为Internet 服务器应用程序(ISA),用于增强符合Internet 服务器API(ISAPI)的服务器的功能。ISA 通过浏览器应用程序调用,并且将相似的功能提供给通用网关接口(CGI)应用程序。

3 Java

公司指定了JDBC(Java Data Base Connectivity Java 数据库连接)技术,作为Java 语言的数据库访问,Java-Applet(Java小应用程序)与其它方式不同。Java 的推出,使WWW 页面有了活力和动感。Internet 用户可以从WWW 服务器上下载Java 小程序到本地浏览器上运行。下载的小程序就像本地程序一样,可独立地访问本地和其他服务器资源。随着应用技术的开发,Java 在数据库访问方面也有不相同的扩展,采用JDBC 技术,在Java Applet 中可直接访问数据库,不再需要Web 数据库的介入,从而避开了CGI 方面的限制,用户访问控制可以由数据库服务器本地的安全机制来解决,提高了安全性。JDBC 是支持基本SQL 功能的一个通用低层的应用程序接口,在不同的数据库功能的层次上提供了一个统一的用户界面,可实现与用户交互,提供丰富的图形功能和声音、视频等多媒体信息功能。

4 ASP

(动态服务器页:Active Server Pages:)是服务器端的脚本文件,可以是HTML,也可以是VBScript 或JavaScript,ASP的目的是提供可编程html 页来响应web 请求。

5 IDC

(互联网数据库连接器:Internet Database Connector:)使用IDC 文件与HTX 文件,IDC 文件负责查询数据库,HTX 文件负责把查询结果格式化之后,返回到客户端。

五种接口方式采用WINDOWS2003 操作系统平台及IIS的WEB 服务器。数据库采用SQL SEVER 7.0 和ORACLE 8.0对比测试。两种数据库中建有相同的数据表,只运行所需测试的WEB 请求,测试分为远程测试(ADSL)与局域网测试两个步骤,这五种接口方式由快到慢依次为JAVA-APPLET、ISAPI、ASP、IDC、CGI。

在CGI 方式下,对于每一个用户请求,CGI 都要求服务器执行一个外部程序,这涉及到在操作系统中创建一个新进程。而ISAPI 不同,它对于每一个请求创建的是线程,系统开销小、而速度快。IDC、ASP 均是线程级的开销,其速度都比CGI 快,但IDC、ASP 无法实现数据库资源的驻留,所以速度不如ISAPI。JAVA-APPLET 的速度是最快的,因为它不用在服务器端运行程序,只需数据库系统提供查询结果即可。

从灵活性上比较,IDC 的功能是依赖于SQL 语句,SQL语句的功能是有限的。CGI 的灵活性较IDC 好,它可用服务器所支持的编程语言来实现。ASP 的灵活性又比CGI 强,它不仅可以使用VB、VJ 之类的语言,而且ASP 本身也提供了功能丰富的控件。ISAPI 不仅能够实现ASP 实现的所有功能,而且还能用过滤器实现许多IDC、CGI 和ASP 所无法实现的功能。JAVA-APPLET 的灵活性更强,JAVA-APPLET 是下载到客户端运行的程序,这就超越了HTML 语言的限制。

从系统开销上比较,从内存负荷与CPU 的工作量来看,每一次CGI 请求,就产生一个进程的内存与CPU 开销,又无法驻留数据库资源,所以开销大。ISAPI 只产生一个线程的开销,且驻留了数据库的资源,故开销小。而IDC 与ASP 虽是线程级开销,但无法驻留数据库资源,开销要比ISAPI 大些,而JAVA-APPLET 从根本上就把运行程序移到了客户端,服务器端只需处理与客户端的JDBC 连接,所以服务器端开销最小。CGI、IDC 与ASP 方式内存开销较大,在内存有限的情况下,服务器在用户访问高峰值时会出现死机现象,不适合用户并发访问数量较大的网站。由于各种接口方式的性能不同,采用合适的场合适用。CGI 在UNIX 环境下,用户并发访问数量较少。IDC 在WINDOWS 2003 环境下,用户并发访问数量不多,且WEB 应用程序功能简单。ISAPI 在WINDOWS 2003 环境下,可满足用户并发访问数量较多、应用程序功能复杂、灵活性与安全性要求较高的情况下。ASP 在WINDOWS 2003 环境下,用户并发访问数量不太多,能满足一些复杂的功能。适用于大多数中小型网站。JAVA-APPLET 在宽带环境下,用户并发访问数量大,WEB 应用程序功能要求较高时适用。

6 结束语

数据库参数设置的不同,数据库性能的发挥也不同,进而在服务器端的查询速度也不一样。要针对系统的具体情况选择合适的数据库。要解决WEB 与数据库接口的瓶颈问题,应把精力放在数据库性能调整与接口方式的选择上。从系统开销,灵活性及网络传输速度上看,笔者认为目前来讲,JAVA-APPLET 将最终成为WEB 与数据库接口的主流。随着互联网传输速度的提高与合理调配数据库参数,网络传输延时将最终得以解决,完全相信WEB 与数据库接口方式终将为编程人员正确利用。

[1]刘丽.SQL Server 数据库基础教程[M].机械工业出版社.

[2]郭克华,王超.Oracle 数据库开发与应用[M].清华大学出版社.

[3]孔勇奇.大型数据库及其应用[M].北京大学出版社.

猜你喜欢
服务器端过滤器浏览器
Linux环境下基于Socket的数据传输软件设计
三步拆卸洋马YH880/1180 收割机变速箱内过滤器
提高中央空调高效过滤器使用寿命的几点思考
微软发布新Edge浏览器预览版下载换装Chrome内核
反浏览器指纹追踪
污染控制—燃料电池的使能技术
新型纳米材料过滤器
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用