




已阅读5页,还剩48页未读, 继续免费阅读
(计算机系统结构专业论文)基于hibernate的数据整合系统的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 随着信息技术的迅速发展,信息化建设过程中积累了大量有用数据信息。但 由于建设时期或开发部门的不同,这些数据资源形成了一座座信息孤岛,使得数 据的查询和访问非常困难,数据的利用程度很低,从而不能够很好地支持管理决 策。面对这些问题,数据整合技术应运而生。数据整合是把不同来源、不同格式、 不同性质的数据在逻辑上或物理上有机地集中,并为用户提供一个统一的视图。 本文结合面向对象的程序设计思想,把o gm a p p i n g ( o b j e c t r e l a t i o n a l m a p p i n g ,对象一关系映射) 技术应用到数据整合中,提出了一种新的数据整合 框架,即“基于h i b e r n a t e 的数据整合( h i b e r n a t e - b a s e dd a t ai n t e g r a t i o n :h b d i ) 系统”。该系统使用j a v a 语言开发,主要对名字语义冲突的数据进行整合。本文 还通过大量的实验数据比较了j a v a 领域中主要的几种常见的o rm a p p i n g 技术, 实验结果表明h i b e r n a t e 在同类技术中具有一定的优势。在详细分析系统需求的 基础上,设计了基于h i b e r n a t e 的数据整合系统架构。该系统设计层次结构清晰, 最大程度地减小了查询语句和应用程序代码之间的耦合。在实现方面,分别使用 m i d d l e g c n 和h i b e r n a t e e x t e n s i o n s 生成持久层的映射文件和持久类,从而达到持 久层代码生成的自动化。此外,以批处理的方式调用a n t 构建工具,使得程序具 有较好的灵活性,有效地减少了数据整合的工作量。 该系统提供了友好的界面,极大地方便了用户添加、修改和删除数据源,修 改字段配置文件和优先级管理文件,以及查询数据等操作。 关键词:信息孤岛数据整合o rm a p p i n g 技术h i b e r n a t e a b s t r a c t r a p i dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g yp r o v i d e su sw i t hp l e n t i f u lu s e f u l d a t ai n f o r m a t i o n , b u ts o m ep r o b l e m sc o m ea l o n g a l lo ft h e s ed a t aa r es t o r e ds o d i s p e r s e d l yb e c a u s eo fd i f f e r e n td e v e l o p i n gt i m ea n dd e p a r t m e n t st h a tt l l c yb e c a m e i s o l a t e di n f o r m a t i o ni s l a n d s t h i sm a k e si td i f f i c u l tt oa c c e s sa n dt h e yc a n n o tb ef u l l y u t i l i z e d a sar e s u l t , t h ed a t ac a n n o te f f e c t i v e l ys u p p o r td e c i s i o n - m a k i n g d a t a i n t e g r a t i o nt e c h n o l o g ya r i s e st os o l v et h e s ep r o b l e m s d a t ai n t e g r a t i o ni st op h y s i c a l l y o rl o g i c a l l yc o m b i n ed a t ao fd i f f e r e n ts o u l s , f o r m s , o rp r o p e r t i e s , a n dp r o v i d et h e u s e rw i t hau n i f i e dv i e wo f t h e s ed a t a t h i sp a p e rp r e s e n t san 哪f t a m e w o r ko fd a t ai n t e g r a t i o nb ya p p l y i n go r m a p p i n g ( o b j e c tr e l a t i o n a lm a p p i n g ) t od a t ai n t e g r a t i o nt e c h n o l o g y t h i sf r a m e w o r k , c a l l e dh i b e r n a t e - b a s e dd a t ai n t e g r a t i o n ( h b d i ) s y s t e m , i sb a s e do i lt h ei d e ao f o b j e c t - o r i e n t e dp r o g r a m m i n g t h es y s t e mi sd e v e l o p e di nt h ej a v ap r o g r a m m i n g l a n g u a g e , t os o l v et h ep r o b l e mo f n a m i n gs e m a n t i cc o n f l i c t ( d i f f e r e n tn a m e sh a v et h e s a m em e a n i n g ) t h i sp a p e ra l s oc o m p a r e ss e v e r a lo rm a p p i n gt e c h n o l o g i e si nj a v a a r e at h r o u g hal o to fp e r f o r m a n c et e s t s t e s t i n gr e s u l ti n d i c a t e st h a th i b e r n a t eo f f e r s s i g n i f i c a n ta d v a n t a g e so v e ro t h e ro rm a p p i n gt e c h n o l o g i e s w i t h d e t a i l e d r e q u i r e m e n ta n a l y s i s ,t h ef i a m e w o r ki sd e s i g n e db a s e do nh i b e r n a t e t h ef i a m e w o r k h a sc l e a rh i e r a r c h ya n dg r e a t l yr e d u c e st h ec o u p l i n gb e t w e e na p p l i c a t i o na n ds q l i t u $ c f lm i d d l e g e na n dh b m 2 j a v ar e s p e c t i v e l yt oc r e a t eh i b e r n a t em a p p i n gf i l e sa n d p o j o s ,s ot h a tt h ep e r s i s t e n c el a y e rc a l lb ec r e a t e da u t o m a t i c a l l y i tc a l l st h ea n t c o m m a n d sb yu s i n gb a t c hf i l e ss ot h a tt h es y s t e mh a sg o o df l e x i b i l i t ya n dr e d u c e sa l o to f w o r k l o a d f r i e n d l yg u im a k e si tc o n v e n i e n tt oa d d ,e d i t ,d e l e t ed a t as o u r c e , e d i tf i e l d c o n f i g u r a t i o nf i l eo rp r im a n a g e rf i l e ,a n dq u e r yd a t af r o md a t as o u r c o s k e yw o r d s :i n f o r m a t i o ni s l a n d ,d a t ai n t e g r a t i o n , o b j e c tr e l a t i o n a lm a p p i n g t e c h n o l o g y , h i b e r n a t e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨生盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:丑兰备 签字日期:妒,年二月3 9 日 学位论文版权使用授权书 本学位论文作者完全了解鑫壅盘茎有关保留、使用学位论文的规定。 特授权苤生盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名;王、互畚 导师签名: 绷 签字日期:伽口6 年7 - 月“日签字日期:弘6 年 月;舌日 第一章绪论 1 1 本课题的研究背景 第一章绪论 数据和信息的分散 随着信息技术的高速发展,出现了众多数据库系统,并积累了大量数据。然 而,这些丰富的数据资源由于建设时期和开发部门的不同等原因,数据存储管理 极为分散,造成了数据的冗余和不一致,使得数据资源难以访划“。 数据的利用程度较低 众多数据库系统和多样数据存储格式的出现,为生产和生活带来方便的同 时,也形成大量的信息孤岛。这些分散的数据信息缺乏共享的、网络化的可用度 高的信息资源体系闭。 对管理决策的支持程度低 数据资源不能够很好地共享,从而不能满足单位对信息资源整体开发利用的 需求。数据中蕴藏的巨大信息资源得不到有效的挖掘和利用,信息资源的增值作 用不能够在管理决策中充分发挥嘲。 综上所述,如果不为大量的分散数据提供一个统一的访问接口,则无法共享 通用的数据资源,不同的应用系统之间必然会形成信息孤岛【4 】,这给当前的信息 化建设带来很大阻碍。因此如何为分散的数据资源提供一个统一的访问接口,彻 底地消除信息孤岛,实现数据资源的有效整合和利用是当前信息化建设的重中之 重【lj 【5 】【6 】【7 1 。 1 2 本领域存在的问题 i 1 前,传统的数据整合方案往往具有以下缺点: 数据转换和整合的规则都融合在定制代码中,发生变化难以灵活地适应; 许多解决方案提供的都是过时的信息,难以实时地获取准确信息; 各个系统只能通过形成中间库、或者集中库的方式来解决数据集成,然 第一章绪论 而这样的做法往往又形成了新的数据孤岛; 很多现有的解决方案要想适应变化的业务需求或数据源,都要付出高昂 的代价; 大多功能较全的数据整合系统都很复杂难用,而且有的数据整合系统还 依赖于某种应用程序服务器。 1 3 本文主要研究内容和全文结构 本文主要的研究内容有以下几部分: 1 通过大量的实验数据对j a v a 领域中常见的o rm a p p i n g 技术进行了分析 和比较。 2 对m i d d l e g e n 进行了改进,使之变得非常灵活和易于使用。 3 针对目前流行的面向对象软件开发方法,以及日益成熟的o rm a p p i n g 技术,把o rm a p p i n g 技术应用到数据整合中,设计并实现了基于 h i b e r n a t e 的数据整合系统,主要对不同数据源中具有名字语义冲突的数 据进行整合。 开发该系统所用的软件环境为: w i n d o w s2 0 0 0p r o f e s s i o n a l ,e c l i p s e 3 0 1 ,m i d d l e g e n - h i b e m a t e - r 4 , h i b e r n a t e - e x t e n s i o n s - 2 1 3 ,a p a c h e - a n t - 1 6 5 ,h i b e r n a t e 2 1 8 : 开发语言为j a v a 。 本文的结构如下: 第一章,主要阐述了该课题的研究背景、该领域存在的问题及本文的结构。 第二章,首先说明了数据整合的概念,然后分析比较了数据整合常用的几种 方法,最后介绍了当前国内外主要的几种数据整合平台。 第三章,主要通过实验对j a v a 领域中常见的几种o rm a p p i n g 技术进行了 分析和比较,并说明了选择将h i b e r n a t e 应用到数据整合系统中的原因。 第四章,对整个系统的设计和实现进行了详细的分析和说明。 第五章,对工程中的数据进行整合,说明了该系统的整合过程及效果。 第六章,对本文进行总结,并对该系统的未来进行展望。 第二章数据整合概述 第二章数据整合概述 2 1 数据整合的概念和目标 数据整合的概念在业界并没有一个统一的答案,不同的人士和部门对数据整 合的定义不完全相同。 文献 8 】把数据整合定义为“数据整合是把存在于不同数据源中的数据集合 起来,并且为用户提供一个这些数据的统一界面的问题”。文献 9 z o j q ,定义为 “数据整合是指把存在于不同数据源中的数据联合在一起,并且向用户提供一个 这些数据的统一的视图”。文献 1 1 1 中提到“数据整合系统的目标就是为多数数据 源提供一个统一的查询接口”。 综合这些文献的内容,我们可以得出结论: 数据整合是把不同来源、不同格式、不同性质的数据在逻辑上或物理上 有机地集中,从而为用户提供全面的数据共享。 数据整合的目标就是为了向用户提供一个多数据源的统一视图【4 】。 图2 - 1 和图2 - 2 显示了数据整合前后用户访问数据库方式的变化【2 】。 图2 1 数据整合前访问数据库的方式 第二章数据整合概述 图2 - 2 数据整合后访问数据库的方式 2 2 数据整合常用的方法 在数据整合领域,已经有很多成熟的框架可以利用。目前通常采用联邦式、 基于中问件模型、数据仓库和面向服务的整合等方法来构造集成的系统,这些技 术在不同的着重点和应用上解决数据共享并为企业提供决策支持。从整合方法上 说,从早期的数据资源加工组织和搜索,到中间件等代理技术,再到面向服务的 整合技术,其解决异构性、分布性的能力越来越强。 2 2 1 联邦数据库系统 联邦数据库系统( f d b s ) 是由多个自治的、协同操作的数据库系统( d b s ) 构成的一个集合,这些数据库系统可以以不同的程度集成,相互之间可能是异构 的。各联盟数据源之间相互提供访问接口,同时联盟数据库系统可以是几种数据 库系统或分布式数据库系统及其它联邦数据库。它可以实现对用户的透明,即它 掩盖了底层数据源的差异、特质和实现f 1 2 】( 1 3 】【1 4 1 。 f e d e r a t e dd a t a b a s es y s t e m ( 联邦数据库系统) 这个术语是由h a m m e r 和 m c l e o d 1 9 7 9 和h c i m b i g n e r 和m c l _ c o d 1 9 8 5 提出的。自从引入这个术语后,它 曾经被用于多种不同但是相关的数据库系统( d b s ) 结构。这个概念存在于很多 背景中,举一个政治领域的例子:t h e u n i t e d n a t i o n s 和t h e s o v i o t u n i o n 。每一个 实体都有不同的自治和组成上的不同( 分别是独立自主的民族与共和国) 【1 4 1 。 一个f d b s 的重要方面之一就是一个数据库系统( d b s ) 能够在加入一个联 邦的时候可以继续它的本地操作。成分数据库系统的集成可能被联邦的用户管理 第二章数据整合概述 或者被f d b s 的管理员和组分d b s 的管理员一起管理。集成的数量取决于联邦 用户的需要和组分d b s 管理员对加入联邦并且共享他们的数据库的期望。由多 个d b s 组成的系统,f d b s 是其中一种特殊的类型,具有以下三个特点:分布 式、异构性和自治性1 4 1 。 2 2 2 数据仓库 数据仓库一直没有一个统一的概念,“数据仓库之父”w i l l i a mh i l r f l o n 在其 b u i l d i n g t h e d a t a w a r e h o u s e 一书中给出了数据仓库的定义:数据仓库是面向 主题的、集成的、随时间变化的、历史的、稳定的、支持决策制定过程的数据集 合 1 5 l 1 q i l 7 1 1 8 1 。 较为小型化、针对特定目标且成本较低的一种数据仓库称为数据集市,也称 “小数据仓库”。在数据仓库的实施过程中往往可以从一个部门的数据集市入手, 以后再用几个数据集市组成一个完整的数据仓库。需要注意的是,在实施不同的 数据集市时,同一含义的字段定义一定要相同,这样以后实施数据仓库时才不会 造成大麻烦。与数据仓库相比,数据集市通常具有更少的数据、更少的主题区域 和更少的历史数据,是只涉及单一功能部门领域或其他的限定范围,可称为部门 级的数据仓库。数据集市可以在一定程度上缓解访问数据仓库的瓶颈。 数据仓库支持联机分析处理( o l a p ) 。联机分析处理( o l a p ) 的概念最早是 由关系数据库之父e e c o d d 于1 9 9 3 年提出的。当时,c o d d 认为联机事务处理 ( o l t p ) 已不能满足终端用户对数据库查询分析的需要;s q l 对大数据库进行的 简单查询也不能满足用户分析的需求;用户的决策分析需要对关系数据库进行大 量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此c o d d 提出了多维数据库和多维分析的概念,即o l a p 。o l a p 可以有效地通过由维度 和测度组成的立体方式查看数据f 1 9 1 。 2 2 3 使用中间件 中间件( m i d d l e w a r e ) 模式通过统一的全局数据模型来访问异构的数据库、 遗留系统、w e b 资源等1 2 0 1 1 2 ”。它位于异构数据源系统( 数据层) 和应用程序( 应 用层,我们可称之为c l i e n t ) 之间,向下协调各数据源系统,向上为访问集成数 据的应用提供统一数据模式和数据访问的通用接口。中间件系统主要集中于为异 构数据源提供一个高层次检索服务。功能完善的中间件,可以对用户屏蔽数据的 分别地点、d b m s 平台、s q l 方言扩展、特殊的本地a p i 等差异。 数据库中间件系统( d a t a b a s em i d d l e w a r es y s t e m ) 要想成为一个有效的系统, 第二章数据链合概述 必须提供一个或者多个集成的s c h e m a s ,并且必须能够在不同的数据源之间传输 数据来响应查询。文献 2 2 】把数据库中间件系统看作一个传输引擎,并且讨论了 数据什么时候和怎样被传输来提供给用户他们需要的数据。 在数据库中间件处理模型中,数据库是信息存储的核心单元,中间件完成通 信的功能【2 3 1 。 中间件模式是目前比较流行的数据集成方法,它通过在中间层提供一个统一 的数据逻辑视图来隐藏底层的数据细节,使得用户可以把集成数据源看为一个统 一的整体。这种模型下的关键问题是如何构造这个逻辑视图并使得不同数据源之 间能映射到这个中间层。 数据库中间件的一个典型的例子就是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 , 开放数据库互连) ,o d b c 是一种基于数据库的中间件标准,它允许应用程序和 本地或者异地的数据库进行通信,并提供了一系列的应用程序接口a p i 2 3 j 伽。 2 2 a 面向服务的整合技术 目前,w e bs e r v i c e 技术已经得到了广泛的应用,并且在很多分布式系统中 获得了很大的成功。随着w e bs e r v i c e 的发展,面向服务的数据整合体系结构已 经被提出来,为来自不同的自治的、异构的和分布的数据源提供数据的一个动态 的统一视图。服务提供者把他们的数据源作为嬲劳廊般务( 一种w e b 服务, 它允许提供一个数据集中服务) 来发布,然后这些服务就可以在需要时被发现、 被绑定,在使用后又被释放。因此,很多变化比如组织结构的变化、后端数据源 的变化、数据结构和语义的变化等就可以被动态地管理,并且可以潜在地减少维 护费用【拥。 2 3 提供视图的方式 由前面可知,数据整合的目的就是为了向用户提供多数据源的一个集成视 图。视图中的一个关系可以作为以下几种方式被支持1 8 】: 完全虚拟的;所有属性都是虚拟的。 传统的解决这个问题的方法是用虚拟的方式描述视图,对视图的查询被分解 并发送到远程数据源。这种方法比较适合于信息源经常变化的情况。 完全物化的:所有属性都是物化的。 前几年又出现了一种补充的方法,这种方法基于以物化的形式存储视图。在 6 第二章数据整合概述 这种方法中,可以不通过访问源数据库就响应查询,并且物化的视图通常是通过 来自源数据库的增量更新来维护。这种方法比较适合于信息源不经常变化并且要 求较快的响应时间的情况。 部分混和的;一些属性是物化的,另外一些属性是虚拟的。 这种方法适合于一部分属性经常变化而另外一部分属性不经常变化的情况。 文献【8 】描述了一个可以支持以上三种视图模式的数据整合框架,这个框架 是c o l o r a d o 大学研究的s q u i r r e l 项目中的一部分,它基于一类被称为s q u i r r e l i n t e g r a t i o nm e d i a t o r s 的特殊中介者,这些中介者可以支持以上三种方法。 2 4 当前主要的几种数据整合平台 2 4 1 国外的数据整合平台 1 ) i b m 公司的d b 2d a t a j o i n e r d a t a j o i n c r 是m m 公司较为早期( 1 9 9 5 年) 开发的一个数据库中间件产品。 m m 针对当时企业内部有太多种不同形式的数据,而将不同格式的数据整合在 一起时比较困难的问题,推出了d a t a j o i n c r 。它可以整合讧s d b 、v s a m 、d b 2 、 o r a c l e 、s y b a s e 、i n f o r m i x 、s q ls e r v e r 以及任何支持o d b c 标准的数据库,让 使用者透过单一的s q l 界面,存取这些不同格式的资料;开发应用程序的人员 也只需要面对单一的程序界面( a p d ,简化开发跨数据应用程序的复杂性。它为 客户程序提供了多样数据的一个统一的视图,能够简化决策支持系统的开发1 2 6 1 。 2 ) i b m 公司的d b 2r e l a t i o n a lc o n n e c t r e l a t i o n a lc o n n e c t 是m m 在数据集成方面的又一个产品,它和d b 2 通用数 据库版本7e e 或者e e e 一起工作,通过合并和管理其它关系数据库系统或者 d b 2 中的数据来对商业数据性能进行优化【2 7 1 。它可以查询和抽取以下几种数据 库中的数据信息: i n f o r m i xd a t as o u i c e $ 夺o r a c l ev 7 ,v 8 ,v 9 id a t as o u r c e s s y b a s ev 1 0 , v 11 ,a n dv 1 2 ( m i c r o s o f t w i n d o w s n ta n da i x ) m i c r o s o f ts q ls e r v e rv 6 5 v 7a n d2 0 0 0d a t as o u r c e so nw i n d o w sn t 第二章数据整合概述 d a t a j o i n e r 与r e l a t i o n a lc o n n e c t 的区别与联系 d a t a j o i n e rv 2 1 和r e l a t i o n a lc o n n e c tv 7 是m m 实现联合数据查询服务的两 个主力产品,它们都是联邦数据产品,其功能都是通过单一接口实现对异种数据 库的分布式访问嗍。它们之间的区别如下【2 9 】: d a t a j o i n e r 是比r e l a t i o n a lc o n n e c t 早一代的产品,它是在d b 2v 2c o n l l n o n s e r v e r 代码基础上开发出来。由于产品存在的时间比较长,所以d a t a j o i n e r 功能 相对比r e l a t i o n a lc o n n e c t 要完善。而r e l a t i o n a lc o n n e c tv 7 基于d b 2u d bv 7 的 代码开发出来,在系统结构上比d a t a j o i n e r 要更为优化,代码效率更高。 在具体的功能上,相比r e l a t i o n a lc o n n e c t 而言,d a t a j o i n e r 支持远程的存储 过程调用,可以通过c l a s s i cc o n n e c t 去访问传统的i m s n s a m 系统中的数据, 支持对t e r a d a t a 数据库的访问,也支持通用的o d b c ,d a t a j o i n e r 支持对数据库 的读和写,支持两阶段提交功能。 r e l a t i o n a lc o n n e c t 比d a t a j o i n e r 所支持的平台更为广泛。d a t a j o i n e r 支持的 平台包括:a ,w i n d o w s ,和s 眦;而r e l a t i o n a lc o n n e c t 除了上述平台外,还 支持h p u x 和l i n u x 。r e l a t i o n a lc o n n e c t 更多的是用在对数据库进行只读操作 的环境中。 3 ) b e a 的l i q u i d d a t af o rw e b l o g i e b e a l i q u i dd a t af o rw e b l o g i c 为来自多个数据源的数据提供统一视图,它采 用x m l 格式作为统一的数据交换标准,采用符合规范的x q u e r y ( x m l 中的标准 查询语言,类似于s q l ) 技术来进行数据查询,而且直接访问分布的数据源,因 此总能访问到最新的数据。它提供了基于标准的企业数据的x m l 视图一一这些 企业数据源要么以虚拟x m l 文档的形式予以表现出来,要么以一个采用x m l 参数并生成x m l 结果的函数集的形式表现出来。因此,在一个非常高的层次上, 可以把l i q u i dd a t a 看作一个企业范围内的j o i nt 具,用于为来自任何数据源的 数据提供x m l 视引3 0 1 。 它可以支持以下五种不同的数据源: j d b c 、a p p l i c a t i o nv i e w s ( j 2 e ec a ) 、w e bs e r v i c e s 、x m l 文件、d a t av i e w s 和c u s t o md a t a s o u r c e ( 定制的数据源) 。 4 ) 微软的s q ls e r v e r 2 0 0 5 s q l s e r v e r2 0 0 5 基于s q ls e r v e r2 0 0 0 的强大功能之上,提供了一个全新 第二章数据整合概述 的企业级数据整合平台s s i s ( s q l s e r v e ri n t e g r a t i o ns e r v i c e s ) 。该平台具有出色 的e t l 和整合能力,使得组织机构能更加容易地管理来自于不同的关系型和非 关系型数据源的数据【3 1 1 。 s q ls e r v e ri n t e g r a t i o ns e r v i c e s 替代了s q ls e r v e r2 0 0 0 中的数据转换服务 ( d t s ) 。但s s i s 并不是d t s 的简单升级,它是s q ls e r v e r2 0 0 5 中一个全新的 组件,提供了构建企业级数据整合应用程序所需的功能和性能。通过s s i s ,组 织机构能以整体的视角去考察它们的商业运营情况,从而能更加具有竞争优势。 2 4 2 国内的数据整合平台 1 ) j a m - 北大青鸟数据整合平台( 北大青鸟) j b d i ( j m eb i r dd a t ai n t e g r a t o r ) 是一个跨平台数据抽取、转换、集成、装 载的通用软件系统,可运行于多种软硬件平台,支持海量数据处理和多语言字符 集,可实现不同类型数据库间的数据互剐3 2 1 。 j b d i 完全通过参数文件来实现系统处理流程配置,同时提供灵活的外部编 程接口以支持复杂的应用。 青鸟数据整合平台j b d i 主要可应用于如下的几个领域: 夺商业智能系统( b i ) 企业应用集成( e a i ) 企业数据迁移( e d m ) 青鸟数据整合平台( j b d i ) 包含了一系列工具:数据抽取( j b d ie ) ( t i 队c t ) 、 文件装载( j b d i 曰盯l o a d ) 、数据转换( j b d it r a n s f e r ) 、数据加载( j b d i d w l o a d ) 、数据质量检查( j b d iq u a l i t y ) 、代码维护( j b d ic o d e m a n a g e r ) 、总控管理中心( j b d ia d m i n ) 等。这些工具既可以组合起来作 为企业级数据整合平台,也可以单独使用。 2 ) c e n d p 2 0 - - 中关智能数据平台( 中关村科技软件有限公司) c e n d p 2 0 是c e n g r p 2 0 套件中的一个产品。c e n g r p 2 0 是一个企业智能 套件,是一个基于企业级应用和应用整合与支持的平台软俐3 3 】。它包括以下五个 产品: c e n e p 2 o ( 中关企业门户平台) , c e n d p 2 0 ( 中关智能数据平台) , 第二章数据整合概述 夺c e n e a l 2 o ( 中关应用整合平台) , c e n c m s 2 0 ( 中关内容管理平台) , c e n b p m 2 o ( 中关流程整合平台) 。 c e n d p 2 0 具有强大的数据展现功能,可以将访问到的数据进行分析、整理, 并将结果以报表方式展现。此外,它还提供虚拟数据库技术。虚拟数据库是物理 数据经由元数据定义,映射而成的逻辑数据库。通过使用虚拟数据库,可以在不 改变原来数据结构的基础上,使得数据整合方案更简单经济,同时获得实时数据, 有利于支持管理决策。 3 ) g a m u t d l - - 金道通用数据整合平台( 金道佳业软件有限公司) g a m u t d i 是一个跨平台数据抽取、转换、集成的通用软件系统,可运行于 多种软硬件平台,支持多种关系型数据库以及数据文件( e x c e l 、格式化文本) , 可实现不同系统间实时、双向、多方的数据互通【瑚。 g a m u t d i 主要完成各种不同数据源之间的数据传递、转换、净化、集成等功 能。 g a m u t d i 可用于以下几个方面: 夺应用于基于数据仓库的商业智能系统,作为e t l 工具,实现后台数据抽 取、转换和净化工作。 夺应用于企业应用集成( e a i ) ,实现各系统之间数据的集成管理。 夺作为企业与企业或企业与i n t e r n e t 之间的数据网关。 2 4 3 对以上几种数据整合平台的评价 以上几种数据整合平台在功能和实现方式上各有所长,且大都是面向企业数 据进行整合,整合内容广泛,功能强大。但这些产品的内部实现较复杂,而且在 实现方式上没有很好地体现面向对象特征,和面向对象编程的一致性不够好。有 的数据整合平台还依赖于某种应用服务器,使得数据整合平台的可移植性较差。 第三章j a v a 领域中常见o rm a p p i n g 技术的比较 第三章j a v a 领域中常见o rm a p p i n g 技术的比较 o rm a p p i n g ,即o b m t r e l a t i o n a lm a p p i n g ,它指的是为了解决对象模型和 关系模型之间的阻抗不匹配而在二者之间所做的一个转换,即把对象的属性保存 在关系数据库中,把对数据库的访问封装起来,在具体操作数据库的时候,就不 再需要关注复杂的s q l 语句,而是通过对其封装的数据对象来进行操作 1 3 5 1 1 3 6 3 7 1 1 3 s l j 9 。 简单地说,o rm a p p i n g 就是把面向对象编程中的类和关系数据库中的表对 应起来。它们之间的对应关系可以表示如下: c l a s s m i b l e a t t r i b u t e c o l u m n 类的一个实例一表中的一行 把o rm a p p i n g 技术应用到系统的开发中以后,系统的结构如图3 一l 所示。 应用程序层j j 持久层( 实现0 德m a p p i n g ) 对象层 | 存储管理 l 图3 1 使用o rm a p p i n g 技术的系统架构图 在j a v a 领域,目前影响最大的o rm a p p i n g 技术主要有三种,即c m p ( c o n t a i n e r - m a n a g e dp e r s i s t e n c e ,容器管理的持久性) ,j d o ( j a v ad a t ao b j e c t , j a v a 数据对象) 和h i b e r n a t e 。 第三章j a v a 领域中常见o rm a p p i n g 技术的比较 3 1c m p 、j d o 和h i b e r n a t e 说明 3 1 1c m p 企业实体b e a n 的状态保存在存储设备中,因此它具有持久性。实体b e a n 有两种,b m p ( b e a n - m a n a g e dp e r s i s t e n c eb e a n ) 和c m p 。对于b m p ,必须在 e n t i t y b e a n 中手工编写访问数据库的代码,工作量较大,但是在b m p 中可以定 制个性化的数据库操作;对于c m p ,把它部署到容器中以后,由容器自动生成 访问数据库的代码,因此使用c m p 比b m p 方便且代码量少。目前c m p 3 0 已经 发布,但在应用中大多使用c m p 2 0 。c m p 的查询语言为e j b q l 【帅】。 3 1 2j d o j d o 即j a v a 数据对象,它是一种标准,j a v a 程序员能够通过它提供的一组 a p i 间接地访问数据库,而不需要直接使用s q l 语句。目前,j d o 有两种实现, 一种是遵循j s r o o 0 0 1 2 标准的j d o 实现,一般是商业产品,另外一种是e x o l a b g r o u p 下面的一个开放源代码项目c a s t o rj d o ,前者较为常用。j s r 0 0 0 0 1 2 是s u n 的j a v ac o m m u n i t yp r o c e s s 给出的规范,有很多实现厂商。其中做得做得比较好 而且比较稳定的是s o l a r m e t r i e 公司的k o d o j d o ,但它没有一个好的图形化界面; 图形化界面做得最好的是南非h e m s p h e r e 公司的一个商业化产品j d o g e n i e ,它 有一个专门的图形界面工具,可以进行配置、数据库生成、对象查询等。目前, j d 0 2 ,0 已经投票通过,不过我们常用的j d o 产品一般遵循j d 0 1 0 规范。j d o 的查询语言为j d o q l c 4 “。 3 1 3h i b e r n a t e h i b e r n a t e 是一个开放源代码的o rm a p p i n g 框架,它对j d b c 进行了非常 轻量级的对象封装,并且支持e j b 3 0 持久性标准。它是一个独立的框架,不需 要任何应用服务器的支持,也不需要部署描述符等文件。它通过读取配置文件和 映射文件来实现持久对象到数据库的映射。h i b e r n a t e 的查询语言为h q l 4 2 。 3 2c m p 、j d o 和h i b e r n a t e 比较 在功能方面,对于c m p ,容器管理的服务提供了较好的安全性和事务处理 功能,但它不支持继承、多态及复杂的关联这些高级特性i 钟】,而j n o 和h i b e r n a t e 则提供了较好的面向对象支持;j d o 还对批量数据的存储有较好的支划4 ” 4 3 1 。 第二章j a v a 领域中常见o rm a p p i n g 技术的比较 在灵活性方面,c m p 通常需要重量级和高价位的应用程序服务器,而j d o 可以在管理型环境( 需要j 2 e e 服务器) 和非管理型环境( 不需要j 2 e e 服务器) 两种方式下运行,h i b e r n a t e 则不需要任何应用程序服务器的支持,相对于环境 的独立性较高;c m p 要求所有的操作都要在事务中来处理,而j d o 和h i b e r n a t e 可以选择是否使用事务特性。 在可移植性方面,c m p 的部署描述符是特定于应用服务器的,改变应用服 务器还要写新的部署描述符,并且c m p 引擎的性能因厂商而异;j i m ) 应用在同 一规范定义的原则下可移植;h i b e r n a t e 应用在不同的应用服务器之间具有较高 的可移植性。 在查询语言上,e j b q l 、j d o q l 和h q l 三种语言在语法上相差不大。但是 e j b q l 的功能非常有限,只能进行简单的查询;h q l 相对于e j b q l 和j d o q l 来说,比较灵活而且功能强大。 在开发和维护的难度方面,c m p 的代码量非常大,而且结构复杂,开发和 维护较困难;而使用j d o 和h i b e r n a t e 可显著减少代码量,开发和维护起来都比 较容易。 另外,h i b e r n a t e 是一个好的免费实现,而j d o 和c m p 则没有一个好的免 费实现。 3 3c m p 、j d o 和h i b e r n a t e 的性能测试实验 3 3 1 实验环境及内容 为了有效地比较以上三种o r m a p p i n g 技术,本文构建了自己的测试环 境: 硬件环境为a m dd u r o n 7 5 0 m ,3 8 4 mr a m ; 软件环境为w i n d o w s2 0 0 0p r o f e s s i o n a ls p 4 ,j 2 s d k l 4 20 8 , e c l i p s e 3 0 1 ,m y s q l 4 0 1 8 ,k o d o j d 0 3 3 4 ,h i b e r n a t e 2 1 8 ,j b o s s 4 0 2 。 本文分别使用c m p ,j d o 和h i b e r n a t e 三种技术实现了应用程序和数据 库的连接,测试其数据访问时间并做了记录。实验中使用的持久类c u s t o m e r 有三个字段( s t r i n gi d ,s t r i n gu s e r l l a m e ,s t r i n gp a s s w o r d ) ,对应数据库中 的表c u s t o m e r ( i d ,u s e r n a m e ,p a s s w o r d ) ,其中i d 作为主键。这里i d 使用s t r i n g 类型是为了测试j d o 的批处理性能,因为持久类中包含自动增长的字段时 第三章j a v a 领域中常见o rm a p p i n g 技术的比较 j d o 不能进行批处理操作。 数据表c u s t o m e r 和持久类c u s t o m e r 之间的对应关系如图3 2 所示: 数据表c u s t o m e r持久类c i 劬m h 字段字段类型属性属性类型 i d v a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黏土相框设计课件
- 打造书香校园课件
- 2025版企业战略顾问聘请合同模板(未来发展)
- 2025版门卫岗位技能提升与职业发展合同
- 2025版酒店客房用品环保材料销售合同
- 2025版剧院消防系统安装及施工安全责任合同
- 2025版高端手机抵押消费贷款合同范本
- 二零二五年健身房健身教练职业发展规划咨询合同
- 旬阳县医院消防知识培训课件
- 早餐安全知识培训课件
- JJF 1871-2020磁电式转速传感器校准规范
- GB/T 26825-2011FJ抗静电防腐胶
- 人教版3-6年级单词表
- 我国核电发展前景分析课件
- 义务教育历史新课程标准测试卷试题三(2022版)含答案
- 交通学院校史馆布展文稿
- 水泥稳定碎石基层试验检测技术共课件
- 考研管理类联考初数真题有答案
- (完整版)幼儿识字卡片配图:大全
- PCB常见不良品图片及改善措施汇总
- 建筑幕墙节能工程施工方案
评论
0/150
提交评论