您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 火龙果软件-基于web的数据库访问技术
火龙果整理uml.org.cn第16讲基于Web的数据库访问技术数据库技术数据用户火龙果整理uml.org.cnWorldWideWeb()是当今Internet上最主要的信息服务,静态的Web站点中各种形式的数据以文件方式存在,当信息量以儿何级数增加时信息的发布和维护就显得极为困难;而另一方面,用户对信息的实时性、交互性的要求随着信息技术的发展已变得理所应当。同时,数据库技术经过几十年的的发展日益成熟起来,Oracle,DB2,Informix,Sybase,MSSQLServer等数据库系统的功能日趋强大。Web技术与数据库技术的结合能够综合二者的优点、发挥二者的潜力,充分利用已有的数据库信息资源。火龙果整理uml.org.cnWorldWideWeb()所采用的体系结构是浏览器/服务器(B/S)模式,客户机与服务器之间的通信采用的是无状态的、面向对象的HTTP协议。Web数据库的访问采用浏览器/Web服务器(B/S)或浏览器/Web服务器/数据库服务器(B/S/S)结构。在更为常见的B/S/S结构中,各组成部分通过Internet/Intranet实现物理连接,软件上遵循HTTP协议,客户通过浏览器向服务器发送请求和服务器进行连接,从而实现在Internet/Intranet的环境下对数据库的访问操作。火龙果整理uml.org.cnWeb数据库系统充分发挥了DBMS高效的数据存储和管理能力,以Web这种浏览器/服务器模式为平台,将客户端融入统一的Web浏览器,为用户提供使用简便、内容丰富的数据库服务。Web数据库系统已成为Internet和Intranet提供的核心服务,为Internet上的电子商务提供技术支持。火龙果整理uml.org.cn从Web与数据库连接的应用程序实现方式来看一般有三种方法:一种是在Web服务器端提供中间件来连接Web服务和数据库服务器,这是一种最典型的Web应用模式,常用的中间件技术有公共网关接口(CGI),Web应用程序编程接口(WebAPI),ASP,PHP,JavaServlet,JSP等。这种方法是采用Web服务器作为通信中介,由Web服务器启动中间件,中间件完成对数据库的访问,结果再由Web服务器返回给客户端的浏览器;另一种是把应用程序下载到客户端并在客户端直接访问数据库,访问Web数据库的客户火龙果整理uml.org.cn端方法主要包括:JavaApplet,ActiveX,Plug-in等,其中最典型的就是JavaApplet;第三种方式可看成是上述两种方法的组合,在服务器端提供中间件,同时将应用程序的一部分下载到客户端并在客户端通过Web服务器及中间件访问数据库。火龙果整理uml.org.cn1、CGI技术CGI是最早的Web数据库连接技术,几乎所有的Web服务器都支持CGI。程序员可以选择任何一种语言,如C、C++、Delphi、VisualBasic或Perl来编写CGI程序。它通常作为一台信息服务器,如Web或HTTP服务器,运行外部程序的接口协议。遵循CGI规范编写的CGI程序所完成的任务是扩展Web服务器的功能,充当Web服务器与数据库服务器之间的网关,将通过Web发来的操作转化为对数据库的操作,然后将结果以Web浏览器可以识别的形式返回。火龙果整理uml.org.cnCGI程序应用是作为一个独立的外部应用来运行,与Web服务器上的其他进程竞争处理器资源,这将导致运行速度减慢。而且,用CGI开发支持的应用也是一个比较困难的过程。CGI不提供状态管理功能,因而在Web服务器访问数据库过程中浏览器的每一次请求,都需要一个连接的建立与释放的过程,效率较低。火龙果整理uml.org.cn2、RAD技术RAD是快速应用开发(RapidApplicationDevelopment)的缩写。传统的RAD工具,如PowerBuilder、Delphi等早已为人们熟知。近年来,随着Web数据库应用需求的不断升温,市场上已经出现了一批Web数据库RAD工具,例如,Powersoft公司为PowerBuider8.0以后的版本增加了Intranet/Web技术。RAD工具的主要特点是具有图形开发界面和可视计算技术的支持,程序员只需通过简单的鼠标单击和键盘交互操作,即可快速生成应用程序代码。火龙果整理uml.org.cn3、Java/JDBC技术JDBC技术是JavaDatabaseConnectivity的缩写,它是JavaSoft公司设计的Java语言的数据库访问API。最初的Java语言并没有数据库访问能力。JDBC是第一个支持Java语言的标准的数据库API,其目的在于使Java程序与数据库服务器的连接更加方便。在功能方面JDBC与ODBC相同,它给程序员提供了统一的数据库访问接口。火龙果整理uml.org.cn与ODBC相似,JDBC提供给程序员的编程接口是由两部分组成,一是面向应用程序的编程接口JDBCAPI,它是为应用程序员提供的,可以进行数据库连接和调用SOL语句访问支持JDBC的数据库,并得到返回结果;二是供底层开发的驱动程序接口JDBCDriverAPI,它是各个数据库厂商提供的。值得一提的是,JavaSoft提供了一种特殊的驱动程序,JDBC-ODBC桥,它支持JDBC通过现有的ODBC来访问数据库系统。火龙果整理uml.org.cn目前,JDBC已经得到了许多厂商的支持,包括Borland,IBM、Oracle和Sybase等公司。当前流行的大多数数据系统都推出了自己的JDBC驱动程序。火龙果整理uml.org.cn最初的JDBC应用是JavaApplet。它的实现方式是通过Web浏览器把应用下载到客户端运行,在客户端直接访问数据库。其工作过程是:当Web浏览器从服务器上下载了包含有JavaApplet的HTML页面时,如其中的JavaApplet调用了JDBC,则浏览器运行的JavaApplet直接与指定的数据库建立连接,并向其提交SQL语句,Applet从数据库接受返回的结果并进行处理,将最后结果显示在浏览器上。火龙果整理uml.org.cn在客户机上运行JavaApplet通过JDBC技术可以绕过Web服务器直接和数据库服务器连接,并直接把带有结果的HTML页返回客户机浏览器。火龙果整理uml.org.cnJava动态Web技术的另一个重要分支是JavaServlets。与JavaApplet不同,JavaServlets是运行于Web服务器端的程序,能够象CGI脚本一样扩展Web服务器功能。它在初始化时装入Web服务器的存储空间,并成为服务器的一个组成部分。其工作过程是:当浏览器向服务器发出请求时,服务器将该请求传递给一个Servlet,该Servlet通过JDBC向数据库发出SQL请求并构造响应结果,然后通过服务器将结果传递回浏览器。火龙果整理uml.org.cn使用JavaServlets虽然可以完全实现通过Web访问数据库。但是Servlet生成网页的方法是在Java类中嵌入HTML标签和表述代码。这就意味着改变表述代码需要修改和重新编译Servlets源文件。因为设计HTML页面的设计人员可能与编写Servlets代码的开发人员不是同一个人,更新基于Servlets的Web应用程序就成了一件非常棘手的事情。火龙果整理uml.org.cnJavaServerPage,即JSP,是JavaServlets的一个扩展,具有Servlets的所有优势。不同的是它将功能实现和网页设计的功能分开了。JSP是Sun公司倡导的一种动态网页技术标准,是一种在服务器端编译执行的Web数据库系统应用程序编程语言,其脚本语言是Java,通过在HTML文件中加人Java程序片段和JSP标记构成JSP网页。JSP技术可以让各公司采用各类Web服务器、应用服务器、浏览器和开发工具等快速创建Web网页。火龙果整理uml.org.cn4、ASP技术ASP即ActiveXServerPage,是微软公司于1996年11月推出的Web应用程序开发技术。ASP是一个Web服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP既不是一种语言,也不是一种开发工具,而是一种技术框架,其主要功能是为生成动态的交互式的Web服务器应用程序提供一种功能强大的方法或技术。火龙果整理uml.org.cnASP属于ActiveX技术中的Server端技术。与常见的在Client端实现动态网页的技术如JavaApplet、VBScript、JavaScript等不同,ASP中的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行。火龙果整理uml.org.cn由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。ASP通过后缀名为.asp的ASP文件来实现。一个ASP文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。火龙果整理uml.org.cn当浏览器向WebServer请求调用ASP文件时,就启动了ASP。WebServer开始调用ASP,将被请求的.asp文件从头读到底,执行每一个命令,然后动态生成一个HTML页面并送到浏览器。ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成。通过ASP内置的对象、服务器组件(ServerComponent)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。火龙果整理uml.org.cn开发ASP应用程序一个非常重要的环节,就是连接数据库、查询数据库和操作数据库。为了实现这些操作,需要ASP中与数据库打交道的组件ADO(ActiveDataObjects)的参与和应用。ADO技术是微软公司推出的最新的数据库连接技术,利用它可以比较容易地实现对数据库(SQLServer,Access,Oracle,Sybase等)的查询,存取操作,它代表了数据访问方法的未来,是统一数据访问的一个基本组件。火龙果整理uml.org.cnADO并不是一个具体的数据访问接口,而是一个数据访问编程模型;ADO也不是专门为关系型数据库或ISAM数据库设计的,它是一个任意数据源的接口。ADO可以通过固有OLEDB提供者访问数据,也可通过一个特殊的OLEDB提供者访问任意ODBC数据源。火龙果整理uml.org.cnASP与JSP的比较ASP与JSP是两种非常相似的技术,在实现访问Web数据库中都使用了组件技术,从而可以将业务逻辑与页面表达分开处理,有利于应用程序快速开发及日后的维护、修改。但是它们之间也存在着一些重要差别,它们之间的差别主要是:1、JSP是建立在Java体系上的,具有独立于平台,独立于服务器的特点。它并不局限于某种特定的平台或软件商,而是全面继承了“一次编写,四处运行”的原则,可以轻易的用于跨越Windows和UNIX的分布式系统。火龙果整理uml.org.cnJSP程序员可以创建定制的标识库,使用XML技术的标识可以实现更为强大的功能同时更少的依赖于编程。JSP访问Web数据库使用的JDBC也是由Java语言编写而成,因而具有对硬件平台、操作系统异构性的支持。此外,JDBC驱动程序管理器是内置的,驱动程序本身也可通过Web浏览器自动下载,无须安装、配置。由上述可以看出,当服务器、平台或其他系统组成部分升级或改变时,基于JSP技术的应用将不会受到任伺一影响。火龙果整理uml.org.cn与此不同的ASP技术则基本上依赖于Microsoft技术支持。ASP的工作环境主要为MicrosoftIIS服务器技术,同时由于其组件基于ActiveX技
本文标题:火龙果软件-基于web的数据库访问技术
链接地址:https://www.777doc.com/doc-2298291 .html