B/S、ISAPI、ASP和ASP.NET四种网络数据库开发技术的比较

时间:2022-07-13 01:47:23

B/S、ISAPI、ASP和ASP.NET四种网络数据库开发技术的比较

【摘要】 本文对目前流行的几种基于Web的数据库动态交互访问技术进行了探讨,着重阐述了其各自的特点,并对它们各自的性能进行了比较和分析。

【关键词】 数据库 B/S ISAPI技术 ASP技术 技术 Internet现在已成为世界上最大的信息宝库,所包含的信息从教育、科技、政策法规到艺术、娱乐及商业等各个方面,它正在以无法预测的速度飞速发展。Internet网上的信息资源几乎时刻都在增加和更新,面对如此丰富的信息资源,要解决的问题之一就是如何将企业的数据库与Web连接起来,实现Web与数据库的交互。数据库技术发展比较成熟,特别适合于对大量的数据进行组织管理,而Web技术作为Internet中最重要的信息检索手段,拥有较好的信息途径。这两种技术天然的互补性决定了它们相互融合是必然的发展趋势,是实现全方位信息服务的重要途径。

当前实现Web与后台数据库服务器动态交互的技术主要有B/S,CGI,ISAPI,ASP,, CoIdFusio。等。这些技术各具特色,实际使用中采用何种技术还要根据具体情况具体分析。下面简要阐述了B/S、ISAPI、SAP和四种技术的各自优缺点。

一、B/S

B/S方式的最大好处是把所有的应用程序都储存在Web服务器上,需要时下载,客户端无需安装其他任何软件,也无需进行任何配置,与传统的C/S方式相比较,其开发和管理工作向服务器转移,对整个系统进行修改时仅需对存储在Web服务器上的应用程序进行依次改动即可,而不必在每个客户端进行改动,这在很大程度上减少了系统管理和维护的工作量。

二、ISAPI技术

ISAPI(Internet Server Application Program Interface)是微软提供的一套面向Internet服务的API接口,它能实现CGI提供的全部功能。ISAPI的工作原理和CGI很类似,都是通过浏览器向Web服务器发出浏览请求,服务器按客户请求中提供的文件名和路径去激活一个ISAPI程序,而这个ISAPI程序本身就可以通过不同的方式完成数据库访问或计算功能,然后把结果以HTML页面的形式发回给浏览器。

CGI与ISAPI的主要区别在于:在ISAPI之上建立的应用程序都是以动态链接库DDL的形式存在的,而CGI的应用程序一般都是可执行程序。ISAPI的动态链接和Web服务器处在同一个进程中,Web服务器执行ISAPI程序时只需要为它创建一个线程,而创建一个线程的开销远远低于创建一个进程,所以ISAPI的执行效率要显著高于CGI。采用ISAPI极大地提高了性能和速度,客户端响应较好,灵活有效,使开发者能够获得大量的无法通过CGI方法获得的信息。ISAPI方式适用于Netscape,Microsoft IIS的网络服务器。ISAPI的缺点是可移植性较差,只能运行于Windows平台上支持ISAPI标准的Web服务器。支持的编程语言有限,主要有Visual basic, Visual C++, Delphi等。进程空间中,有缺陷的ISAPI程序代码可能会引起整个Web服务器的崩溃。另外,由于同一个ISAPI程序有多个线程之间需要共享数据段,这会使得开发和调试都较CGI困难。ISAPI与Web服务器结合紧密,功能强大,能够获得大量的信息,因此利用ISAPI可以开发出灵活高效的Web服务器增强程序。利用ISAPI作交互程序的Web节点,在WWW服务启动时被调人内存,每个客户请求并不启动单独的进程,因而要求较少的系统开销,所以ISAPI是一种性能比CGI更为优越的交互式应用程序。此外,随着Windows2000的普及应用,利用ISAPI实现网络数据库查询的应用将会越来越广泛。

三、 ASP技术

ASP(Active Server Pages)是微软开发的一套服务器端脚本环境,ASP内含于IIS 3.0和4.0之中。ASP的工作原理是:当前用户浏览器从Web服务器上请求*.asp文件时,ASP脚本在服务器上开始运行,然后Web服务器用ASP全面读取请求的文件,执行所有脚本语言,最后动态生成一个HTML页面并传送到用户浏览器。当遇到任何与ActiveX Script兼容的脚本(VBScript和JScript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中有访问数据库的请求时,ASP就通过ODBC与后台数据库进行连接,调用数据库访问组件执行对数据库的存取操作。ASP脚本是在服务器端解释执行的,它占据访问数据库的结果集并自动生成标准HTML页面,去响应用户的请求。利用ASP的内置对象Request和Response来实现Web服务器与浏览器的动态交互。

通过ASP可以产生和执行动态、交互且高效的Web服务器应用程序,可以综合利用HTML页、脚本命令和ActiveX组件夹创建交互的Web页,而且ASP应用程序易于学习、使用和修改,无需编译,功能强大,在网上传输速度快,且与浏览器无关,同时还可以对开发者的源代码保密。使用ASP脚本不仅可以创建动态内容的网页,在脚本中还可以方便地使用ASP内置对象,引用系统的组件对象,包括用户通过使用VisualBasic,java, Visual C++等多种程序语言制作ActiveX服务器组件,通过各种组件对象完成应用程序特定的功能,如通过浏览器接收和发送信息,对多种数据库如SQL Server, Oracle, Access等的访问。采用ASP技术访问网络数据库,适用于Microsoft IIS网络服务器。与CGI, ISAPI技术相比,ASP的优势是显而易见的。但ASP方式效率较低,主要是因为ASP程序代码不发送到客户端浏览器解释执行,而是由IIS解释,在服务器中运行,并将结果生成HTML语句,与ASP中非脚本代码HTML部分合并成完整的网页送到客户端,因此效率较低,例如基于ASP的BBS论坛、网上购物系统、网上投票系统、网上医院、网上订票系统、网上调查问卷系统、大型的虚拟社区等。

四、技术

ASP的出现使得网络应用程序开发变得相当容易,但由于它是通过解释执行,而且脚本程序和静态网页混合在一起,所以在程序的执行速度和程序的可移植性上都存在一些问题。基于这样的原因,微软推出了,它不仅仅是ASP3.0的简单升级,而且它与.NET框架实现了完全的整合。除了底层的NET Framework所提供的各种对象都可以使用外,还提供 mntime来处理应用程序相关的处理程序,包括Section对象,Applicatio对象,Output Cache等功能。由于ASP本身的局限性使其有一些不可克服的缺陷,而技术在性能上有了很大的改善,主要表现在以下几个方面:一是ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而页面只要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动,这使得多次访问时速度有了极大的提升。二是由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助于Record-Se对象逐笔读取记录,而通过提供的DataCrid等数据库元件可以直接和数据库联系。三是支持应用程序的实时更新,管理员不必关掉网络服务器甚至不用停止应用程序的运行就可以更新应用文件。

五、 结语

基于Web平台访问数据库有多种方案,它们都有各自的特点,而目前最常见的就是ASP和这两种技术。ASP是一个Web服务器端的开发环境,产生和运行动态的、交互的、高性能的Web服务应用程序。而和ASP类似的数据库访问技术还有PHP, JSP,三者都提供在HTML代码中混合某种程序代码,有语言引擎解释执行程序代码的能力。

从一开始就致力于把网页内容和程序代码分开,这样使得页面的编码看起来井井有条并且可以重复使用。还通过使用服务器端控件等技术使面向对象的特征更加明显,所以这些都让获得了更多的并发效率。

参考文献:

[1]陈建伟.ASP动态网站开发教程[M].北京:清华大学出版社.

[2] 启明工作室+SQL Server网络应用系统开发与实例[M]。北京:人民邮电出版社,2005.

[3] 吕少华.Web数据库开发与应用实例(ASP+S QL Server)[M].北京:科学出版社,2001.

(作者单位:贵州大学科技学院04计算机科学与技术专业)

上一篇:网络伦理建设管窥 下一篇:计算机发展趋势展望