Web与数据库接口技术常用方法浅谈
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web与数据库接口技术常用方法浅谈
【摘要】Internet网是目前全球最大的计算机网络,Web数据库属于Internet 网的一种资源形势,是指在互联网中以Web查询接口方式访问数据库资源,其结构是后台采用数据库管理系统存储数据信息,对外提供包含表单的Web页面为访问接口,查询结果也以包含数据列表的Web页面形式返回给用户。Web技术与数据库管理系统相互融合方式,已成为热点研究的方向。
【关键词】Web;数据库接口;DBMS
随着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)与局域网测试两个步骤,这五种接口方式由快到慢依次为JA V A-APPLET、ISAPI、ASP、IDC、CGI。
在CGI方式下,对于每一个用户请求,CGI都要求服务器执行一个外部程序,这涉及到在操作系统中创建一个新进程。而ISAPI不同,它对于每一个请求创建的是线程,系统开销小、而速度快。IDC、ASP均是线程级的开销,其速度都比CGI快,但IDC、ASP无法实现数据库资源的驻留,所以速度不如ISAPI。JA V A-APPLET的速度是最快的,因为它不用在服务器端运行程序,只需数据库系统提供查询结果即可。
从灵活性上比较,IDC的功能是依赖于SQL语句,SQL语句的功能是有限的。CGI的灵活性较IDC好,它可用服务器所支持的编程语言来实现。ASP的灵活性又比CGI强,它不仅可以使用VB、VJ之类的语言,而且ASP本身也提供了功能丰富的控件。ISAPI不仅能够实现ASP实现的所有功能,而且还能用过滤器实现许多IDC、CGI和ASP所无法实现的功能。JA V A-APPLET的灵活性更强,JA V A-APPLET是下载到客户端运行的程序,这就超越了HTML语言的限制。
从系统开销上比较,从内存负荷与CPU的工作量来看,每一次CGI请求,就产生一个进程的内存与CPU开销,又无法驻留数据库资源,所以开销大。ISAPI 只产生一个线程的开销,且驻留了数据库的资源,故开销小。而IDC与ASP虽是线程级开销,但无法驻留数据库资源,开销要比ISAPI大些,而JA V A-APPLET 从根本上就把运行程序移到了客户端,服务器端只需处理与客户端的JDBC连接,所以服务器端开销最小。CGI、IDC与ASP方式内存开销较大,在内存有限的情况下,服务器在用户访问高峰值时会出现死机现象,不适合用户并发访问数量较大的网站。由于各种接口方式的性能不同,采用合适的场合适用。CGI在UNIX环境下,用户并发访问数量较少。IDC在WINDOWS 2003环境下,用户并发访问数量不多,且WEB应用程序功能简单。ISAPI在WINDOWS 2003环境下,可满足用户并发访问数量较多、应用程序功能复杂、灵活性与安全性要求较高的情况下。ASP在WINDOWS 2003环境下,用户并发访问数量不太多,能满足一些复杂的功能。适用于大多数中小型网站。JA V A-APPLET在宽带环境下,用户并发访问数量大,WEB应用程序功能要求较高时适用。
6 结束语
数据库参数设置的不同,数据库性能的发挥也不同,进而在服务器端的查询速度也不一样。要针对系统的具体情况选择合适的数据库。要解决WEB与数据库接口的瓶颈问题,应把精力放在数据库性能调整与接口方式的选择上。从系统开销,灵活性及网络传输速度上看,笔者认为目前来讲,JA V A-APPLET将最终成为WEB与数据库接口的主流。随着互联网传输速度的提高与合理调配数据库参数,网络传输延时将最终得以解决,完全相信WEB与数据库接口方式终将为编程人员正确利用。
【参考文献】
[1]刘丽.SQL Server数据库基础教程[M].机械工业出版社.
[2]郭克华,王超.Oracle数据库开发与应用[M].清华大学出版社.
[3]孔勇奇.大型数据库及其应用[M].北京大学出版社.