




已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)web数据库系统应用技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 近年来,互联网在国际上得到了迅猛的发展,基于互联网的各种应用也日益 受到人们的重视。在网上各种资源的共享与有效利用也成为当前网络数据库的主 要发展方向,如何选用好的技术方案达到数据库的有效利用成为w e b 数据库开发 人员必须考虑的问题。该论文首先分析了现今各种w e b 数据库相关技术的发展现 状,并对它们做了相应的比较,最后采用了基于m v c 的w e b 应用体系,即 j s p ( v i e w ) + s e r v l e t ( c o n t r o l l e r ) + j a v a b e a n ( m o d e l ) 的体系设计,有效地实现了 界面和逻辑的分离该论文是以北京市劳保局就业分析系统为背景,采用基于b s 结构的三层体系结构以及j s p 技术、j d b c 技术和o r a c l e 数据库技术进行设计与 实现的,具有性能优越、安装部署简单、安全体系完备等优点,并具有良好的通用 性、可扩展性和可维护性。本论文对基于j d b c 的数据库连接池技术和多线程并 行处理做了深入的研究,并对系统安全问题作了深入的探讨及实现。系统具有很 好的理论依据及技术支持 关键词:j s p 技术,m v c ,连接池,b s 模式 a b s t r a c t w i t i lt h er a p i dd e v e l o p m e n to fi n t e r n e t m o r ea n dm o r ew e b - b a s e da p p l i c a t i o n s c a m ei n t ob e i n gi nr e c e n ty e a r s o nt h ei n t e r n e 【t h es l i a 佗o fv a r i o i 】s ”麓o u r c c sw i t hm a k eu s co ft oa l s ob e c 咖ea “m e m n e t w o r kd a t a b a s ee f f e c t i v e l yo fm a i nd e v e l o p m e n td i r e c t i o n , h o wc h o o s et ob e c o m eaw e b d a t a b a s ead e v e l o p m e n tap e r s o n n e lw i t ht h ev a l i de x p l o i t a t i o nt h a tt h eg o o dt e c h n i q u ep r o j e c t a t t a i n sad a t a b a s eh a v et oc o n s i d e ro f p r o b l e m t h a tp a p e ra n a l y z e dv a r i o u sp r e s e n td e v e l o p m e n t p r e s e n tc o n d i t i o nw i t hr e l a t e d a n dt e c h n i c a lw e bd a t a b a s ef i r s t , a n dd i dt ot h e mh o m o l o g o u so fc o m p a r i s o n , m v c - b a s e dw e bd e s i g np a t t e mw a sa d o p t e dt od e s i g nt h ew h o l es y s t e m ,i n t e r f a c e d e s i g na n dl o g i cp r o g r a m m i n gw e r ee f f e c t i v e l ya r e h i v e db yc o m b i n a t i o no f t h r e e j a v a t e c h n i q u e s :j s p , s e r v l e ta n dj a v a b e a n j s pw a su s e dt ob u i l du s e ri n t e r f a c e s e r v l e t w a su s e dt op l a yt h er o l eo fc o n t r o l l e ra n dj a v a b e a nw a st oe n c a p s u l a t et h eb u s i n e s s l o g i co f m o d e l t h ec o m p l e t ed e s i g no f b o t hm o d e lc l a s s e sa n dc o n t r o l l e rc l a s s e sw e t e g i v e ni n d e t a i li nt h i sp a p e r t h a ts i st a k e st h ea n a l y s i ss y s t e mo f t h eb u r e a uo f l a b o ri n s u r a n c ee m p l o y m e n t i np e k i n gc i t ya sb a c k g r o u n d ,a d o p t i o na c c o r d i n gt ot h r e el a y e r so fs y s t e ms t r u c t u r e o fb ss t r u c t u r e ,a n dj s pt e c h n i q u e ,j d b ct e c h n i q u ea n do r a c l ed a t a b a s et e c h n i q u e c a r r yo nd e s i g na n dr e a l i z a t i o n ,i th a sm a n ya d v a n t a g e so fs u p e r i o rp e r f o r m a n c e , s i m p l ed e v e l o p m e n ta n dc o m p l e t e s a f ec o n s t r u c t i o n i th a sag o o d v e r s a t i l i t y , e x p a n s i b i l i t ya n dm a i n t e n a n c e t h i sp a p e rm a d eat h o r o u g hs t u d ya n dt h er e a l i z a t i o nt ot h es y s t e ms a f ep r o b l e m t o w a r d sh a n d l i n gt od oat h o r o u g hr e s e a r c ha b r e a s ta c c o r d i n gt oj d b ct h ed a t a b a s e c o n j u n c t i o np o n dt e c h n i q u ea n dm u l t i - t h r e a d i n g c o m b i n i n g t h es y s t e mh a sg o o d t h e o r i e sb a s i sa n dt e c h n i q u es u p p o r t k e yw o r d s :j s pt e c h n i q u e ,m v c ,p o o lc o n n e c t i o n ,b sp a t t e r n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤盗盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:岛z 签字日期:、2 7 年于月2 日 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘鲎有关保留、使用学位论文的规定。 特授权盘鲞盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:高j : 签字日期:力彩年p 月? 日 导师妊戈衫 签字日期:瑚年乒月确细 天津大学硕士学位论文 第一章绪论 1 1w e b 技术的发展 第一章绪论 w w w 的全称是w o r l dw i d cw e b ,有时也简称w e b 、3 w 或w 3 ,是由一组 软件和协议组成的开放式信息系统。w e b 是后来才出现的一种i n t e m e t 服务,旨 在使i n t e r a c t 用户不必考虑相互间计算机系统的差别就能快捷、方便地进行信息 交流。w e b 通过超文本多媒体以及直观的图形操作系统界面让所有用户都能很容 易地浏览i n t e m e t 上的各类信息,或向他人提供信息服务。 w e b 技术的核心是:t c p i p 、超文本传输协议( h t t p ) 和超文本标志语言 ( h n 仉) 。像许多i n t e m e ! t 服务一样,w e b 采用客户机服务器系统,在客户机 方面( 即i n t e m e t 用户方) 使用的程序是w e b 浏览器。w e b 服务器上主要存放 w e b 页面文件,通常称为w e b 站点。在w e b 站点上除了w e b 页面文件外还有 w e b 服务程序。w e b 浏览器除了采用h r r p 协议获得服务端的信息外,还需要支 持像f t p 、n r l q t p ( n e t w o r kn e w st r a n s p o r tp r o t o c 0 1 ) 、g o p h e r 等不同协议,以方 便用户用同一种浏览器获得各种网络服务。 w e b 服务以c s 的方式工作:客户机向w e b 服务器发出一个请求并从w e b 服务器上得到一个响应;w e b 服务器负责管理信息和对来自客户机的请求做出回 答;客户机与服务器使用h t t p 协议传送信息。 w e b 使i n t e m e t 上的信息量和用户数迅速增长并在很短的时间内得到迅速 发展、广泛认可和使用,主要原因是因为它的资源可以互相连接、容易使用和信 息内容的多媒体化。w e b 服务器的基本信息单位是网页,页面上有许多超链接, 每个超链接包含有指向其它信息的统一资源定位符( u r l ) 。当用户点击某一链 接时就会根据该链接所指向的u r l 地址转到不同的网页或不l j 的服务器从而 彻底摆脱了只能按照特定路径一步步查找信息的限制。用户查询w e b 信息的客 户机软件称为w e b 浏览器。用户在浏览器软件的支持下,通过简单的单击鼠标 操作就可以找到所需要的信息,这些信息的内容可以是文本、图形、声音、动 画或视频图像等。 简而言之,w e b 是一个基于i n t e r a c t 的、全球连接的、分布式的、动态的、多 平台的交互式超媒体信息系统,它使得用户在自己的计算机上通过i n t e n l e t 存取在 世界各地的计算机系统中的信息。从技术角度上说w e b 是i n t e r n e t 上那些支持 天律大学硕士学位论文 第一章绪论 t c p h p 和h 1 1 1 p 的客户机与服务器的集合,通过它可以存取世界各地的超媒体文 件( 用h t m l 编写) ,内容包括文字、 图形、声音、动画、资料库以及各式各样 的软件等5 卅。 1 2 数据库技术的发展 数据库技术是2 0 世纪6 0 年代后期产生和发展起来的一项计算机数据管理技 术,它的出现和发展使计算机应用渗透到人类社会的广阔领域。当时计算机开始 广泛地应用于数据管理,对数据的共享也提出了越来越高的要求。传统的文件系 统已经不能满足人们的需要,能够统一管理和共享数据的数据库管理系统 ( d b m s ) 应运而生。顾名思义,数据库指的是特定信息的集合,而数据库管理 系统是对数据库进行管理和控制的软件。这些管理和控制功能主要包括数据库的 建立和维护、数据的插入、查询、删除和修改等。除了功能方面的要求外,对数 据库系统性能方面也有一定的要求,其中之一就是能够及时准确地满足多个用户 的并发存取操作,另外还要保证事务的原子性、时刻保证数据的一致性、要求硬 件和操作系统正常工作的情况下独立地并发操作而互不影响、不丢失数据。 数据模型是数据库系统的核心和基础,由数据结构、数据操作和完整性约束 三部分组成。数据结构是所研究对象类型的集合,在数据库系统中通常按照数据 结构的类型来命名数据模型,传统的数据模型有层次模型、网状模型和关系模型; 数据操作是指对数据库中各种对象的实例允许执行的操作的集合,数据库主要有 检索和更新两大类操作;数据库的约束条件是完整性规则的集合,即要保证数据 的正确性、有效性和相容性。 各种d b m s 软件都是基于某种数据模型的,所以通常也按照数据模型的特 点将传统数据库系统分为层次数据库、网状数据库和关系数据库三类。虽然前两 种数据库已经很好地解决了数据的集中和共享问题,但是在数据的独立性和抽象 级别上存在很大欠缺,用户对这两种数据库进行存取时,仍然需要明确数据的存 储结构,指出存取路径,而关系数据库则较好地解决了这些问题。 关系数据库理论出现与6 0 年代末到7 0 年代初。关系数据模型是以集合论中 的关系概念为基础发展起来的,有严格的数学基础,关系模型中无论是实体还是 实体f b j 的联系均由单一的结构类型一关系来表示,其抽象级别较高、而且简单清 晰、便于理解和使用,因此关系数据库最终成为现代数据库产品的主流。 目前数据库的建设规模和性能,数据库信息量的大小和使用频度已成为衡量 个国家信息化程度的重要标志。从2 0 世纪7 0 年代后期开始,国外许多大学把 数据库原理与技术列为计算机专业的学习内容,我国高等院校从8 0 年代开始也 天津大学硕士学位论文 第一章绪论 把数据库原理与技术作为计算机专业的主要课程之一。目前数据库技术已成为信 息科学技术领域的重要基础1 2 3 。 1 3w e b 技术与数据库技术的结合 w e b 数据库是指将数据库技术与w e b 技术融合,使数据库成为w e b 的重要组 成部分的数据库。w e b 数据库集合了w e b 技术和数据库技术的优点使二者都发 生了质的变化:w e b 网页从静态网页发展成了由数据库驱动的动态网页,而数据 库实现了开发环境和应用环境的分离,用户端可以用统一的浏览器实现跨平台和 多媒体服务。 在传统的w e b 服务器中,文本和其它多媒体信息都是以文件的形式来进行存 储和管理的,所以,w e b 查询速度很慢、检索机制很弱,基于内容和基于结构的 检索尤其慢;同时w e b 的应用领域在不断扩展,静态的w e b 页面越来越不能满足人 们对w e b 上信息服务动态性、实时性和交互性的要求。另一方面,数据库技术经 过几十年的发展,其功能越来越强大,各种数据库系统,如:s y b a s e 、o r a c l e 、 i n f o r m i x 等专用数据库系统,只要给出查询条件便能很快得到查询结果,能对大 量数据进行有序地、有规则地组织与管理。但w e b 的亲切界面和广泛流行,又是 这些数据库所无法比拟的。为了进行网络上数据的高效存取,实现交互式动态w e b 页面就必须以大量数据资源为基础,因此必然要在w e b 中引人数据库。w e b 技术 和数据库技术的结合不仅把w e b 和数据库的所有优点集中在一起,而且充分利用 了大量已有的数据库信息资源,可以使用户在w e b 浏览器上方便地检索和浏览数 据库的内容,这对许多软件开发者来说具有巨大的吸引力。所以w e b 技术和数据 库技术相互结合领域的研究成为目前数据库技术的热点方向之一,而开发基于 w e b 数据库系统的动态网站已经成为w e b 技术研究的热点【5 - 7 1 。 和许多传统的数据库一样,w e b 数据库是一种可供用户访问的数据仓库或信 息存储库,然而w e b 数据库是一个新的研究领域,与传统数据库系统又有许多不 同的方而,例如:体系结构不同、访问方式不同、访问的用户不同、客户端简化 等。 1 4 论文所做的主要研究工作 w e b 的迅速发展使其成为全球信息传递与共亨日益重要和最具潜力的资源, 作为一种新的环境资源,为新技术的产生开辟了新的领域,同时也为传统技术的 研究提出了新的方向。如何有效管理w e b 上的大量信息,使用户能够以简单的方 天津大学硕士学位论文 第一章绪论 式有效的访问数据库,是研究人员面临的新课题。 本文对w e b 数据库系统( w e b _ d b s ) 的若干关键技术进行了分析和探讨:w e b 数据库的体系结构、w e b 数据库访问技术、w e b 数据库应用系统编程模型、性能 优化和安全性,然后设计了一个具体w e b 数据库的系统应用方案并使用该方案实 现了北京市劳保局就业分析系统。 1 5 论文结构安排 第一章讲述了w e b 数据库访问相关技术的一些回顾,数据库的产生与发展以 及数据库和w e b 技术的结合使用。第二章中讲述了基于w e b 数据库应用的关键技 术,从基本数据库的访问技术讲起,基本数据库的连接引擎如何与w e b 数据库访 问相结合并详细叙述了一种w e b 数据库访问技术的模式,即基于m v c 的w e b 数据库开发的研究。阐述了j s p 技术的优势,在j s p 中用到的关键技术。第三章 对北京市劳保局就业系统的功能w e b 数据库的安全性问题进行了分析。第四章在 前几章相关技术的分析的基础上,开发实现了北京市劳保局就业分析系统,并详 细分析了实现过程。最后一章对于本论文所做的工作以及论文的不足做了讨论。 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 第二章基于w e b 数据库应用的关键技术 2 1w e b 数据库访问技术 2 1 1w e b 数据库的体系结构 8 0 年代以来,系统体系结构经历了从传统的二级c l i e n t s e r v e r 结构到三级 c l i e n t s e r v e r 结构,直到今天的以i n t e r n e t 为核心、以w w w 技术为基础的b r o w s e r 作为软件集成环境,基于网络对象连接技术、多媒体文档结构以及跨越多种操作 系统和数据库平台的结构【2 】。 从逻辑上说,一个典型的应用可以分为四个组成部分:表示逻辑 ( p r e s e n t a t i o nl o g i c ) 、业务逻辑( b u s i n e s sl o g i c ) 、事务逻辑( t r a n s a c t i o n l o g i c ) 和数据逻辑( d a t al o g i c ) ,如图2 - 1 所示: 表示逻辑 业务逻辑 事务逻辑 数据逻辑 图2 - 1 应用的逻辑结构 各部分将完成应用的不同功能: 1 表示逻辑:它是应用中直接面向用户的部分,主要完成应用的前端界面 处理; 2 业务逻辑:它是应用中实现应用的业务处理的部分,主要完成应用业务 规则的处理: 3 事务逻辑:它是应用中实现应用的管理工作的部分,主要完成应用访问 数据的安全性、完整性、一致性等事务处理; 4 数据逻辑:它是应用中对数据进行管理的部分,主要完成应用对数据库 的实际存取、管理等工作。 2 111 客户机月务器结构 客户机服务器结构采用分布计算的思想,将上述四个方面的任务分成两部 分,由客户机和数据库服务器合作完成。客户机和数据库服务器之间进行通信, 客户机向服务器发出请求,服务器响应客户请求并把结果返回给客户。客户端需 天津大学硕士学位论文 第二章基于w e b 数据库应用的关键技术 配置好几层软件,如操作系统,网络协议软件,客户机软件及应用程序等,因而 变得很庞大,被称为“肥”客户机。在这种二级客户服务器结构中,一般客户 机主要负责应用逻辑的处理,用户界面的显示和处理,服务器负责向客户机提供 数据服务,实现数据管理和事务逻辑,有时也完成有限的应用逻辑由于应用逻 辑实现位置的不确定性,使数据库系统的应用、设计和维护的难度大大增加。 传统的二级c l i e n t s e r v e r 结构的问题主要是由于应用逻辑放在不合适的位 置:放在c 1 i e n t 端时,增加了应用的维护难度,同时对应用的安全构成威胁;把 应用逻辑放在s e r v e r 端时,就会增女r s e r v e r 的负担和加大s e r v e r 的实现难度。 解决方法就是把应用逻辑独立出来,这就是三层客户服务器结构。在这种 结构中,表示逻辑在客户端,应用逻辑由应用服务器负责,而事务逻辑和数据逻 辑则由数据库服务器实现。客户成为瘦客户,客户程序的维护大大减少,不同用 户也可共享相同的应用逻辑,当应用规则发生变化,数据库无需调整,只需升级 应用服务器即可i 。 三级c l i e n t s e r v e r 结构虽然解决了传统二级c 1 i e n t s e r v e r 结构中存在的 许多问题,但是在跨平台性、可维护性、适用范围等方面( 如远程访问与监控) 依然有着无法回避的弊端,尤其是c 1 i e n t s e r v e r 体系结构中表示逻辑无法动态 地适应业务规则变化的固有弊端,也严重的束缚了它的发展。 2 1 1 2 浏览器w e b 服务器模式 随着i n t e r n e t i n t r a n e t 的迅速发展和普及,人们希望将原本在局域网中使 用的数据库应用程序移植至u i n t e r n e t 中,同时由于应用系统的大型化,c s 结构 的缺陷和不足也日益明显。正是在这种情况下,一种新的应用模型浏览器 服务器( b r o w s e r s e r v e r ,简称b s ) 结构应运而生,它是w w w 技术与数据库技术 相结合的产物,是未来数据库应用的发展方向。 浏览器w e b n 务器模式,它将应用功能分成表示层、功能层和数据层三部分。 第一层是表示层,b p w e b 浏览器,由客户端完成用户的接口功能;第二层是功能 层,即w e b 服务器及其扩展,由各种应用服务器负责用户的服务功能;第三层数 据层,即数据库服务器,由数据库服务器负责数据存储和管理功能。这三层明确 分工,并在逻辑上独立。这种浏览器w e b 服务器模式的特点是:1 、用户端只使用 单一的浏览软件,维护工作简单;2 、信息的共享程度高;3 、扩展性好,可接入 i n t e r n e t :4 、系统的可伸缩性强。 2 1 2 基本的数据库访问技术 o d b c ( o p e nd a t a b a s ec o n n e c t i v i t y ) 是有微软公司提出的一个用于访问数 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 据库的统一界面标准,随着客户机服务器体系结构在各行业领域广泛应用,多 种数据库之间的互联访问成为一个突出的问题,而o d b c 成为目前一个强有力的 解决方案。o d b c 之所以能够操纵众多的数据库,是由于当前绝大多数数据库全 部或部分地遵从关系数据库概念,o d b c 是基于结构化查询语言( s o l ) ,使用s o l 可大大简化其应用程序设计接口( a p i ) ,由于o d b c 思想上的先进性,而且没有 同类标准或产品与之竞争,因而越来越受到众多厂家和用户的青睐。目前,o d b c 已经成为客户机服务器系统中的一个重要支持技术。 2 1 , 2 1o d b c 的基本思想与体系结构 o d b c 基本思想是提供独立程序来提取数据信息,并具有向应用程序输入数据 的方法。由于有许多可行的通信方法、数据协议和d b m s 能力,所以o d b c 方案可以 通过定义标准接口来允许使用不同技术,这种方案导致了数据库驱动程序的新概 念一动态链接库( d l l ) 。应用程序可按照请求启动动态链接库,通过特定通信方 法访问特定数据源,同时o d b c 提供了标准接口,允许应用程序编写者和库提供者 在应用程序和数据源之间交换数据【6 】。 为了保证标准性和开放性,o d b c 分为四层:应用程序( a p p l i c a t i o n ) 、驱 动程序管理器( d r i v e rm a n a g e r ) 、驱动程序( d r i v e r ) 、数据源( d a t as o u r c e ) 。 驱动程序管理器与驱动程序对于应用程序来说都表现为一个单元,它处理o d b c 函数调用,如图2 - 2 所示: l 应用程序( a p p l i c a t i o n ) i ( 驱d r 动i v 程e r 序m 管a n a 理g e r 器) 工工 驱动程序cd r ;v “, 士? i 数据源( d a t as o u r o e ) 图2 - 2 基于客户机服务器的o d b c 体系结构 o d b c 的功能架构如下: ( 1 ) 应用程序( a p p i c a t i o n ) 天津大学硕士学位论文 第二章基于w e b 数据库应用的关键技术 应用程序本身不直接与数据库打交道,主要负责处理并调用o d b e 函数,发 送对数据库的s q l 请求及取得结果。 ( 2 ) 驱动程序管理器( d r i v e rm a n a g e r ) 驱动程序管理器是一个带有输入程序的动态链接库( d l l ) ,主要目的是加载 驱动程序,处理o d b c 调用的初始化调用,提供o d b e 调用的参数有效性和序列有 效性。 ( 3 ) 驱动程序( d r i v e r ) 驱动程序是一个完成o d b c 函数调用并与数据之间相互影响的d l l ,当应用 程序调用s q l b r o w e r c o n n e c t0 ,s q l c o n n e c t0 或s q l d r i v e r c o n n e c t ( ) 函数时, 驱动程序管理器装入驱动程序。 ( 4 ) 数据源( d a t as o u r c e ) 数据源包括用户想访问的数据以及与其相关的操作系统、d b m s 和用于访问 d b m s 的网络平台。 o d b c 接口的优势之为互操作性,程序设计员可以在不指定数据源情况下 创建o d b c 应用程序。从应用程序的角度方面,为了使每个驱动程序和数据源都 支持相同的0 d b c 函数调用和s o l 语句集,o d b o 接口定义了一致性级别,即o d b c a p i 一致性和o d b cs o l 语法一致性。一致性级别通过建立标准功能集来帮助应 用程序和驱动程序的开发者,应用程序可以很容易地确定驱动程序是否提供了所 需的功能,驱动程序可被开发以支持应用程序选项,而不用考虑每个应用程序的 特定请求。 2 1 2 2 1 a v a 数据库连接- j d b c 2 1 2 2 1j d b c 介绍 j d b ca p i 为j a v a 开发者使用数据库提供了统一的编程接口,它由一组j a v a 类 和接口组成。j d b c a p i 使得开发人员可以使用纯j a v a 的方式来连接数据库,并进 行操作。可用以使j a v a 应用以一种独立于( 不依赖于) 开发商的方式向数据库发 送s q l 语句。此a p i 主要由一些接口组成,其中定义了可用于程序中的大量方法。 数据库引擎开发商和第三方厂商针对特定数据库引擎提供了这些接口的实现,这 种实现即称为j d b c 驱动程序( j d b co r i v e r ) 。由此可以采用一种不依赖于数据库 的方式来开发程序,并且在部署时通过插入适当的j d b c 驱动程序即可连接至一个 特定的数据库引擎【1 1 。 该协议遵循了微软公司非常成功的0 d b c 模式,它为数据库访问提供了一个c 编程语言界面。无论是j d b c 还是o d b c ,都采用了相同的开发思路,即根据j d b c a p i 编写的程序将能够与j d b c 驱动程序管理器进行通信,而j d b c 驱动程序管理 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 器则要使用它与实际的数据库进行通信时插入管理器的驱动程序。 更准确地说,j d b c 由两层组成。上面一层是j d b ca p i 。该a p i 负责与j d b c 管理器驱动程序a p i 进行通信,将各个不同的s q l 语句发送给它。该管理器应该 ( 对程序员是透明的) 与实际连接到数据库的各个第三方驱动程序进行通信,并 且返回查询的信息,或者执行由查询规定的操作。 上述情况来看,j a v a j d b c 层是大多数编程人员必须使用的,图2 - 3 说明了 在这一层上各个组件的运行情况。 图2 - 3j d b c 至数据库的通信路径 a p i 驱动程序a p l 2 122 2j d b c 驱动程序的类型 j d b c 以一种统一的方式对各种各样的数据库进行存取。和o d b c 一样,j d b c 为开发人员隐藏了不同数据库的不同特性。另外,由于j d b c 建立在j a v a 基础上, 所以具有数据库存取的平台独立性。 j d b c 驱动程序可以分为下面四个类型”1 : 类型1 :j d b c - o d b c 桥( j d b c - o d b cb r i d g e ) j d b c - o d b c 桥驱动程序为j a v a 应用程序提供了一种把j o b c 调用映射为o d b c 调用的方法。因此,需要在客户端机器上安装o d b c 驱动。j d b c - o d b c 桥在j d b ca p i 和o d b ca p i 之间提供了一个桥梁,这个桥把标准的j d b c 调用翻译成对应的o d b c 调用,然后通过o d b c 库把它们发送到o d b c 数据源。如图2 - 4 所示。这种方式有 天律大学硕士学位论文第二章基于w e b 数据库应用的关键技术 一个明显的缺点就是效率相对低下。 图2 - 4j d b c o d b cb r i d g e 调用 类型2 :j a v a 到本地a p i 驱动程序( j d b c - n a t i v eb r i d g e ) j d b c 本地驱动程序使用j a v a 实现与数据库厂商专有a p i 的混合形式来提供 数据访问。它建立在本地数据库驱动程序的顶层,而不需要使用o d b c 。j d b c 程 序将标准的j d b c 调用转变为对数据库a p i 的本地调用,该类型的驱动程序是本 地部分j a v a 技术性能的本机a p i 驱动程序。使用此类型需要牺牲j d b c 的平台独 立性,驱动程序和厂商专有的a p i 必须在每个运行j a v a 应用程序的客户端安装。 如图2 5 所示。 l 竖! | 卜叫竺! :竺! 卜叫旦型竺i 图2 - 5j d b c - n a t i v e 调用 类型3 :j a v a 到专有网络协议( j d b c - n e t w o r kb r i d g e ) j d b c 网络桥驱动程序是个纯粹的j a v a 客户程序库,不再需要客户端数据库 驱动程序。它使用跨数据库协议,将数据库访问请求传输给服务器组件,然后该 服务器组件将访问请求转换成特定的数据库协议。它使用网络上的中间服务器来 存取数据库。这种应用使得负载均衡、连接缓冲池和数据缓存等技术有了实现的 可能,很适合在i n t e r n e t 上使用。如图2 - 6 所示。 e 岖三丑固 图2 - 6j d b c - n e t w o r k 调用 类型4 :j a v a 到本地数据库协议( p u r ej a v ad r i v e r ) 该驱动程序是一个纯粹的j a v a 库,用于将j d b c 访问请求直接转换成特定数 据库协议。这种类型通过使用一个纯j a v a 驱动程序执行数据库的直接访问。j a v a 驱动程序运行在客户端,体系结构特别简单,但相应的安全性和程序的逻辑性不 好。如图2 7 所示。 图2 - 7 p u r ej a v aj d b c 调用 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 总之,j o b c 的最终目的是为了实现下列目标: 1 编程人员能够使用j a v a 编程语言,采用标准的s q l 语句,甚至使用专用 的s q l 扩展名,来编写能够访问任何数据库的应用程序,同时仍然遵循 j a v a 语言的有关约定( 所有j d b c 驱动程序必须至少支持初级的s q l9 2 版本) 。 2 数据库供应商和数据库工具供应商能够提供底层驱动程序。因此它们能 够为其特定数据库产品优化其驱动程序。 2 1 3 基于w e b 数据库的访问技术的分析 2 1 3 1 基本原理 w w 是以i n t e r n e t 作为传输媒介的一个应用系统,w 孵网上最基本的传输单 位是w e b 网页。h t t p 协议是基于t c p 3 3 1 基本原理i p 协议之上的协议,是通 用的、无状态的、面向对象的协议。h t t p 的作用原理包括以下四个步骤: ( 1 ) 连接:w e b 浏览器与w e b 服务器建立连接是,打开一个称为s o c k e t ( 套 接字) 的虚拟文件,此文件的建立标志着连接成功。 ( 2 ) 请求:w e b 浏览器通过s o c k e t 向w e b 服务器提交请求。 ( 3 ) 应答:w e b 浏览器提交请求后,通过h t t p 协议传送给w e b 服务器。w e b 服务器接到后,进行事务处理,处理结果又通过h t t p 传回给w e b 浏览器,从而 在w e b 浏览器上显示出所请求的页面。 ( 4 ) 关闭连接:当应答结束后,w e b 浏览器与w e b 服务器断开。 w w 与数据库连接的物理模型如下图2 - 8 所示: w e b 数 服 9 据 务 库 服 器 务 器 图2 - 8w w w 与数据库连接的物理模型 在w e b 服务器与数据库服务器之间通过中问件进行连接。中间件是一个很模 糊的术语,它是指在应用程序逻辑和其下的物理网络之间进行操作的不同的分布 式计算服务和应用程序开发环境。基于数据库的中间件是所有中间件中最普遍、 最成熟的一种。主要包括:通用网关接口( c g i ) 、a s p 、j a v a s e r v l e t 模板引擎、 p h p 、j s p 。中间件允许应用程序同本地或异地的数据库进行通信,负责接受客户 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 端的应用请求,对请求做出响应处理后将请求交给后端服务器,并负责将服务器 的处理结果返回给客户端,它提供了一系列应用程序接口a p i ,通过中间件而不 考虑操作系统及网络来访问数据库。 2 1 3 2 几种基于w e b 的数据库访问技术比较研究 近年来,随着w 聊应用领域的不断扩展,当前许多用户网络应用系统,实现 w e b 联机处理信息,统一用户接口为w e b 浏览器,取代传统的客户机服务器模式 ( c s ) 或文件服务器模式,构建新型的浏览器服务器模式( b s ) 。在这其中, 关键的问题就是如何将用户的主干数据库与w e b 连接起来。下面分别对几种基于 w e b 的数据库访问技术进行研究【“。 2 1 3 2 1 通用网关接口c g i ( 1 ) c 6 i 原理 c 6 i ( c o m m o ng a t e w a yi n t e r f a c e ,通用网关接口) 技术的原理如图2 曲所 示。 图2 - 9c g i 技术原理框架图 首先,客户端( 即w e b 浏览器) 根据某资源的u p & 向w e b 服务器提出请求: w e b 服务器的h t t pd a e m o n ( 守护进程) 将此请求的参数输入s t d i n 和环境变量 传递给指定的c 6 i 程序,并启动此应用程序进行处理,如要存取数据库服务器上 数据库的数据,则向数据库服务器发出处理请求,数据库服务器将执行结果返回 给c g i 程序;c g l 程序把处理结果通过标准输出s t d o u t 返回给h t t pd a e m o n 进 程,再由h t t pd a e m o n 进程返回给客户端,由浏览器解释执行,将最终结果在用 户面前显示。 c g i 并非一个高效的解决方案。对于到来的每一个请求,w e b 服务器都不得 不创建一个新的操作系统进程,加载一个解释器和一个脚本,并执行此脚本,然 后将此进程释放。对于服务器来说这样做的开销太大,而且不能很好地应对数据 流量的增加,即可扩展性不好。 c g 允许w e b 服务器运行外部应用程序,以通过外部程序来访问数据库等一 些外部资源,并产生h t m l 文档给浏览器。但每次请求c g i 程序都要重新启动程 序,影响了响应的速度,且c g i 程序不能被多个客户请求共享,影响了各种资源 天律大学硕士学位论文第二章基于w e b 数据库应用的关键技术 的使用效率。为了克服c g i 的这些缺点,一些w e b 服务器厂商开发出了专用的 a p i ,这样就允许程序员编写程序来扩展服务器的功能。a p i 相对于c o l 与w e b 服务器的结合更加紧密,占用的资源较少,运行的效率大有提高,安全性和保护 性更好。 编写c g i 的程序设计语言有许多种,常用的有c 、p e r l ,v i s u a lc + + 等,由 于对程序员要求较高、且编写与调试比其他的编程技术困难,故近年来在基于 b s 的信息系统工程实践中己很少被采用。 2 1 3 2 2a s p 技术 a s p ( a c t i v es e r v e rp a g e s ) ,是基于微软w i n d o w s 平台的动态页面开发技 术,可以用y b s c r i p t 或j a v a s c r i p t 语言来编写,支持c o m d c o m 构件模型,其 技术易学,开发效率高。a s p 技术目前已经发展到了n e t 版。在浏览器地址栏中, 文件扩展名a s p 已经被浏览者所接受。a s p 中的a d o 对象用来执行与数据库相关 的操作,a d o 再以o l e d b 或o d b c 的方式访问数据库,在n e t 版本中这一对象称 为a d o n e t 。 ( 1 ) a s p 工作原理 用户浏览器向w e b 服务器( i i s p w s ) 发出请求,w e b 服务器会判断,a s p 文件中是否含有s c r i p t 程序( v b s c r i p t 或j a v a s c r i p t ) ,如有,则加以解释执 行,否则直接传给浏览器。 若执行中的s c r i p t 程序使用了a d o 对象,则w e b 服务器会根据a d o 对象 所设置的参数来启动对应的o d b c 驱动程序,访问相应的数据库,进而达到存取 数据库的目的。 如果有数据需显示在浏览器上,则s c r i p t 程序会利用a s p 提供的输出对 象将数据由w e b 服务器传送给浏览器。a s p 的工作原理详见图2 - 1 0 。 h 1 1 h i 一 h 1 t p 【。,h h n 存广 ( 2 ) a s p 的强势 毒;:冀皆 t - 摩- - 图2 一1 0 a s p 的工作原理 天津大学硕士学位论文第二章基于w e b 数据库应用的关键技术 安装使用方便。装好一个w i n d o w s2 0 0 0 ,只要安装了i i s ,a s p 就可以使 用了,不必花费心思去配置。 效率高。在低的访问量下,a s p 能体现出一定的效率,这时它对机器的要 求并不高。 ( 3 ) a s p 的弱势 w i n d o w s 本身的所有问题都会一成不变地累加到它的身上。安全性、稳定 性、跨平台性都会因为与n t 的捆绑而显现出来。 a s p 由于使用了c o m 组件,所以它会变得强大,但是这样的强大由于 w i n d o w sn t 系统最初的设计问题而会引发大量的安全问题。 由于a s p 还是一种s c r i p t 语言,所以除了大量使用组件外,没有别的办 法提高其工作效率,它必须面对即时编译的时间考验。 无法实现跨操作系统的应用。 无法完全实现企业级的功能:安全的集群、负载均衡。 2 1 3 2 3p h p 技术 p h p ( p e r s o n a lh o m ep a g e s ) 是一种h t m l 内嵌式语言,可以在多种平台上 运行。h t p 的语法与c 语言、j a v a 语言的语法极为相似,但也有自己独特的语法。 它具有庞大的函数库,这主要是因为它是开源式的,源代码完全公开。p h p 支持 几乎所有的数据库。p h p 提供了标准的数据库接口,数据库连接方便,兼容性强, 扩展性强,可以进行面向对象编程。但是p h p 对组件的支持不够。 ( 1 ) p h p 的强势 一种能快速学习、跨平台、有良好数据库交互能力的开发语言,而正是它 的这种能力让u n i x l i n u x 有了一种与a s p 媲美的开发语言。 与a p a c h e 及其他扩展库结合紧密。p h p 与a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聚氨酯锤纹漆项目可行性研究报告
- 防洪知识培训大纲课件
- 防汛知识培训考核目的
- 防汛救援知识培训材料课件
- 智慧城管信息化综合解决方案
- 环境科技行业环保装备行业市场格局分析
- 机械制造行业智能制造技术应用思考
- 万寿菊种植合同5篇
- 联通合约机,合同3篇
- (宝典指南)水泥砂石资料购销合同3篇
- 2025年广东省中考英语试卷深度评析及2026年备考策略
- 2025-2026秋中小学升旗仪式演讲稿:(第3周)积跬步养习惯向未来
- 2025年新疆投资发展集团有限责任公司人员招聘笔试备考题库及答案详解(新)
- 装备制造业研究报告
- 【课件】第6课 西方的文官制度 课件高中历史统编版(2019)选择性必修一国家制度与社会治理
- 进场人员、机械、材料报审表
- 《田径-弯道跑》教案
- 大型机械设备归档资料(塔吊 施工电梯 安装验收 检查等)
- 幼儿园小班语言《我自己走》课件
- 竞争性谈判项目谈判文件
- 品质管控流程PPT课件.pptx
评论
0/150
提交评论