




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)异构数据源集成中间件的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
异构数据源集成中间件的设计与实现 中文摘要 中文摘要 本文研究异构数据源集成的问题,其目的就是在分布式环境下建立 一个公共的集成环境,屏蔽各个异构数据源的平台、系统环境、内部数 据结构等方面的异构性,对它们进行无缝连接,为用户提供一个统一和 透明的接口,实现对异构数据源间关联数据的访问、发布。 本文首先分析了已有异构数据集成的方案和面临的主要问题;然后 结合x m l 、j a v a 和中间件技术,提出了基于x m l 的异构数据源集成中 间件( h d s i m ) 的总体设计,并简要的阐述了h d s i m 的各个功能模块及其 内部处理流程思想;接着给出了各模块中的关键部件的详细设计与实现, 主要包括:全局模式集成,查询语言的转换,查询的分解,予查询计划 的定义,局部数据源访问。论文最后对h d s i m 的设计与实现做了总结, 并提出今后需要进一步研究的内容。 关键字:异构数据源集成,x m l ,x q u e r y 2 s q l ,查询分解 作者:朱锋 指导教师:孙涌 璺! 壁型堕堡! 竺! ! 翌堡! 兰! 竺! ! ! 竺! 垡璺! 竺些! 竺坐2 1 1 11 1 1 兰竺! ! ! 塑! 苎! ! ! 竺翌! 堕! 磐 a b s t r a c t t h i sp a p e rr e s e a r c h e so nh e t e r o g e n e o u sd a t as o u r c e s i n t e g r a t i o n i t s p u i p e r s i st os e t u pap u b l i ci n t e g r a t e de n v i r o m n e n tu n d e rd i s t r i b u t e d e n v i r o n m e n t , w h i c hs h i e l d sa l ld i f f e r e n c e si na s p e c t so fd a t as o u r c ei n c l u d i n g t h ep l a t f o r m ,s y s t e me n v i r o n m e n ta n di n t e r n a ld a t as t r u c t u r e a n de t e i t p r o v i d e sau n i f i e da n dt r a n s p a r e n ti n t e r f a c ef o ru s e rt oi m p l e m e n tt h ea c c e s s a n dp u b l i c a t i o no f r e l a t i v ed a t ab e t w e e nh e t e r o g e n e o u sd a t as o u r c e s 1 1 l e p a p e rb e g i n sw i t ht h e a n a l y z i n g o f e x i s t i n g s c h e m e so f h e t e r o g e n e o u sd a t as o u r c e si n t e g r a t i o na n dc o n f r o n t e dp r o b l e m s t h e ni t p r e s e n tt h ed e s i g no fh e t e r o g e n e o u sd a t as o u r c e si n t e g r a t i o nm i d d l e w a r e b a s e do nx 地f f i d s i m ) b y u s i n g 儿,j a v aa n dm i d d l e w a r et e c h n o l o g y a b r i e fi n t r o d u c t i o no fe a c hf u n c t i o nm o d u l ei n h d s i ma n di t si n t e m a l t r a n s a c t i o ns e q u e n c ei sf o l l o w e d t h ed e t a i ld e s i g na n di m p l e m e n to fk e y p a r t si ne a c hm o d u l ei sa l s og i v e n ,w h i c hi n c l u d eg l o b a lm o d ei n t e g r a t i o n , q u e r yl a n g u a g ec o n v e r s i o n ,q u e r yd e c o m p o s i t i o n ,q u e r yp l a nd e f i n i t i o na n d l o c a ld a t as o u r c ea c c e s s a tt h el a s tp a r to fp a p e ri st h ec o n c l u s i o no ft h i s d e s i g nf o l l o w e db yf u t u r ew o r k s k e yw o r d s :h e t e r o g e n e o u sd a t as o u r c e si n t e g r a t i o n ,x m l ,x q u e r y 2 s q l , w r i t t e nb yz h uf e n g s u p e r v i s e db ys u ny o n g 异构数据源集成中间件的设计与实现 1 ,1 课题背景 第一章绪论 大型企业和政府部门的信息化系统建设通常具有阶段性和分布性 的特点,在技术上并不能一步到位,再加之其它经济和人为因素的影响, 构建的信息系统就像一个个“信息孤岛”。它们各自有着不同的处理对 象、操作方法和专用客户端。从应用角度来看,这些采用不同的硬件平 台,不同操作系统和不同数据库等构建起来的系统,就是一个个异构的 数据源,如此就构成了一个巨大而复杂的异构数据环境。 随着企业信息系统的不断发展,在异构数据环境下,越来越多的用 户需要同时访问和处理多个不同数据源中的数据,希望屏蔽各个层次的 异构特性,他们不必知道各数据源的分布,也不必知道数据源的结构组 成,不必自己去进行数据的转换和结果汇总,只需要通过简便的全局查 询便可以得到一个综合结果。 而传统的数据库集成方法已经远远不能适应人们获取数据的需求, 因此迫切需要一种新的数据集成系统。这种系统不仅能集成传统的数据 库中的机构化数据,而且还可以集成日益广泛的咀,半结构化数据。 在这种背景下,异构数据集成系统成为当前数据集成研究的一个热点。 1 1 1 异构数据集成概念 数据集成是对各种异构数据提供统一的表示、存储和管理,这些功 能在异构数据集成系统中实现。数据集成屏蔽了各种异构数据间的差 异,通过异构数据集成系统进行统一的操作。因此集成后的异构数据对 用户来说是统一和无差异的。 异构数据源集成【l 】【26 。,简而言之,就是在一个确定领域中,集成其 存在的异构且自治的数据源,使用户感觉到所查询的数据都具有单一的 模式且存储在单个数据源中。数据源集成系统最重要的特点就是为用户 提供一个统一的访问界面,使用户能够将注意力集中在要查询的内容 上,而不是如何去得到数据的方法上。 1 异约数据源集成中间件的设计与实现 1 1 2 异构数据源集成方案 目前实现异构数据源集成一般有两种方法: 1 ) 数据仓库法【2 1 周期性的通过数据的迁移和转换将原有的局部数据源上的共享数 据移植到新的数据仓库系统中,最后提供对该数据仓库的查询机制。该 方法的系统结构如图1 ,1 所示。 优点:处理简单,可以为用户提供简单快速的频繁数据访问。同时 还可以为其他应用提供o l a p 及决策支持等功能。 缺点:实施的周期较常,不能充分利用企业已有的信息投资。各个 局部数据源和数据仓库上都保存数据,数据重复存储。同时数据更新不 及时。 图1 - 1 数据仓库法的系统结构 2 ) 虚拟法( 又叫m e d i a t o r 中间件法) 1 3 j 不需要改变原始数据的存储和管理方式。使用一个中间模式来虚拟 表示全局数据模式,用户不必知道数据源的位置与特点,中间件将基于 中间模式的查询分解为对各个局部数据源的子查询,分别执行,最后把 它们返回的数据综合起来得到查询结果。中间件位于异构数据源系统 ( 数据层) 和应用程序( 应用层) 之间,向下协调各数据源系统,向卜为访 问集成数据的应用提供统一数据模式和数据访问的通用接口。这种方法 适合于数据源数目多,局部数据源的数据变化频繁的异构数据源集成。 异构数姑源集成中问件的设计与实现第一章绪论 目前,主要的研究都是集中在虚拟法,而本论文的异构数据源集成中间 件也是在虚拟法的思想上构建的。该方法的系统结构如图1 - 2 所示。 图l - 2 虚拟法的系统结构 1 1 3 异构数据源集成主要问题 在虚拟法的思想基础上,考虑到实现企业异构数据源关联共享的数 据集成中会遇到各种困难,主要有如下几点: 1 ) 异构性 这是数据集成面临的最主要的问题。其包括主要两个方面: 系统异构:计算机体系结构不同,操作系统不同 数据异构:主要是模式的异构。数据存储模式包括关系模式、 对象模式、x m l 文档树型模式等等。其中在主流 的关系模式中,数据也存在着差异。 2 ) 完整性 异构数据源数据集成的唇的就是要通过对数据源进行无缝连 接,为用户提供一个统一和透明的访问。要实现数据集成,需要在 数据源内及数据源间两个方面来保证数据和约束完整性。 数据完整性:完整的数据提取,一般比较容易实现。 约束完整性:约束是指数据与数据之间的关联关系,是唯一表 征数据闯逻辑的特征。保证约束完整性是良好的 数据发布和交换的前提,可以方便数据处理过程, 提高效率。 异构数据源集成中闻件的设计与实现 3 ) 权限控制 构建多个异构数据源之间的数据集成的时候,根据集成需求的 不同,选择的集成数据源不同,同时还有可能需要限定某个数据源 内的共享内容,因此需要某种机制根据不同的集成任务,制定数据 集成范围定义,进行权限控制。 4 ) 灵活性 作为数据与中间件的结合体,面对复杂多变的集成环境需要具 备以下特点: 可移植性:支持各种软硬件环境,不受环境限制,具备良好的 通用性和可移植性。 可伸缩性:异构数据源集成中问件必须建立在灵活可伸缩基础 上,能够适应数据源的灵活多变。 互操作性:通过一套简单的a p i 或用户界面将应用与底层环节 相分离。实现各种硬件环境、各种操作系统平台上 的互操作性。 部署灵活性:支持轻量快速部署。 1 1 4 相关研究 一、异构数据源集成系统 目前己经有许多基于m e d i a t o r 中间件法的数据集成系统,有代表性 的系统主要有如下三个: t s i m m i s 系统 4 1 采用“结构化”的方法,使用自描述模型( o e m ) 表示异构数据源,非常简单j 提供了集成不同数据源信息所具有的表现 力和灵活性,用模式匹配技术作预定义集进行查询。依赖m e d i a t o r 组件 结合来自异构数据源的信息,w r a p p e r t r a n s l a t o r 组件转换源数据和查询 为统一模型。它重点放在m e d i a t o r 规则的定义和m e d i a t o r 宣称规范语言 上,而不是不同数据源相关元素的语义确定。该系统一个大的缺点是对 于动态增加数据源非常困难。 m i x 系统1 5 】用x m l 作为数据交换和集成的统一模型,用x m ld t d 作为交换数据的结构化描述,m e d i a t o r 视图基于d t d 结构。虽然它在 形式化集成规则时基于树型结构的模型表示局部d t d 模式和集成模 异 弩数据源集成中间件的设计与实现 第一章绪论 式,但并未考虑语义模型。 v e r s a t i l e 6 】是由东南大学开发的一个基于c o r b a 的可扩展的异构 数据源集成系统原型。该模型在i o n a 公司的o r b i x 产品上,对 s q l s e r v e r 、v e r s a n t 、文件系统、超文本数据进行包装和集成。 随着x m l 技术的发展,将x m l 技术与全局数据模式相结合可以 使异构数据源集成中间件系统能更好地适应开放、发展环境中的数据集 成。许多著名的异构数据源集成研究都引入了x m l 相关技术,例如前 面介绍的t s i m m i s 、m i x 等。 二、集成数据模型 当前已有的数据集成系统中,使用的集成数据模型主要有以下三 种: 1 ) o e m ( o b j e c te x c h a n g em o d e l ) 4 1 o e m 是简单的、自描述的对象模型,用带标签的有向图来描述半 结构化数据。图中结点表示对象,标签传递对象之间关系的语义信息, 叶子对象表示原子对象有相应的值关联,其他对象为复合对象。 2 ) o i m ( o b j e c ti n t e g r a t i o nm o d e l ) 1 7 1 对象模型 o i m 是v e r s a t i l e 系统的公共数据模型。一个o i m 对象d 是一个带 根连通有向图,表示成o f r ,v ,e ) 有向图中的每个结点表示对象,边 表示对象与其他成员间的关系;根结点r 是一个聚集对象,它是引用类 型的,v 是该聚集对象及其所有成员对象的集合,e 是对象与其成员之 间关系的集合。o i m 对象模型将元数据附在数据上,便于集成来自各个 异构数据源的异构数据。 3 ) x m l 数据模型 x m l 具有内容的自描述、跨平台、内容和显示分离、可扩展性等 特点,它的强适应性使其可以实现对资源的快速包装和集成发布,所有 从数据模型的角度来看,与其他数据模型相比,更适合用来描述各种异 构数据源。因此,本文采用x m l 数据模型。 三、x m l 数据查询 随着x m l 技术的发展和应用,x m l 的基于关系数据库的检索查询 已成为研究的一个热点。该方法通过x m l 和关系数据库的模式映射实 现数据转换,构成数据的底层r d b 存储与x m l 视图,然后通过x m l 第一章绪论 异构数据源集成中阔伴的设计与实现 查询语言转换成s q l ,实现对x m l 的查询。 【8 1 中提出了将x q l 转换成s q l 的方法,【9 j 则是提出了x q u e r y 转换 成s q l 的算法,将x q u e r y 或x p a t h 的每条路径和节点分离出来,再根 据这些路径和节点产生s q l ,最后再合并这些查询语句,不过1 8 儿州中都 没有详细的转换步骤,并且不支持具有嵌套结构的查询语句。 i o l 使用动态区间编码来辅助转换和文档查询的动作,对x m l 文件 使用深度查询算法对每个元素、属性和文字节点编码。该研究可以转换 具有嵌套结构、含有复杂路径的f l o w r 表达式。 1 1 1 针对递归的x m ls c h e m a 进行x m l - t o s q l 的查询语句转换。虽 然可以处理递归的x m ls c h e m a ,可是对于嵌套结构的x q u e r y 并没有 提出解决方法。 本文的数据源集成系统,是根据已有关系模式生成x m ls c h e m a , 然后进行查询转换,因此本文的x q u e 巧2 s q l 算法与龇9 】【m 】【1 1 1 思想有所 不同。 1 2 课题内容和重点 本论文研究的异构数据集成,其目的就是在分布式环境下建立一个 公其的集成环境,屏蔽各个异构数据源的平台、系统环境、内部数据结 构等方面的异构性,对它们进行无缝连接,为用户提供一个统和透明 的接口。那么在不改变局部数据的存储位置和管理,不影响局部数据源 的自治性的基础上,作为异构数据集成的全局模式必须满足: 1 ) 能够描述各种数据格式,无论其是结构化的还是半结构化的, 无论其支持所有的查询语言还是简单的文本查询。 2 ) 易于发布和进行数据交换,集成后的数据可以方便地以多种格 式发布和便于应用交换数据。 3 ) 提供一种统一的查询语言。 对此本文在虚拟法思想的基础上设计实现了基于x m l 技术的异构 数据源集成中间件。其主要设计思想是:x m l 作为全局数据模式,x m l 查询语言x q u e r y 作为统一的数据源查询语言。中间件将用户提交的全 局查询分解翻译成一个或多个对数据源的查询,然后将数据源的查询结 果进行综合处理,并将之以x m l 文件形式返回给用户。 异构数据源集成中间件的设计与实现第一章坌i 论 本论文研究的主要内容如下: 1 ) 基于虚拟法的集成中间件总体设计 x m l 具有内容的自描述、跨平台、内容和显示分离、可扩展性等 特点,为数据集成提供了一种新的模式,本文利用x m l 作为全局数据 模型,设计了一个可扩展的异构数据源集成中间件。支持结构化的关系 数据和半结构化的x m l 文档。 2 ) 基于x m ls c h e m a 描述的全局模式生成算法 针对d t d 的不足,本文采用x m ls c h e m a 定义集成模式,基于约 束及语义信息保留的模式转换算法实现关系模式到x m l 模式转换。通 过数据源间关联约束定义形成全局模式。 3 ) x q u e r y 查询到s q l 的转换算法 对于具有嵌套结构的树状x q u e r y 查询语句,通过二维数组保存 x q u e r y 分段子句和相互位置关系,实现x q u e r y 到s q l 的转换。 4 ) 实现全局查询的分解实现 根据数据源进行查询分解,分解同时考虑避免笛卡尔积查询的出 现,尽量将计算下推,使得针对各个局部数据源上的查询都是最小化的 二f 杏询。 1 3 约定 本文研究的异构数据源集成中间件主要是为了实现异构数据源间 关联查询与信息共享,只是在多个自治异构数据源上提供一个统一的查 询接口,不涉及数据源数据的更新操作或事务处理。 1 4 本文组织结构 本文后续章节的组织结构如下: 第二章:介绍异构数据集成涉及到的相关技术,包括:x m l 技术, j a v a 技术以及设计模式思想。 第三章:首先给出了集成中间件的总体设计,然后大体的介绍了各 个模块的功能,以及各个模块的内部组成,最后概括了该中间件的特点。 第四章:针对第三章的总体设计,详细介绍了各大模块的设计实现: 整二:兰丝鲨墨塑鏊塑壁些! 壁壁塑塞生皇壅型 :基于约束与语义保留的模式转换算法,全局查询语言x q u e r y 到m v s q l ( 中间虚拟s q l ) 的转换算法x q u e r y 2 s q l ,查询的分解,子查询计划 定义和基于j a v a 的包装器实现。 第五章:对本文进行总结并展望了下一步的工作。 异构数据源集成中间件的设计与实现 第二章相关技术知识 本章就论文所需的相关概念和技术做了简要的介绍,内容包括:一、 x m l 技术系统及特点、x m l 定义、x m l 的查询语言:二、开发平台 技术和设计模式。 2 1x m l 与数据集成 数据集成的目的就是要在不影响局部数据源的自治性的基础上,为 用户提供涉及多个异构数据源的统一查询机制,并用统一的方法使用来 自于不同数据源的各种数据,从而让用户感觉到就像使用一个数据库一 样。因此要实现异构数据源集成需要解决以下几个问题:首先就是为集 成系统设计一个公共数据模型,以统一描述各种异构的数据源;其次需 要考虑提供给用户一个统一的查询语言来访问集成数据。 过去,异构数据源的集成系统,例如多数据库系统或联邦数据库系 统通常采用关系或对象的数据模式作为全局模式,但是,他们并不能满 足网络时代的i n t r a n e f f i n t e m e t 应用所提出的高标准。随着x m l 及相关 技术和应用的发展,x m l 不仅成为了应用间数据交换的一种标准,而 且也是互联网中重要的信息交换标准和信息表示的技术之一。x m l 的 强适应性使其可以实现对资源的快速包装和集成发布,所以将x m l 技 术与全局数据模式相结合可以使异构数据源集成中间件系统能更好地 适应于开放、发展环境中的数据集成。 2 1 1x m l 总体介绍 x m l 标准 x m l 1 2 1 1 ”1 最早由w 3 c 在1 9 9 8 年2 月发布,是一种采用开放的自 我描述方式定义的数据格式,由于x m l 的自描述性和可扩展性而倍受 关注。虽然x m l 标准本身简单,但随着x m l 处理和应用的发展,与 x m l 相关的标准逐步建立起来,w 3 c 制定的相关标准就有二十多个, 包括与x m l 相关的各个方面。其中不仅有x m l 标记语言本身,还包 第二章相关技术知识异构数据源集成中问件的设计1 j 实现 括了很多相关的规范,比如文档格式化标准( s c h e m a ) 、文档显示模式定 义( x s l ) 、文档查询标准( x q u e r y ) 、文档解析标准( s a x ) 年n 文档链接标准 f x l i n k ) 等等,而且基于x m l 这个底层的规范,还有很多高层的应用协 议。 根据x m l 相关标准的含义和作用不同,由下至上分为元语言标准 ( 即核心定义) 、基础标准、应用标准三个层次。其中核心定义层是基 本概念的定义,基础标准层在核心定义层的基础上对处理共性问题制定 的规则,应用扩展层则是在下面两层的基础上针对特定应用而制定的专 用规范。如下图2 1 所示。 j 蕃戛函藁孤一一一一一一一一一一一一一一一一一一一一一一一 t n a _ h m l o i l s v g i ;竞致拱镬域 l 胁p l ! i e 6 警镪域 l ; s o 印 硼d i i 矾成晨l 扩最 。一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一l f j i | 匠灞震 强i j f 一一一一一一一一一一一一一一一一一一一一一一一! ;1 6 幢龇s c h e m a 黯o i n t e rx l i n k; :瑚_ 歉瓣处理: l 墨鉴。孙e r , m “ l i 蚴程接口拽则i ! 一一一一一一一一一一一一一一一一一一一一一一一一一一一一一! :l m 藏客幸卜兖: l l 弭li c a 协l o s s 硼lh s e x i n e u d e | 蛳i n f o s e t x m ln e s p a c e s : x u l 棱。l 罐燮一一一一一一一一一一一一一一一一一一l 图2 1 x i v l l 标准体系 第一层为x m l 核心定义,主要是描述标准的元语言。在x m l 标 准体系中就是x m l 标准本身和一些附加概念定义,是整个体系的核心, 其他x m l 相关标准都是以它们为基础制定的或为其服务的。 第二层为基础标准,这一层次的标准是为x m l 的迸一步实用化而 制定的标准,规定了采用x m l 标准时的一些公用特征、方法或规则。 如:d t d 和x m es c h e m a 描述了更加严格地定义x m l 文档的方法,以 便可以更自动化地处理x m l 文档;x p a t h ,x s l 、x q u e r y 、x f o r m 等 异构数据源集成中间件的设计与实现 是为方便对x m l 数据进行处理而规定的一些统一规则;s a x ,d o m 等 是被广泛使用的x m l 编程接口标准等等。 第三层为应用扩展标准( a p p l i c a t i o ns t a n d a r d s ) ,这层主要是一些采 用x m l 制定的行业标准。其中包括了特定的模式规范,如x h t m l ( 采 用x m l 对h t m l 的重新定义) 、m a t h m l ( 数学公式符号的x m l 化) 、 c m l ( 化学公式符号的x m l 化) 、s v g ( 有关矢量图形的) 等;关于元数据 的标准,如r d f ( 资源描述框架) 等;用于w e b 服务领域的标准,如s o a p 等;以及一些其他领域的应用标准。随着更多的行业加入到x m l 应用 中来,这层仍在不断的增长中。 x m l 的特点 x m l 是元标记语言,可通过它定制针对不同应用环境和要求的标 记。它以统一、开放、基于文本格式的模式来描述和交换数据。它是 s g m l 的个简化雨严格的子集。x m l 具有以下特点: 1 ) 内容的自描述性 x m l 用元素表示组成文件的逻辑部件,在元素上作标记以标明数据 的含义,并且用简单的嵌套和引用来表示元素间的关系。h t m l 语言是 面向显示的,无法通过它理解信息的内容,而x m l 语言是面向内容的, 其语义隐含在标记中,它反映的是有结构并且有自描述能力的数据,从 而可以更优地实现在分布式计算环境下地信息共享和交换。 2 ) 结构化 玎蛐l 不支持表达数据库结构或面向对象的分级结构所需要的深 层结构,x m l 至少是结构化的。在结构化信息的组成要素中d t d ( 文 档类型定义) 或x m ls c h e m a 是个重要的组成部分。它规定了资料的格 式规范并且用这种规范来对资料进行解释。结构化信息的优点是允许不 同格式的资料可以相互交换。用户可以使用结构化x m l 文件作为数据库 间数据灵活交换的一个良好中介体。 3 ) 内容和显示分离 x m l 文档用来记录内容,用c s s 或x s l 在浏览器中能实现对同一 x m l 文档地多种显示,实现一次性生成和维护信息,而旦具有动态多样 地显示形式。 第二章相关技术知识 异构数据源集成中间件的设计与实现 4 ) 司扩展性 通过x m l 文件中命名空间地声明,x m l 标记可以通过网络被任何 组织和个人使用,因此可以使用一种统一地数据模型,而不必关心数据 所在地具体系统和应用环境。另外,h t m l 被定义成了一套固定地标签 集是h t m l 最大地弱点,而x m l 允许用户定义新地标签,x m l 可以在 不破坏现有结构地情况上增加新地数据字段,只需要修改数据的模式定 义,而不用重新编码已有地对象。 5 ) 跨平台性 x m l 可以编码各种内容、语义和概要。包括文档、记录、带有数据 和方法地对象、w e b 站点的内容等。x m l 采用u n i c o d e 字符集,用纯文 本表示,独立于平台、语言,能够直接利用h t r p 协议传输。 2 1 2x m l 的定义 d t d d t d ( d a t at y p ed e f i n e ;文档类型定义) 的作用是定义文档的语法, 它规定了一个x m l 文档的文法结构以及如何嵌套文档。d t d 实际上可 以看作一个或多个x m l 文件的模板,这些x m l 文件中的元素、元素的 属性、元素的排列顺序、元素能够包含的内容等,都必须符合d t d 的定 义。 d t d 可以是一个完全独立的文件,也可以在x m l 文件中直接设定。 所以d t d 分为外部d t d 和内部d t d 两种外部d t d 独立于x m l 文件,那 么它可以供多个x m l 文件使用,就像用同一个模板可以写出多个不同内 容的文件一样,这些多个x m l 文件因为引用同一个外部d t d ,所有它 们的结构大致相同。 d t d 作为x m l l 0 规范的重要组成部分,对于x m l 文档的结构起到 了很好的描述作用。但是,d t d 语法相当复杂,并且它不符合x m l 文 件的标准,自成体系。d t d 只提供了非常有限的数据类型、也不支持域 名机制,d t d 中的内容模型是不开放的,它不能随意扩充内容。 墨塑墼堑塑墨堕主塑竺塑丝生兰壅型 x m ls c h e m a 第二章车h 关技术划识 w 3 c 定义的x m ls c h e m a 作为d t d 的替代,正好解决它的那些缺点 问题。x m ls c h e m a 为一类文档建立一个模式,规定了文档中的标记和 :丈本可能的组合形式。它不仅包括了d t d 所能实现地所有功能,而且它 本身就是规范的x m l 文档。另外x m ls c h e m a 提供了一系列地新特性, 大大弥补了d t d 的不足【1 4 1 : 1 ) 丰富的数据类型:支持1 9 种基本数据类型和2 5 种内建派生数据类 型。支持由简单类型生成的复杂类型。 2 ) 支持用户自定义数据类型 3 ) 支持属性分组 4 ) 更新原型 5 ) 支持域名 与d t d 相比较,x m ls c h e m a 具有更强的表现力,因此本文采用 x m ls c h e m a 作为数据集成全局模式。 2 1 3x m l 查询语言 x q u e r y 简介 x q u e r y l 0 【b 1 是用来从x m l 文档中提取信息的w 3 c 标准,目前 包括1 6 个工作草案。目前的最新版本是2 0 0 5 年4 月4 日提出的。x q u e r y 是查询支持x i v i l 的数据源的功能语言,它简单灵活,易于理解和实现, 同时适于查询x m l 文档和x m l 数据库。它源于另一) ( m l 查询语言q u i l t , 同时又借鉴了众多其他查询语言的优点。例如;类似于x p a t h _ 币e i x q l , x q u e r y 采用了路径表达式,以适应数据和文档的层次化结构:类似于 x m l - q l ,采用捆绑变量的概念,并以此创建新的结构;类 以s q l ,采 用基于关键词的分句表达式的模式,为重构数据提供了统一的模板( 如 s e l e c t f r o m w h e r e 模式) ;类似于o q l ,作为一种功能新语言它结合了多 种不同表达式,并且可以嵌套使用。 x q u e r y 主要由1 2 种表达式组成: 1 ) 基本表达式( p r i m a r ye x p r e s s i o n s ) 2 ) 路径表达式( p a t he x p r e s s i o n s ) 第二二章相关技术知识 异构数据源集成中闽件扮设计i i 实现 3 ) 顺序表达式( s e q u e n c ee x p r e s s i o n s ) 4 )算术表达式( a r i t h m e t i ce x p r e s s i o n s ) 5 ) 比较表达式( c o m p a r i s o ne x p r e s s i o n s ) 6 ) 逻辑表达式( l o g i c a le x p r e s s i o n s ) 7 )构造表达式( c o n s t r u c t o r se x p r e s s i o n s ) 8 )f l o w r 表达式( f l o w re x p r e s s i o n s ) 9 )非顺序表达式( u n o r d e r e de x p r e s s i o n s ) 10 ) 条件表达式( c o n d i t i o n a le x p r e s s i o n s ) 11 ) 量化表达式( q u a n t i f i e d e x p r e s s i o n s ) 12 ) 顺序类型表达式( e x p r e s s i o n so ns e q u e n c et y p e s ) x p a t h x p a t h 是为x m l 定义的查询语言,它是x q u e r y 、x s l t 、x p o i n t e r 等规 范的内部路径语言,它定义了在x m l 文档中选择节点子集的简单语法, 还提供了操纵字符串、数字和布尔值的函数。x p a t h 将x l v i l 文档看成带 有节点的树状结构,利用它可以在x m l 文档的树状结构中找到任意的节 点。 f l o w r x q u e r y 中最强大的特性是f l o w r 表达式。f l o w r 是 f o r - l e t - o r d e r b y - w h e r e - r e t u r n 的首字母缩略词,这些子旬都允许在这些 表达式的任何一个中。f l o w r 表达式类似于s q l 中的 s e l e c t - f r o m w h e r e 结构并且构成x q u e r y 表达式的最重要的基干。 f l o w r 表达式可以完成很多以前在x s l 样式表中所不能完成的任务。 f o r 子句:用f o r 子旬来指定一组笛卡尔元组,表达式的其余部分将 对该元组求值。通过为这些笛卡尔组选定次序来控制求值的次序。 l e t 子句:l e t 子旬为一个变量赋一个值或一个序列。在w h e r e 或 r e t u r n 子句中,这可能是非常有用的简写。 w h e r e 子句:如果特定的元组不能满足特殊条件,那么w h e r e 子旬 命令程序废弃这些元组。 r e t u r n 子句:用来构造f l o w r 表达式的执行结果。 o r d e r b y 子句:表示以某个元素或属性作为排列顺序。 4 茎塑墼堡塑叁堕室望堡望望竺兰壅翌 2 2 开发平台技术 j a v a l l7 j 是在19 91 年由s u n 公司j a m e sg o s l i n gp a t r i c kn a u g h t o n 、c h i s w a r t h 、e df r a n k 以及m i k es h e d n d a n 等组成的“s t a r 7 ”小组所构想出 来的,于1 9 9 5 年5 月正式推出。j a v a 包含着两种意义:j a v a 语言和j a v a 计算平台。j a v a 以其平台无关性、移植性强、安全性高、稳定性好、分 布式、面向对象等有点从而成为分布式系统应用开发的首选语言。 从语言角度来看,j a v a 具有下列特色: 1 ) 简单。j a v a 继承了c c + + 的语法,丢弃了其中不常用又容易 引起混淆的功能,特别是非面向对象的内容,增加了垃圾收集等简化程 序复杂度的功能。因此完成同样工作的c c + + 程序与j a v a 程序相比要 庞大得多。 2 ) 面向对象。j a v a 是一种纯面向对象的语言,具有封装 ( e n c a p s u l a t i o n ) 、继承( i n h e r i t a n c e ) 和多态( p o l y m o r p h i s m ) 的特性,可以被 用于面向对象这种现代软件工程。 3 ) 面向网络。j a v a 对网络有非常强大的支持。i n t e r n e t 让j a v a 声 名大噪,使之成为一种广为人知的计算机语言。同时,j a v a 也对i n t e m e t 有着极为深远的影响,因为它加大了网络世界的对象中能够自由移动的 空间。 4 ) 解释执行。j a v a 的设计者设计j a v a 的主要目的就是希望可以做 到“编写一次,到处运行”。j a v a 写成的源代码被编译成高阶的字节码, 它们与机器架构无关。然后,这种字节码在任何j a v a 的运行环境中由 j a v a 虚拟机解释执行,保证了j a v a 的与平台无关性和可移植性。解释 执行与及时编译技术的完美结合,提供了相当高的运算性能。 5 ) 强固性。j a v a 是一种非常注重形态转换的语言,所以在编译时 期就会做形态转换检查,在执行时期,j a v a 也会做一些形态上的检查。 由于j a v a 解释器会做自动的垃圾收集( g a r b a g ec o l l e c t i o n ) ,这里的垃圾 指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动 地管理。j a v a 本身提供了许多面向对象的例外处理( e x c e p t i o n ) ,所以程 序在执行时期所发生的错误,都可以由程序自己来处理。 异构数据源集成中间件的设计与实现 6 ) 安全性。j a v a 设计时对系统的安全,特别是网络安全做了周密 的考虑。通过字节码验证、内存调用方式、资源使用权限等进行多层次 的安全管理。j a v a 被认为是在任何系统上最安全的应用程序之一。 7 ) 可携性。为了达到真正的与机器架构无关,j a v a 做了可携带性 的规范,如:整数永远是3 2 位的整数、浮点数永远是3 2 位的浮点数、 g u i 包括了抽象的窗口系统( a w t ) 和纯j a v a 写的j f c ,因此它与操作系 统( 如:u n i x 、w i n d o w s 、m a c 等) 无关。 8 ) 多线程性。j a v a 能处理比进程更小的线程,因此可以很容易地 在一个j a v a 应用里同时做多个任务。 9 ) 动态性。j a v a 可以让你在执行时动态地调用所需的模块。 2 2 2 设计模式 软件设计模式【l8 】代表了从成功的系统设计中分离出来的可复用的 优秀设计经验,描述如何在特定情景中解决一般设计问题。一个设计模 式抽象、命名和确定一个通用设计结构的主要方面。 g o f 从面向对象设计的角度,将设计模式定义为:为解决特定场景 下的一般设计问题,对相关的类和相互通信对象的描述。设计模式确定 了所包含的类和对象,它们的角色、协作方式和职责分配;集中于特定 的面向对象设计问题或设计要点,描述了如何使用它,在另一些设计约 束条件下是否还能使用,以及使用的效果和如何取舍。 一个模式包含四个要素: 1 ) 模式名称:用来标识模式。 2 ) 问题描述:用来描述模式的适用范围。 3 ) 解决方案:描述了设计的组成成分,它们之间的相互关系及各 自的职责和协作方式。 4 ) 效果:描述了模式应用的效果及使用模式应权衡的问题。 使用设计模式为软件系统的设计开发带来很多好处: 1 ) 设计模式为开发人员提供了一个很好的设计经验,模式中描述的 解决方案是人们从不同角度对一个问题进行研究,然后得出来最 通用、灵活得解决方案,其有效性是经过大量实践检验得。 2 ) 设计模式为软件重用提供了一条途径。每个设计模式可以是软件 髯构数据源集成中间件的设计与实现 设计中得可重用元素或单元。多个模式可以组合起来构成完整得 系统。这种基于模式得设计具有更大得灵活性、可扩展性和更好 得可重用性。 3 ) 设计模式思想是将程序中的可变部分与不可变部分分离,减少了 对象问的耦合度,从而某一个对象的修改,不会导致其他对象的 变动,使得由于修改带来的影响范围达到最小化。 2 3 本章小结 本章分析了实现异构数据源数据集成需要解决的问题:公共数据模 型和统一查询语言,而x m l 技术正好具备解决这两个问题的能力。在 此基础上介绍了x v l l 的相关技术以及为实现中间件而选用的开发平台 技术。 第三章异构数据源集成中问件h d s i m 的总体设计 异构数据源集成中间件的设计与宴现 第三章异构数据源集成中间件h d s i m 的总体设计 本章根据异构数据集成的需求提出了异构数据源集成中间件 h d s i m 的整体框架结构设计,然后介绍了h d s i m 各主要模块的功能和 内部的关键部件,最后总结了该中间件系统的特点。 31 系统整体框架结构 基于x m l 的异构数据源集成中间件( h e t e r o g e n e o u sd a t as o u r c e s i n t e g r a t i o nm i d d l e w a r e ,简写为h d s 旧属于中间件范畴,它从异构数 据集成的实际应用出发,利用x m l 、j a v a 、中间件技术,为用户提供一 个统一的查询接口。x m l 作为全局数据模型,x m l 查询语言x q u e r y 作为统一的数据源查询语言。查询的结果以x m l 格式输出,统一格式 的查询结果可以供不同应用程序和系统共享。整体的框架结构如图3 - 1 所示。 图3 - l 系统结构图 茎塑墼墨堡叁壅生塑竺竺堡茎兰! 銎 塑三兰茎丝墼塑塑墨堕! ! 里壁望里! 型塑璺堡堂生 从客户服务器角度来看,异构数据源集成中间件是构建在数据层 和应用层之间,构成了客户服务器三层结构。各个异构的数据源系统构 成系统的数据层;中间件系统作为业务层,提供了数据集成的业务逻辑 服务;应用程序则构成系统的表示层。 异构数据源集成中间件h d i s m ,主要由集成服务管理器、查询处 理器、包装器三部分组成。 集成服务管理器通过集成任务定义机制,对集成数据源的元数据、 局部视图和全局视图的管理,为包装器和查询处理器服务。 查询处理器需要根据用户提交的查询请求,分解转换成多个子查 询,提交给包装器执行,然后把包装器返回的结果汇总处理,以x m l 的方式返回给用户。 包装器负责与底层数据源交互,包装异构的数据源,实现数据位置 和访问的透明性。主要有两个包装器,一个支持关系数据库,使用标准 s q l 查询;一个支持x m l 数据源,使用x q u e r y 查询。 3 2 系统组成功能模块 3 2 1 集成服务管理器 异构数据源集成中间件h d i s m 是为了满足企业数据集成,实现数 据之间的共享的一个中间件,一方面需要适应企业数据集成的需求变 化,另一个方面在数据集成过程要保持数据的自治性和安全性。因此我 们通过集成服务管理器的集成任务定义机制,实现数据的集成和集成共 享内容限定,以此满足企业应用需求。如图3 2 所示集成服务管理器 包括元数据管理和集成任务定义两大子模块。 一、元数据管理器 元数据管理器作为所有相关数据源信息的管理器,它是一个辅助查 询处理器和包装器工作的组件,是实现异构数据源集成中间件的基础。 元数据管理器主要负责以下几项工作:一、记录每个局部数据源的基本 元数据信息:二、记录各个数据源数据类型与x m l 数据类型的对应关 系解决格式冲突问题;三、管理集成任务定义模块和包装器结合生成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 承德高速招聘考试题库及答案
- 化工工程师考试题及答案
- 2025年项目合作合同
- 2025年广西专业技术人员公需科目考试试题和答案
- 2025年广西梧州市公需课培训(专业技术人员继续教育)试题及答案
- 珠宝鉴定专业考试试题及答案
- 地理开卷考试题型及答案
- 安徽二造考试真题及答案
- 中级数学考试题库及答案
- 五级验光员考试题库及答案
- 《国际政治经济学大纲》详解课件
- Q∕SY 06327-2020 二氧化碳驱油气田集输管道施工技术规范
- 译林版六年级英语上册 Unit 3 第2课时 教学课件PPT小学公开课
- 三氯化磷生产作业技术指导书
- 中国电影的发展史
- 电镀时间与理论厚的计算方法
- Word操作练习题
- 药用高分子材料学(78)
- 公路桥梁技术状况评定分值计算EXCEL表格(梁桥-拱桥)
- there_be句型公开课
- ISO 1110-95 尼龙-测试样品的加速调节
评论
0/150
提交评论