WEB环境数据库连接模式研究

来源 :考试周刊 | 被引量 : 0次 | 上传用户:wugenkuaizi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:当今Web应用系统与数据库系统连接方案可分为两大类:一是服务器端数据库连接;另一种是客户端数据库连接。
  关键词:WEB服务器 B/S ODBC CGI Web API ADO JDBC OBJECT WEB
  
  B/S软件的根本点就是以浏览器形式与用户打交道,其软件设计的重要内容是客户端访问数据库的方法。基于Web的数据库访问技术是指:在客户端安装Web浏览器,作为用户输入查询条件和显示查询结果的交互界面。用户可以通过填写表格或输入关键字的方式来与WWW进行交互,当用户单击表格上的按钮时,表格中的数据便发送到Web服务器。Web服务器介于Web浏览器与数据库服务器之间,负责用户输入信息的接收。服务器将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据或将数据传递到数据库中。最后,服务器将返回结果插入到HTML页面,传送至客户端以响应用户。这种交互性提高了用户参与的积极性。
  
  一、CGI访问模式
  
  CGI是外部应用程序与Web服务器交互的一个标准接口。CGI应用程序可以完成客户端与服务器的交互操作。遵循CGI标准编写的服务器端的可执行程序称为CGI程序。按照CGI标准编写的外部扩展应用程序可以处理客户端输入的协同工作数据,完成客户端与服务器的交互操作,这在实际应用中非常有用,如可以编写CGI外部扩展程序来访问外部数据库,客户端用户可以通过它和WWW服务器来进行数据查询。CGI一般分两种:标准CGI和缓冲CGI。所有的WWW服务器均应支持标准CGI,按标准CGI编写的程序与具体的WWW服务器无关。而按缓冲CGI编写的程序与WWW服务器有关。采用CGI访问数据数据库结构如图1所示:
  
  各种API均与其相应的Web服务器紧密联系在一起。为了解决复杂与高效之间的矛盾,Netscape与Microsoft均为各自的Web服务器提供了基于API的高级编程接口。Netscape提供的是LiveWire,而Microsoft则提供的是IDC。
  基于API的用户应用可实现CGI的全部功能,其作用与CGI类似,也是为了扩展WEB服务器的功能。但其运行机制与CGI不同,API应用以线程方式运行。API方式工作原理是:在服务器起动时,WEB服务器设置提供了指向这些API应用的通用接口,在首次被请求时,API应用被调入内存,执行完毕后,并不马上消失,而是继续驻留在内存中,与WEB服务器处于同一地址空间,当下一次被请求时,WEB服务器只是运行驻留在内存中的相应的API应用,这样就避免了CGI程序每次请求都要重新启动进程相当耗时的进程间的通信及与数据库的连接,并且,可在一个API应用里设置多个用户请求处理函数。因此,系统运行效率以及速度比CGI快得多。
  采用Web API结构的优点:API应用程序是与Web服务器软件处于同一地址空间的DLL,因此所有的HTTP服务器进程能够直接利用各种资源,这显然比调用不在同一地址空间的CGI程序所占用的系统时间要短,比CGI具有更高执行效率,客户端响应时间也较短。其缺点:(1)可移植性差:由于各个Web服务器厂商纷纷推出自己的API,使得各种API之间的兼容性很差,开发API程序需要多线程、进程同步、直接协议编程等知识,其程序开发比CGI开发更困难。(2)此外健壮性也不好保证,这是由于API进行与Web服务器处于同一系统空间,服务器端一个违规操作有可能导致整个Web服务器的崩溃。
  
  三、 ADO方式
  
  ADO(ActiveX Data Object即ActiveX数据对象)是Microsoft在OLE DB标准的基础上定义的一种面向对象、与语言无关的数据库应用编程接口。如果选用ADO作为访问Web数据库接口,则最好方法是结合ASP来写应用程序。ASP是微软公司基于ActiveX技术的一个Web服务器端的开发和运行环境,只能运行在微软提供的平台如Windows NT和IIS等。ASP属于服务器端技术,直接建立在服务器中,并且作为Web服务器的一个服务运行,支持多用户、多线程;与其它常见的Client端实现动态性的技术如Java Applet。 ActiveX Control。JavaScript等不同,一个ASP页面即可包含客户端脚本,更主要的是也可包含服务器端脚本,引擎解释执行,执行结果以HTML的形式返回给用户。
  采用ADO结合ASP访问数据库系统有如下优点:(1)与HTML完全结合,可以使用任何脚本语言,易于开发,易于维护:(2)所有服务器端脚本代码均在服务端执行,有效地保护了开发者的知识产权,且支持任何一种浏览器;(3)面向对象,可充分利用现存的ActiveX组件,易于扩展Server端功能;(4)可以访问非关系数据库,这是其它方式无法实现的。
  ADO方式明显的缺点是:仅适用于微软提供的一些平台,且ASP程序是解释型语言编写的,运行速度相对较慢。
  
  四、ODBC/JDBC数据库连接模式
  
  采用ODBC/JDBC的连接模式,基本结构如图3所示。ODBC是一个中间件,它把一个应用的数据请求转换为DBMS可以理解的命令。JDBC是JAVASOFT公司的规范,它建立了一个程序级的设计接口,在统一方式下与数据库通迅,类似于ODBC概念。JDBC标准基于X/OPEN SQL调用级接口,与ODBC具有相同的基础。Oracle与Sybase数据库均支持ODBC/JDBC。
  
  API方法与Web服务器结合紧密,所以性能较高。但是利用底层的API开发数据库访问程序仍然很困难,因此一般使用基于底层API的高层数据库编程接口,这就是我们所说的ODBC。ODBC是“开放数据库互连”的简称,是一种使用SQL的应用程序接口(API) 。ODBC一个最显著的优点是用它生成的程序与数据库或数据库引擎是无关的。ODBC可使程序员方便地编写访问各种DBMS厂商的数据库的应用程序,而不需了解其产品的细节。Web服务器通过数据库驱动程序ODBC向数据库服务器发出SQL请求,数据库服务器接到的是标准的SQL查询语句,数据管理系统执行SQL查询并将查询结果再通过ODBC传回Web服务器。许多服务器扩展程序使用包含ODBC层的系统结构。ODBC是为调用关系数据库提供统一途径的一类API,由于它适用于许多不同的数据库产品,因此是服务器扩展程序开发者们理所当然的选择。
  Java语言显示出优于以往编程语言的诸多特色,赢得了众多数据库厂商的支持。为了同时连接到多个数据库进行并行的联合查询,可以充分利用Java语言本身的特色。
  在数据库处理方面,Java提供了JDBC(Java数据库连接:Java Database Connectivity),为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口(JavaAPI),它规定了Java如何与数据库进行交互作用。JDBC由一组用Java语言写的类和接口组成,利用Java机制设计的标准SQL数据库连接接口JDBC去访问数据库。JDBC也是一种规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户很容易地把SQL语句传送到任何关系数据库中,程序员用它编写的数据库应用软件,可在各种数据库系统上运行。采用JDBC可以很容易用SQL语句访问任何商用数据库,采用Java和JDBC编写的数据库应用程序具有与平台无关的特性,很容易用SQL语句访问任何商用数据库,而不必为每一种数据库平台编写不同的程序。
  JDBC访问数据库的过程可采用两种方式。一种是通过浏览器连接到Web服务器上,下载含有Java小程序的HTML页,Java小程序在客户端运行,使用JDBC接口,绕过Web服务器,直接与数据库服务器交互,并直接把查询结果的HTML页返回到浏览器。另一种方式则是在WEB服务器端通过JAVA SERVERLETS与数据库服务器交互。
  
  五、几种数据库连接方式的比较
  
  CGI根据浏览器端的http请求激活相应进程,每一个请求对应一个进程。当同时有很多请求时,程序挤占系统资源,造成效率低下。Web API针对这一缺点进行改进,利用DLL(动态链接库)技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤烦琐。这两种技术还存在另外一个问题,那就是开发困难。程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而另一些较简单的开发技术如JavaScript和IDC(Internet DatabaseConnector)等功能有限。
  Microsoft的ODBC API是使用最广泛的访问数据库规范。ODBC2.0 访问数据库时存在同步与异步执行模式之分,如果设计不当,则易发生系统故障甚至系统死锁。但是同步执行模式可以简化程序编制的复杂性。程序员不用过多地了解较复杂的ODBC 2.0 API的使用,而只需使用ODBC的同步执行模式或使用数据控制项和数据库对象变量来编写应用程序,可以提高开发效率,但程序运行速度比不上异步执行模式的速度。
  JDBC保持了ODBC的基本特性。两者都基于X/Open SQL调用级接口(CLI:CallLevelInterface)标准。它们的不同就在于JDBC建立在Java语言基础上,并充分利用了其特色,易于使用;ODBC使用的是C界面,C语言大量使用了Java语言中没有的指针功能,不适于以Java为界面的JDBC直接使用。同时,JDBC确保了“100%纯Java”的解决方案。这样,JDBC应用无需像ODBC应用那样要进行客户机的安装和管理。
  总之,在浏览器中访问Web数据库的方法较多,开发Web应用程序的软件人员需要选择适当的方法,但有些方法的编程接口较为复杂,妨碍了它的进一步应用。作为Web页管理员,更希望把精力集中在信息发布或程序设计本身,而不愿意在接口方面耗费太多的精力。而通过三层结构中间层采用组件和分布式对象技术是今后Web数据库系统发展方向。
其他文献
摘要: 《西游记》成书于神魔小说在中国文学苑中遍地开花的季节。作为文人有意识地整理创作的作品,无疑是可以鉴见当时社会生活状况之一、二的。它以游戏之笔大书孙悟空在三界腾挪跳跃、优游奔走的潇洒,同时又深怀对民族文化发展前景的无限忧虑:儒道释三教合一似乎是最好的出路,但均已垂垂老矣;大力张扬人的个性,又担心开了枷的人欲会膨胀至无限;在内部已趋腐朽的时候,欲向外寻求新鲜血液,可这也并非易事。  关键词:
期刊
摘要: 本文通过分析托玛斯·哈代的代表作《还乡》中的主要人物形象,揭示哈代小说中悲剧人物的命运是环境、性格和社会共同作用的结果。  关键词: 哈代 悲剧《还乡》环境 性格 社会    托玛斯·哈代,英国伟大的小说家和诗人,1840年6月2日生于英格兰多塞特郡的上博克汉普顿。哈代深爱着维塞克斯乡村的风光和生活,一生大部分时间都在家乡度过。故乡的一草一木都令他着迷,勤劳质朴的乡民更是哈代文学创作无尽的
期刊
一、背景材料    义务教育课程标准实验教科书语文(人教版)一年级上册第120页。本文语言优美,富有童趣。其中也包含着一定的科普知识——借小松鼠找花生这件事间接地告诉学生花生是在地下结果的。这一知识点对于在城镇里长大的孩子来说,一般没有生活经验。    二、片段描述    在公开课上,学生在朗读表演了课文内容后,讨论课初提出的问题“小松鼠为什么找不到花生”。  简短的讨论后,学生代表发言。  学生
期刊
摘要: 本文从he和she在口语表达中被误用,尤其是she被误用为he的现象入手,从意象的表面和具体、表意的覆盖层次、语言的性别歧视方面分析其原因,并针对其原因分别提出了减少和避免其误用频率的对策。  关键词: he she 意象 性别歧视 对策    1.引言  笔者在教学过程中发现,英语专业的许多学生在进行日常口语表达时,常把he和she误用,即在该用she的地方却用he进行表达,在用her的
期刊
摘要: 田园诗,恬淡静怡,令人沉醉。本文试通过分析罗杰斯的《一个愿望》和王维的《渭川田家》,对比这两首诗的诗意,以及两首诗体现出来的画境,最后比较了这两位诗人不同的情感和志向。  关键词: 诗意 画境 言志    田园诗总能以其独特的魅力吸引我们,以其优美的田园风光描写在诗歌领域独具一格。读田园诗总能带给人们一股扑面而来的清新之风,仿佛置身于大自然中,处在诗人所描写的恬美的景象里。田园诗往往都是通
期刊
摘要: 笔者以为,在东方传统音乐文化的语境下,“曲高和寡”应结合传统语境和当代社会音乐文化的新语境进行分解和发散,只有这样才有助于我们更加清楚地认识和了解音乐体验和接受活动的某种社会现实状况,在一定的角度和层次指导当代社会中的专业音乐工作者进行音乐的创作与生产。  关键词: 音乐研究 曲高和众 曲低和寡    几个世纪以来,伴随着诸多经济、历史、政治、意识形态等方面的影响,欧洲经典音乐文化已经逐渐
期刊
摘要:倾情爱生,是保证良好教育效果的前提,尊重学生。首先要了解学生。作为教师要做到以下几点:为人师表,以身作则;一视同仁,严格要求;信任学生。尊重学生。教师的教育观念、教学方式、教学方法的转变,最终都要落到学生学习方式、学习方法、学习兴趣上去。教育是一门科学。育人成才更是一门精雕细刻的艺术,教师应努力改进师生关系,为学生的健康成长和顺利成材做出贡献。  关键词:师爱 新课程 新课改 情感
期刊
摘要: 本文纵观宿命论的发展过程,将其分为非理性和理性两个阶段,结合文学作品加以论述。通过比较《俄底普斯王》中的具有神秘倾向的宿命论和《苔丝》与《嘉丽妹妹》中的自然主义宿命论来分析两个阶段宿命论的区别和共同点。  关键词: 非理性宿命论 理性宿命论 命运不可改变 俄底普斯 苔丝 嘉丽妹妹    宿命论指人的命运是注定的,是不可改变的。宿命论是早已有之的一种命观,它对文学有着很深的影响,不同时期的文
期刊
摘要: 笔者对国道318吴江段进行了路面破损调查、现场取芯调查、路面弯沉测试及路基路面排水调查,对调查数据进行了统计分析,为道路改造方案提供了科学依据。  关键词: 路面破损 取芯 弯沉    国道318(G318)起点为上海,终点为西藏友谊桥,全长5476km。其中吴江段53km,现阶段吴江段部分路面水泥板破坏现象较为严重,路面状况较差,已不能满足日益增长的交通量需求。本调查利用现代化的检测设备
期刊
摘 要:本文首先给出了3G的概念、主要特征和设计目标,接着介绍了3G系统中最具势力,也是最有代表性的三种主流技术标准,最后对3G三种主流技术标准从技术成熟性、频率利用率、频率适用性、全球漫游能力和建网的经济性等方面进行了比较详细地比较。  关键词:3G IMT—2000 W-CDMA cdma2000 TD-SCDMA    引言    3G是英文3rdGeneration的缩写,指第三代移动通信
期刊