




已阅读5页,还剩84页未读, 继续免费阅读
(计算机应用技术专业论文)数据库访问中间件的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西北下 业大 学4 1 11 卜 学位论文摘傲 摘要 面向对象的模型成为新的应用程序的首选模型,关系数据库系统已经是很 成熟的系统,占据了当今的数据库市场由于对象模型和关系模型之间存在一 种基本的阻抗不匹配,导致使用关系数据库的面向对象系统开发人员通常要花 费大量的时间来将对象持久化。因此要使面向对象的应用实用化,需要引入对 象/ 关系映射技术来避免对象和关系之间的阻抗不匹配川 。 本文以软件复用和面向对象思想为指导,以 解决a d o .n e t的在数据库访问 方面存在的问题为目 标,通过深入的 研究和广泛的实践,在 a d o .n e t的基础 上引入了对象/ 关系映射技术并构建了一个可复用的数据库访问中间件框架 d a ms ( d a t a b a s e a c c e s s mi d d l e s o ft w a r e )。在 d a ms的支持下,上层应用模 块可以按照面向对象模型对数据建模,对象数据的持久化由 d a ms完成。 d a ms基于通用的关系数据库实现,并不绑定在某个特定的关系数据库产品 上。另外 d a ms提供的是一种在关系数据库中持久化对象的通用机制,这保证 了它可以重用于不同的应用系统。 d a ms己成功的应用于天津公交信息化系统的开发中,不仅满足了用户的 需求、高效可靠,而且对基于.n e t平台的应用系统开发具有较好的可复用性。 关键词:对象/ 关系映射, 数据库访问, 中间件,, a d o .n e t 西北工业火学硕 卜 学位论义abs t ract abs t ract t h e o b j e c t - o r i e n t e d m o d e l b e c o m e s t h e fi r s t - s e l e c t e d m o d e l o f n e w a p p l i c a t i o n p r o g r a m . i t i s a v e r y r i p e s y s t e m t o d a t a b a s e s y s t e m w h i c h h a s o c c u p i e d t h e c u r r e n t d a t a b a s e m a r k e t . b e c a u s e a k i n d o f b a s i c m i s m a t c h e x i s t s b e t w e e n o b j e c t m o d e l a n d r e l a t i o n m o d e l , i t le a d s t o t h a t o b j e c t s y s t e m a t i c d e v e l o p e r s p e n d a l a r g e a m o u n t o f t i m e t a k i n g o b j e c t p e r s i s t e n t . s o it i s i m p o rt a n t t o i n s t a n c e o b j e c t , a n d n e e d s t o i n t r o d u c i n g o b j e c t/ r e l a t i o n m a p p i n g t e c h n o l o g y t o a v o i d m i s m a t c h o f o b j e c t a n d r e l a t i o n t h i s p a p e r is a i m t o s o l v e t h e e x i s t in g p r o b l e m o f w h i c h a d o . n e t a c c e s s t h e d a t a b a s e i n v o l v e d . t h r o u g h d e e p r e s e a r c h i n g a n d e x t e n s i v e p r a c t i c i n g , i t i n t r o d u c e s o b j e c t / r e l a t i o n m a p p i n g t e c h n o l o g y b a s e d o n a d o .n e t , a n d s t r u c t u r e s o n e d a t a b a s e fr a m e d a ms w h i c h i s d a t a b a s e a c c e s s mi d d l e s o f t w a r e . s u p p o rt e d b y d a ms , i t c a n b e a c c o r d i n g t o o b j e c t - o r i e n t e d m o d e l t o m o d e l i n g o f t h e d a t a , a n d t h e p e r s i s t e n t i s f i n i s h e d b y d a ms . d a ms i s r e a l i z e d o n t h e b a s i s o f t h e re l a t i o n d a t a b a s e i n c o m m o n u s e , d o e s n o t t i e a n d f i x o n a p i e c e o f s p e c i f i c r e l a t i o n d a t a b a s e p r o d u c t s . i n a d d i t i o n , d a ms o f f e r s t o t a k e i n c o m m o n u s e m e c h a n is m o f o b j e c t r e u s e a m o n g t h e r e l a t i o n d a t a b a s e . i t a s s u r a n c e s t h a t i t m a y b e p u t i n a p o s i t i o n t o d i f f e r e n t a p p l i c a t i o n s y s t e m s . d a ms h a s a l r e a d y s u c c e s s f u l a p p l i e d t o t i a n j i n p u b l i c t r a n s it i n f o r m a t i o n s y s t e m a t p r e s e n t , n o t m e r e l y i t m e e t u s e r s d e m a n d s , b u t a l s o i t h a s b e tt e r r e u s e p e r f o r m a n c e t o t h e d e v e l o p m e n t b a s e d o n .n e t p l a t f o r m k e y wo r d s : o / r ma p p i n g , d a t a b a s e a c c e s s , mi d d l l e s o ft wa r e , a d o .n e t 西北工业大学倾 : 学位论文 第一章绪论 第一章 绪论 1 . 1课题的研究背景和意义 对象技术 ( 例如j a v a 技术)是应用于新软件系统开发的最常见的环境。另 外,关系数据库仍然是许多人都青睐的持久信息存储方法,并月 _在较长时间内 这种情况不太会改变。因此,在面向对象流行的时候,数据库厂商也在进行着 数 据 对 象化的 研究。 这些 研究 在上 个 世纪 八 十 年 代就 初 现端 倪。 数据 库的 对象 化一般有两个方向:一个是在主流的关系数据库的基础上加入对象化特征,使 之提供面向 对象的服务, 但访问语言 还是基于s q l ;另一个方向就是彻底抛弃 关系数据库,用全新的面向对象的概念来设计数据库,这就是对象数据库 o d b ms r2 l 对象数据库就是采用全新的面向 对象概念来设计数据库的全新数据库类 型。在这方面,主要以一些大学研究机构进行设计和开发,有些也形成了产 品,不过由于市场方面的原因 ( 主要是关系数据库的容易上手和市场绝对领导 地位)和 o d b ms 先天的一些弱点 ( 比如查询引擎很难优化),使 o d b ms 没 有象关系数据库那样流行起来。 不过对象数据库的对象化特点还是令人割舍不下,目前还是有一些很好的 产品在市场上,从商用的到免费的都用。目 前在o d b m s 领域占据领导地位的 是v e r s a n t . f a s t o b j e c t s 和o b j e c t s t o re等 几大 厂商, 并且, 市 场份 额也 在逐 步 扩 展。免费的产品包括c 十 十 编写的o z o n e 、纯j a v a 的d b 4 。 等等。还有一些研究机 构开发一些底层的面向 对象数据库引擎, 但只提供一些底层的a p i ,不提供管 理方面的功能,以及一些算法提供开放式接口,让厂商去选择和实现。比如美 国 威斯康新大学计算机系数据库组的s h o r e引擎,就是一个非常出色的面向 对象数据库引擎,现在还在积极的更新中,一些其它研究机构和数据库厂商采 用它完成了自己的特殊的对象数据库,比如专用于地理信息的数据库、专用于 宇宙空间数据研究的数据库等等。 目 前对象数据库最大的障碍是缺乏统一的 规范, 各个 数 据 库厂 商 有各自 的 访问 接口 。 对 象 数据 库比 起关 系数 据库 来, 不 只是基本的几种数据类型那么简单,它还涉及继承处理、多态等一大堆面向对 象特征的实现,规范化道路当 然困难重重。这也是对象数据库无法普及的一个 重要原因。 随着许多关系数据库厂商开始提供对象化服务,各自 的接口开始互不兼 容,在经历一些麻烦之后,关系数据库厂商感觉到规范化的必要,因为当初关 系数据库雄霸天下时s q l 9 2 标准起了很大作用,大家可以按照统一的编程方式 西北工业大学倾 : 学位论文 第一章绪论 第一章 绪论 1 . 1课题的研究背景和意义 对象技术 ( 例如j a v a 技术)是应用于新软件系统开发的最常见的环境。另 外,关系数据库仍然是许多人都青睐的持久信息存储方法,并月 _在较长时间内 这种情况不太会改变。因此,在面向对象流行的时候,数据库厂商也在进行着 数 据 对 象化的 研究。 这些 研究 在上 个 世纪 八 十 年 代就 初 现端 倪。 数据 库的 对象 化一般有两个方向:一个是在主流的关系数据库的基础上加入对象化特征,使 之提供面向 对象的服务, 但访问语言 还是基于s q l ;另一个方向就是彻底抛弃 关系数据库,用全新的面向对象的概念来设计数据库,这就是对象数据库 o d b ms r2 l 对象数据库就是采用全新的面向 对象概念来设计数据库的全新数据库类 型。在这方面,主要以一些大学研究机构进行设计和开发,有些也形成了产 品,不过由于市场方面的原因 ( 主要是关系数据库的容易上手和市场绝对领导 地位)和 o d b ms 先天的一些弱点 ( 比如查询引擎很难优化),使 o d b ms 没 有象关系数据库那样流行起来。 不过对象数据库的对象化特点还是令人割舍不下,目前还是有一些很好的 产品在市场上,从商用的到免费的都用。目 前在o d b m s 领域占据领导地位的 是v e r s a n t . f a s t o b j e c t s 和o b j e c t s t o re等 几大 厂商, 并且, 市 场份 额也 在逐 步 扩 展。免费的产品包括c 十 十 编写的o z o n e 、纯j a v a 的d b 4 。 等等。还有一些研究机 构开发一些底层的面向 对象数据库引擎, 但只提供一些底层的a p i ,不提供管 理方面的功能,以及一些算法提供开放式接口,让厂商去选择和实现。比如美 国 威斯康新大学计算机系数据库组的s h o r e引擎,就是一个非常出色的面向 对象数据库引擎,现在还在积极的更新中,一些其它研究机构和数据库厂商采 用它完成了自己的特殊的对象数据库,比如专用于地理信息的数据库、专用于 宇宙空间数据研究的数据库等等。 目 前对象数据库最大的障碍是缺乏统一的 规范, 各个 数 据 库厂 商 有各自 的 访问 接口 。 对 象 数据 库比 起关 系数 据库 来, 不 只是基本的几种数据类型那么简单,它还涉及继承处理、多态等一大堆面向对 象特征的实现,规范化道路当 然困难重重。这也是对象数据库无法普及的一个 重要原因。 随着许多关系数据库厂商开始提供对象化服务,各自 的接口开始互不兼 容,在经历一些麻烦之后,关系数据库厂商感觉到规范化的必要,因为当初关 系数据库雄霸天下时s q l 9 2 标准起了很大作用,大家可以按照统一的编程方式 两北丁业大学硕 : 学位论 文 第一章绪论 来访问高性能的商用数据库。关系数据库厂商集中起来,重新将对象化服务规 范起来,形成了s q l 9 9 规范, 将其中的对象结构等内容规范起来,开始一个崭 新的面向对象的关系数据库 ( o r d b ms )的历程。 但在 一 般的开发人员眼中,数据库就是指关系数据库,因此,很多应用还 是采用简单的j d b c来访问数据库。在开发的过程中,大家逐渐感觉到j d b c 的局限性,比如调用复杂、容易产生资源泄漏等等,与面向对象的j a v a 语言 有 一段距离,因此,很多开发小组开始思考如何将应用中的数据进行对象化建 模,然后再想办法与j d b c结合起来,这就是j a v a 数据库开发中的层出不穷的 对象包装技术。但是这种传统包装方式的存在一些主要缺陷; . 对象的查询仍局限于s q l 。 这一点也是这种简单的包装方法最不能摆脱 关系数据库的地方。一些命名冲突带来了很多维护工作量,代码中必须 还保留数据表的命名体系, 而不是对象类的命名体系。这将使调用人员 仍需要清楚记得两套命名体系,无论时间经过多久,或者开发人员是否 有流动。此外,对于普遍需要用到的连表查询,也给应用开发带来困 难,这些地方仍不能突破s q l 的限制。 . s q l 资源占 用多。 在处理对象集合访问或者处理集合类型属性时,往往 只能在同一个c o n n e c t i o n 中处理一切事务,这就要求一次性地将集合中 的对象全部读入,如果集合很大的话,容易造成数据库拥塞,使得性能 大打折扣,适得其反。这方面的优化也是很多开发人员一直在努力改进 的。 . 对象关系处理复杂。 在对象之间的关系处理上,普通的包装技术是一种 表面上的处理,在访问时调用者仍需要用大量的代码进行处理,并且, 这还只是读取, 在写入关系属性时会有更多的细节问 题需要处理。 .面向对象特色只能应用一小部分。这些面向对象的包装到目 前为止,都 还只是很基本的处理,而面向 对象的精华:继承和多态,在这里得不到 任何帮助。因此放弃了很多合理的设计来迁就数据库的包装。 以上就是基本数据包装的主要缺陷,当然还有更多的小问题也需要额外的 处理。 针对这些缺陷和问题,引入了数据库访问中间件。它采用了关系/ 对象映射 技术来实现对象之间关系的处理,而且还加入一些延迟访问的机制,将对象之 间的引用在需要用的时候刁去连接数据库取数据,另外,在类的继承上,也在 数据库包装上得到体现,同时需要应用一些自 动命名转换器,将客户代码中的 类名、属性名在内部处理的时候自 动地转换到对应的数据库结构命名空间上, 这样,应用开发的时候不再关心具体的数据库结构,不再需要记忆不同地命名 体系,只需要一心一意地根据类图来进行开发。对象关系的查询也使应用开发 变得非常方便(3 西北工业大学硕士学位论文 第一章绪论 本文广泛研究了当 今最流行的企业级应用开发平台j 2 e e 和.n e t 。 在基于 对象/ 关系映射技术方面,j 2 e e阵营推出了多个数据库访问中间件产品如 h i b e rn a t e , j d o等等,利用这些数据库访问中间件产品,开发人员可以迅速而 简便的开发出 优秀的面向对象的数据访问存取逻辑组件。而在a d o .n e t 平台 上却没有类似的产品。 木文以软件复用和面向对象思想为指导,以解决a d o .n e t的数据库访问 层存在的问题为目标,通过深入的研究和广泛的实践,引入了关系/ 对象映射技 术并在a d o .n e t的基础上构建了一个可复用的数据库访问中间件框架d a ms ( d a t a b a s e a c c e s s mi d d l e s o ft w a r e )。这个框架为用a d o .n e t开发企业级应用 数据库访问逻辑组件的编程人员提供了一个方便,灵活,可扩展的平台。 1 . 2 论文的内容及组织 本文主要研究了以下内容: .数据库访问的关键技术和发展趋势。 .中间件技术的分类和特征口 .在a d o .n e t 基础上引入了关系/ 对象映射技术设计并实现了d a ms 中 间件框架。 第二章介绍了数据库访问 技术的 现状,并着重分析了a d o .n e t 的不足及 对象/ 关系映射技术。第三章根据a d o .n e t 在数据访问 层的实践提出了d a m s 中间件框架模型,并实现d a m s 框架。第四章从使用者的角度对d a ms 中间 件框架进行分析,并介绍了如何用d a ms 框架开发天津公交信息化系统。第五 章是对全文的总结和展望。 西北工业大学硕士学位论文 第一章绪论 本文广泛研究了当 今最流行的企业级应用开发平台j 2 e e 和.n e t 。 在基于 对象/ 关系映射技术方面,j 2 e e阵营推出了多个数据库访问中间件产品如 h i b e rn a t e , j d o等等,利用这些数据库访问中间件产品,开发人员可以迅速而 简便的开发出 优秀的面向对象的数据访问存取逻辑组件。而在a d o .n e t 平台 上却没有类似的产品。 木文以软件复用和面向对象思想为指导,以解决a d o .n e t的数据库访问 层存在的问题为目标,通过深入的研究和广泛的实践,引入了关系/ 对象映射技 术并在a d o .n e t的基础上构建了一个可复用的数据库访问中间件框架d a ms ( d a t a b a s e a c c e s s mi d d l e s o ft w a r e )。这个框架为用a d o .n e t开发企业级应用 数据库访问逻辑组件的编程人员提供了一个方便,灵活,可扩展的平台。 1 . 2 论文的内容及组织 本文主要研究了以下内容: .数据库访问的关键技术和发展趋势。 .中间件技术的分类和特征口 .在a d o .n e t 基础上引入了关系/ 对象映射技术设计并实现了d a ms 中 间件框架。 第二章介绍了数据库访问 技术的 现状,并着重分析了a d o .n e t 的不足及 对象/ 关系映射技术。第三章根据a d o .n e t 在数据访问 层的实践提出了d a m s 中间件框架模型,并实现d a m s 框架。第四章从使用者的角度对d a ms 中间 件框架进行分析,并介绍了如何用d a ms 框架开发天津公交信息化系统。第五 章是对全文的总结和展望。 西北下业大学倾 : 学位论文第_节 数据i 车 访问中间件的研究 第二章 数据库访问中间件的研究 2 . 1 中间件技术综述 在信息技术革命的浪潮推动下,计算机技术迅猛发展。从硬件技术看,摩 尔定律一次次的被证实,c p u速度越来越高,处理能力越来越强;从软件技术 看, 应用程序的规模不断扩大, 特别是i n t e m e t 及www的出现,使计算机的 应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都 对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种 硬件系统平台 ( 如p c ,工作站,小型机等),在这些硬件平台上又存在各种各 样的系统软件 ( 如不同的操作系统、数据库、语言编译器等),以及多种风格 各异的用户界面, 这些硬件系统平台还可能采用不同的网络协议和网络体系结 构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问 题。在这样的背景之下,中间件技术应运而生。 2 . 1 . 1中间件技术 为解决分布异构问题,人们提出了中间件 ( mi d d l e w a r e )的概念。中间件是 位于平台 ( 硬件及操作系统)和应用之间的通用服务 ( 如图2 . 1 所示)这些服 务具有标准的程序接口 和协议。它是基础软件的一大类, 属于可复用软件的范 畴。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种 实现4 1 图2 . 1中间件 比较普遍被接受的中间件的定义是i d c表述的:中间件是一种独立的系 统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资 源,中间件位于客户机服务器的操作系统之上, 管理计算资源和网络通信s 西北下业大学倾 : 学位论文第_节 数据i 车 访问中间件的研究 第二章 数据库访问中间件的研究 2 . 1 中间件技术综述 在信息技术革命的浪潮推动下,计算机技术迅猛发展。从硬件技术看,摩 尔定律一次次的被证实,c p u速度越来越高,处理能力越来越强;从软件技术 看, 应用程序的规模不断扩大, 特别是i n t e m e t 及www的出现,使计算机的 应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都 对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种 硬件系统平台 ( 如p c ,工作站,小型机等),在这些硬件平台上又存在各种各 样的系统软件 ( 如不同的操作系统、数据库、语言编译器等),以及多种风格 各异的用户界面, 这些硬件系统平台还可能采用不同的网络协议和网络体系结 构连接。如何把这些系统集成起来并开发新的应用是一个非常现实而困难的问 题。在这样的背景之下,中间件技术应运而生。 2 . 1 . 1中间件技术 为解决分布异构问题,人们提出了中间件 ( mi d d l e w a r e )的概念。中间件是 位于平台 ( 硬件及操作系统)和应用之间的通用服务 ( 如图2 . 1 所示)这些服 务具有标准的程序接口 和协议。它是基础软件的一大类, 属于可复用软件的范 畴。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种 实现4 1 图2 . 1中间件 比较普遍被接受的中间件的定义是i d c表述的:中间件是一种独立的系 统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资 源,中间件位于客户机服务器的操作系统之上, 管理计算资源和网络通信s 西北工业大学r士学位论义第二章数据库访问中间件的研究 i d c对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不 仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软 件。 同时,从以上的定义,可知中间件应具有如下的一些特点: . 满足特定领域各种应用的需要; . 运行于多种硬件和o s 平台; . 支持分布计算,提供跨网络和平台的透明性或服务的交互; . 支持标准的协议; . 支持标准的接口。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已 成为许多标准化工作的主要部分。对于应用软件开发,中间件提供的程序接口 定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样 更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用 软件几乎不需任何修改, 这样就保护了企业在应用软件开发和维护中的 重大投 资。 2 . 1 . 2主要中间件的分类 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色 的中间件产品。因此,在不同的角度或不同的层次上, 对中间件的分类也会有 所不同。比 较常见的中间件有以 下几类: . 通信处理 ( 消息)中间件 建网和制定出 通信协议,能在不同平台 之间 通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输 ( 如t o n g l i n k . b e a e l i n k . i b m的m q s e r ie s 等) , 称为 消 息中 间 件。 . 事务处理 ( 交易)中间件 在分布式事务处理系统中要处理大量事务, 常常在系统中要同时做上万笔事务, 在联机事务处理系统 ( o l t p ) 中, 每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间 发生某种故障时,不但要完成恢复工作,而且要自 动切换系统, 达到 系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服 务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机 和大型计算机系统同等的功能,为了实现这个目 标,要求系统具有监 视和调度整个系统的功能。 b e a的t u x e d 。 是这方面的代表。 . 数据存取管理中间件 在分布式系统中, 重要的数据都集中存放在数据 服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的 多媒体型,或者是经过加密或压缩存放的,这类中间件为在网络上虚 拟缓冲存取、格式转换、解压等带来方便。 西北工业大学r士学位论义第二章数据库访问中间件的研究 i d c对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不 仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软 件。 同时,从以上的定义,可知中间件应具有如下的一些特点: . 满足特定领域各种应用的需要; . 运行于多种硬件和o s 平台; . 支持分布计算,提供跨网络和平台的透明性或服务的交互; . 支持标准的协议; . 支持标准的接口。 由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已 成为许多标准化工作的主要部分。对于应用软件开发,中间件提供的程序接口 定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样 更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用 软件几乎不需任何修改, 这样就保护了企业在应用软件开发和维护中的 重大投 资。 2 . 1 . 2主要中间件的分类 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色 的中间件产品。因此,在不同的角度或不同的层次上, 对中间件的分类也会有 所不同。比 较常见的中间件有以 下几类: . 通信处理 ( 消息)中间件 建网和制定出 通信协议,能在不同平台 之间 通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输 ( 如t o n g l i n k . b e a e l i n k . i b m的m q s e r ie s 等) , 称为 消 息中 间 件。 . 事务处理 ( 交易)中间件 在分布式事务处理系统中要处理大量事务, 常常在系统中要同时做上万笔事务, 在联机事务处理系统 ( o l t p ) 中, 每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间 发生某种故障时,不但要完成恢复工作,而且要自 动切换系统, 达到 系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服 务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机 和大型计算机系统同等的功能,为了实现这个目 标,要求系统具有监 视和调度整个系统的功能。 b e a的t u x e d 。 是这方面的代表。 . 数据存取管理中间件 在分布式系统中, 重要的数据都集中存放在数据 服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的 多媒体型,或者是经过加密或压缩存放的,这类中间件为在网络上虚 拟缓冲存取、格式转换、解压等带来方便。 西北工业大学硕_ 学位论文第二覃数据库访i7 中间件的研究 0 we b 服务器中间件 浏览器图形用户界面己成为公认规范,然而它的会 话能力差、不能作数据写入、受h t t p 协议的限制等。要解决以上问 题就必需进行修改和扩充,于是形成了we b 服务器中间件,如 s i l v e r s t r e a m公司的产品。 . 安全中间件 一些军事、政府和商务部门上网的最大障碍是安全保密问 题,而且不能使用国外提供的安全措施 ( 如防火墙、加密、认证 等),必需用国产的产品。系统中产生的不安全因素几乎都是由操作 系统引起的,必需要用中间件来解决,以适应灵活多变的要求。 . 对象中间件 当前开发大型应用软件通常采用基于构架和构件的技术, 在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老 版本的构件,由此产生了构架中间件,功能最强的是c o r b a ,可以 跨 任意平台,但是太庞大;j a v a b e a n s 较灵活简单,很适合于做浏览器, 但运行效率差;d c o m模型主要适合wi n d o w s 平台,已 广泛使用。 . 特殊领域中间件 为特定应用领域设计领域参考模式,建立相应构架, 配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关 键任务 ( 如数字电视、电子商务等) 本文所提出的d a m s 中间 件属于数据库存取管理中间件。它是为 a d o ne t 平台缺乏相应的o / r映射框架而设计的。 2 . 1 .3构件思想对中间件的作用 中间件本身作为软件产品,正处于方兴未艾之际,因此本身也可以 借鉴构 件思想。构件化的软件开发对中间件有重要意义: 首先,中间件作为分布式计算平台, 涉及资源多样,包括各种操作系统、 数据库、网络协议甚至语言,其目 标是在分布的环境中统一使用这些资源。因 此,可以建立针对这些资源的构件库,以动态、灵活的方式进行构件的装配, 如针对不同的面向连接的网络协议,可使用统一语义的网络驱动器构件,最灵 活的情况是根据配置动态绑定。 其次,中间件的一个重要的设计目标是互操作,而互操作的关键是有清晰 而与实现无关的接口。因此在互操作的边界上,必须将构件的思想融入设计 中。 再次,中间件的应用范围越来越广, 但应用有不同的需要,不同的业务特 点,如果仅仅依靠固定的模式去套用,显然不合适。 例如,多数mi s 应用并不 需要交易管理;有些分布应用也没有o l t p 的特点;金融应用中安全就显得十 分关键;拓展到we b 的应用则特别要求精干、安全和适应性强。因此,中间 件 必须设计成可伸缩的体系,由一些可替换的构件组成,如某些重于可靠,某些 西北工业大学硕_ 学位论文第二覃数据库访i7 中间件的研究 0 we b 服务器中间件 浏览器图形用户界面己成为公认规范,然而它的会 话能力差、不能作数据写入、受h t t p 协议的限制等。要解决以上问 题就必需进行修改和扩充,于是形成了we b 服务器中间件,如 s i l v e r s t r e a m公司的产品。 . 安全中间件 一些军事、政府和商务部门上网的最大障碍是安全保密问 题,而且不能使用国外提供的安全措施 ( 如防火墙、加密、认证 等),必需用国产的产品。系统中产生的不安全因素几乎都是由操作 系统引起的,必需要用中间件来解决,以适应灵活多变的要求。 . 对象中间件 当前开发大型应用软件通常采用基于构架和构件的技术, 在分布系统中,还需要集成各节点上的不同系统平台上的构件或新老 版本的构件,由此产生了构架中间件,功能最强的是c o r b a ,可以 跨 任意平台,但是太庞大;j a v a b e a n s 较灵活简单,很适合于做浏览器, 但运行效率差;d c o m模型主要适合wi n d o w s 平台,已 广泛使用。 . 特殊领域中间件 为特定应用领域设计领域参考模式,建立相应构架, 配置相应的构件库和中间件,为应用服务器开发和运行特定领域的关 键任务 ( 如数字电视、电子商务等) 本文所提出的d a m s 中间 件属于数据库存取管理中间件。它是为 a d o ne t 平台缺乏相应的o / r映射框架而设计的。 2 . 1 .3构件思想对中间件的作用 中间件本身作为软件产品,正处于方兴未艾之际,因此本身也可以 借鉴构 件思想。构件化的软件开发对中间件有重要意义: 首先,中间件作为分布式计算平台, 涉及资源多样,包括各种操作系统、 数据库、网络协议甚至语言,其目 标是在分布的环境中统一使用这些资源。因 此,可以建立针对这些资源的构件库,以动态、灵活的方式进行构件的装配, 如针对不同的面向连接的网络协议,可使用统一语义的网络驱动器构件,最灵 活的情况是根据配置动态绑定。 其次,中间件的一个重要的设计目标是互操作,而互操作的关键是有清晰 而与实现无关的接口。因此在互操作的边界上,必须将构件的思想融入设计 中。 再次,中间件的应用范围越来越广, 但应用有不同的需要,不同的业务特 点,如果仅仅依靠固定的模式去套用,显然不合适。 例如,多数mi s 应用并不 需要交易管理;有些分布应用也没有o l t p 的特点;金融应用中安全就显得十 分关键;拓展到we b 的应用则特别要求精干、安全和适应性强。因此,中间 件 必须设计成可伸缩的体系,由一些可替换的构件组成,如某些重于可靠,某些 西北工业大学硕 1 学位论文 第_章数据库访问中间件的研究 强调实时,某些则需要小巧。产品只有这种定位,才 一 能在变化迅速的市场上总 是适应需求,立于不败之地。 因此,构件化的软件设计思想在中间件设计开发中起到了重要的作用,可 以预见,构件化的中间件在今后市场上是有强大生命力的。 d a ms中间件采用构件化思想进行设计,将中间件不同层次设计为不同的 构件库,定义清晰的与内部实现无关的接口,可以使d a ms 中间件根据应用的 繁简进行灵活的装配,符合应用程序对系统资源的限制,便于开发者对中间件 系统进行管理和升级。同时,也可以降低整个应用程序的开发成本。 2 .2 基本的数据库访问技术 2 . 2 . 1 o d b c概述 o d b c ( o p e n d a t a b a s e c o n n e c t iv it y ) 是由 微软 公司 提出 的 一个 用于 访问 数 据库的统一界面标准,随着客户机/ 服务器体系结构在各业务领域广泛应用,多 种数据库之间的互连访问 成为一个突出的问 题,而o d b c 成为目 前一个强有力 的解决方案。o d b c之所以能够操作众多的数据库,是由于当前大部分数据库 全部或部分地遵从关系数据库概念, o d b c 是基于结构化查询语言( s q l ), 使用s q l 可大大简化其应用程序设计接口 ( a p i ),由 于o d b c 思想上的 先进 性,而且没有同类标准或产品与之竞争,因而越来越多受到众多厂家和用户的 青睐。目前,o d b c己经成为客户机用 及 务器系统中的一个重要支持技术。 o d b c 基本思想是提供独立程序来提取数据信息,并具有向应用程序输入 数据的方法。由于有许多可行的通信方法、数据协议和d b ms 能力,所以 o d b c 方案可以 通过定义标准接口 来允许使用不同的技术, 这种方案导致了 数 据库驱动程序的新概念一 动态链接库 ( d l l )。应用程序可按请求启动动态链接 库, 通过特定通信方法访问特定数据源,同时o d b c提供了标准接口,允许应 用程序编写者和库提供者在应用程序和数据源之间交换数据。为了 保证标准性 和开 放性, o d b c的结构分为四层:应用程序、驱动程序管理器、驱动程序、 数据源。驱动程序管理器与驱动程序对于应用程序来说都表现为一个单元,它 处理o d b c函数调用 ( 如图2 .2 所示) 6 1 ( 1 ) 应 用 程 序 ( a p p l ic a t io n ) 。 应 用 程 序 本身 不 直 接与 数 据 库打交 道, 主 要 负责处理并调用o d b c函 数, 发送对数据库的s q l 请求及取得结果。 ( 2 ) 驱动 程序管理器 ( d r i v e r m a n a g e r ) 。 驱动程序管理器是一个 带有输入 程序的动态链接库 ( d 1 1 ),主要目 的是加载驱动程序,处理o d b c 调用 的初始化调用,提供o d b c调用的参数有效性和序列有效性。 西北工业大学硕 1 学位论文 第_章数据库访问中间件的研究 强调实时,某些则需要小巧。产品只有这种定位,才 一 能在变化迅速的市场上总 是适应需求,立于不败之地。 因此,构件化的软件设计思想在中间件设计开发中起到了重要的作用,可 以预见,构件化的中间件在今后市场上是有强大生命力的。 d a ms中间件采用构件化思想进行设计,将中间件不同层次设计为不同的 构件库,定义清晰的与内部实现无关的接口,可以使d a ms 中间件根据应用的 繁简进行灵活的装配,符合应用程序对系统资源的限制,便于开发者对中间件 系统进行管理和升级。同时,也可以降低整个应用程序的开发成本。 2 .2 基本的数据库访问技术 2 . 2 . 1 o d b c概述 o d b c ( o p e n d a t a b a s e c o n n e c t iv it y ) 是由 微软 公司 提出 的 一个 用于 访问 数 据库的统一界面标准,随着客户机/ 服务器体系结构在各业务领域广泛应用,多 种数据库之间的互连访问 成为一个突出的问 题,而o d b c 成为目 前一个强有力 的解决方案。o d b c之所以能够操作众多的数据库,是由于当前大部分数据库 全部或部分地遵从关系数据库概念, o d b c 是基于结构化查询语言( s q l ), 使用s q l 可大大简化其应用程序设计接口 ( a p i ),由 于o d b c 思想上的 先进 性,而且没有同类标准或产品与之竞争,因而越来越多受到众多厂家和用户的 青睐。目前,o d b c己经成为客户机用 及 务器系统中的一个重要支持技术。 o d b c 基本思想是提供独立程序来提取数据信息,并具有向应用程序输入 数据的方法。由于有许多可行的通信方法、数据协议和d b ms 能力,所以 o d b c 方案可以 通过定义标准接口 来允许使用不同的技术, 这种方案导致了 数 据库驱动程序的新概念一 动态链接库 ( d l l )。应用程序可按请求启动动态链接 库, 通过特定通信方法访问特定数据源,同时o d b c提供了标准接口,允许应 用程序编写者和库提供者在应用程序和数据源之间交换数据。为了 保证标准性 和开 放性, o d b c的结构分为四层:应用程序、驱动程序管理器、驱动程序、 数据源。驱动程序管理器与驱动程序对于应用程序来说都表现为一个单元,它 处理o d b c函数调用 ( 如图2 .2 所示) 6 1 ( 1 ) 应 用 程 序 ( a p p l ic a t io n ) 。 应 用 程 序 本身 不 直 接与 数 据 库打交 道, 主 要 负责处理并调用o d b c函 数, 发送对数据库的s q l 请求及取得结果。 ( 2 ) 驱动 程序管理器 ( d r i v e r m a n a g e r ) 。 驱动程序管理器是一个 带有输入 程序的动态链接库 ( d 1 1 ),主要目 的是加载驱动程序,处理o d b c 调用 的初始化调用,提供o d b c调用的参数有效性和序列有效性。 西北工业大学硕 1 学位论文 第_章数据库访问中间件的研究 强调实时,某些则需要小巧。产品只有这种定位,才 一 能在变化迅速的市场上总 是适应需求,立于不败之地。 因此,构件化的软件设计思想在中间件设计开发中起到了重要的作用,可 以预见,构件化的中间件在今后市场上是有强大生命力的。 d a ms中间件采用构件化思想进行设计,将中间件不同层次设计为不同的 构件库,定义清晰的与内部实现无关的接口,可以使d a ms 中间件根据应用的 繁简进行灵活的装配,符合应用程序对系统资源的限制,便于开发者对中间件 系统进行管理和升级。同时,也可以降低整个应用程序的开发成本。 2 .2 基本的数据库访问技术 2 . 2 . 1 o d b c概述 o d b c ( o p e n d a t a b a s e c o n n e c t iv it y ) 是由 微软 公司 提出 的 一个 用于 访问 数 据库的统一界面标准,随着客户机/ 服务器体系结构在各业务领域广泛应用,多 种数据库之间的互连访问 成为一个突出的问 题,而o d b c 成为目 前一个强有力 的解决方案。o d b c之所以能够操作众多的数据库,是由于当前大部分数据库 全部或部分地遵从关系数据库概念, o d b c 是基于结构化查询语言( s q l ), 使用s q l 可大大简化其应用程序设计接口 ( a p i ),由 于o d b c 思想上的 先进 性,而且没有同类标准或产品与之竞争,因而越来越多受到众多厂家和用户的 青睐。目前,o d b c己经成为客户机用 及 务器系统中的一个重要支持技术。 o d b c 基本思想是提供独立程序来提取数据信息,并具有向应用程序输入 数据的方法。由于有许多可行的通信方法、数据协议和d b ms 能力,所以 o d b c 方案可以 通过定义标准接口 来允许使用不同的技术, 这种方案导致了 数 据库驱动程序的新概念一 动态链接库 ( d l l )。应用程序可按请求启动动态链接 库, 通过特定通信方法访问特定数据源,同时o d b c提供了标准接口,允许应 用程序编写者和库提供者在应用程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计全球化 时机已经成熟
- 六一兔子活动方案
- 医学人文考试试题及答案
- 六一幼儿园美劳活动方案
- 医学骨科考试试题及答案
- 六一森林王国活动方案
- 六一活动亲子课活动方案
- 六一活动回访活动方案
- 六一活动特价课活动方案
- 六一活动送礼物活动方案
- 第四章婴儿期的心理发展
- GB/T 19139-2012油井水泥试验方法
- 2023年浙江大学形势与政策题库
- 铁道概论试题及答案重要
- 空间几何中的平行与垂直 新高考 数学 一轮复习专项提升 精讲精练
- 镁合金片状、带状或条状,含镁>50%MSDS危险化学品安全技术说明书
- 大班语言《蓝盒子》课件
- 动物解剖学之 泌尿系统课件
- 幼儿园大班社会:《京剧》 课件
- 红茶加工技术培训教学课件
- 商业运营委托管理合同模板
评论
0/150
提交评论