(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf_第1页
(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf_第2页
(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf_第3页
(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf_第4页
(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)企业应用系统数据集成的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业应用系统数据集成的研究与实现 毒p 算机应用技术专业 研究生范彩霞指导教师蒋玉明教授 令天是一个信息爆炸韵时代,各种信息指数级地快速增长,可用豹数据资 源种类也越来越多,这些数据分散在各个站点、文件系统、数据库系统和一些 应用系统等中。由于各行业、部门和单位根据各自不同| l 句应用需求,在不同时 期采用不同的开发工具、不同的操作系统等构建的系统,这些系统之间并不能 有效她实现信息共亭和交互,从露将不可避免地导致信息孤岛、应用孤岛以及 资源孤岛等问题。大量的信息被“锁”在各个小岛的数据库整,各“孤岛”之 间并不能按照用户的指令进行有意义的交流。在创建新的应用系统的同时,希 望能将原有系统中有价值的数据集成起来,通过i n t e r n e t 实现更大范围的数据共 享,以便更有效地利用信息资源。解决这一问题的最佳途径就是建立一个可以 实现整合肉、外资源的高效的数据集成系统,以利于资源共享。 本课题围绕解决企业信息内部异构数据源访问问题,实现企业应用程序间 的数据交换和资源共享为目标,研究提出了建立一个企业应用系统数据集成通 用接口的技术思路。论文的创新点和特色体现在以下几个方面: 1 ) 根据企业的实际情况,结合由计算机主扳的p c i 插槽定义了p c i 规范豹 思怨。即即装即用的思想,并借鉴e a i 以及关系数据集成方案的优点,提出了 企业应用系统数据集成的体系结构,并对企业应用系统数据集成内部结构逃行 了详细的设计。 2 ) 采用x m l 格式作为统一豹数据交换标准,设计了x m l 路由配置文件 以及数据源视图、全局视闰的模型规则,对目前的结构化数据和半结构化数据 能够进行详细的描述,其规则具有良好的扩展性。同时,对冲突问题提出了解 决方案。 3 ) 对x q u c r y 查询处理技术进行了分析和设计,利用x q u e r y 技术屏蔽了 底层数据库的位置信息和平台差异,实现了异构数据库的无缝连接,并向用户 应用提供了统一的数据视图和查询接口,并得到了实例的验证。 4 ) 采用基于, i i v l $ 的异步消息机制实现了多个系统间数据交互和数据共享 本文对j m s 消息收发模块进行了详细的分析和设计,最后通过实例验证,实现 了对业务数据库的更新。 关键词:数据集成x l v l l 肌s 接口x q u e r y t h er e s e a r c ha n d i m p l e m e n t a t i o no f d a t a i n t e g r a t i o ni ne n t e r p r i s ea p p l i c a t i o ns y s t e m c o m p u t e ra p p l i c a t i o nt e c h n o l o g y p o s t g r a d u a t e :f a nc a i x i as u p e r v i s o r :p r o j i a n gy u m i n g t o d a y , w h a tw ef a c ei st h ea g e so fi n f o r m a t i o ne x p l o s i o n m u c hi n f o r m a t i o n h a sg r o w ne x p o n e n t i a l l y m o r ea n dm o r ea v a i l a b l ed a t ar e s o u r e e ss c a t t e ri ne a c h s t a t i o n , s u c ha sd o c u m e n ts y s t e m , d a t a b a s es y s t e ma n ds o m ee x i s t e n ts y s t e m se t e a c c o r d i n gt ot h ed i f f e r e n tn e e d ,e a c hu n i ta d o p t st h ed i f f e r e n td e v e l o p m e n tt o o la n d o p e r a t i n gs y s t e mt ob u i l ds y s t e m 砒t h ed i f f e r e n tp e r i o d h o w e v e r , b e c a u s ee a c h s y s t e mc a n te f f e c t i v e l yi m p l e m e n ti n f o r m a t i o ns h a r ea n de x c h a n g e ,t h et r a d i t i o n a l s y s t e mw i l li m v i t a b l yl e a dt oi n f o r m a t i o ni s o l a t e di s l a n d , a p p l i c a t i o ni s o l a t e di s l a n d a n dr e s o u r c e si s o l a t e di s l a n d ag r e a td e a lo fi n f o r m a t i o nh a sb e e n ”l o c k e d i nt h e c e n t r a ld a t a b a s eo fe a c hi s l e t m o r e o v e r , e a c h ”i s o l a t e di s l a n d ”c a n ti m p l e m e n tt h e m e a n i n g f u le x c h a n g e sa c c o r d i n gt ot h er e q u i r e m e n to ft h ec u s t o m e r i t su s e f u lt o e s t a b l i s hn e wa p p l i c a t i o ns y s t e mt h a tm a yi n t e g r a t et h ew o r t h yd a t ai no r i g i n a l s y s t e mi no r d e ft os h a r et h ei n f o r m a t i o nv i ai n t e m c ta tt h el a r g c rs c o p ea n du t i l i z e t h ei n f o r m a t i o nr c s o u r sm o r ee f f e c t i v e l y n 坨b e s tw a yt or e s o l v et h e s ep r o b l e m si s t ob u i l du pd a t ai n t e g r a t i o ns y s t e m , w h i c hc o u l de f f i c i e n t l yi n t e g r a t et h eo u t s i d ea n d i n s i d er e s o u r c e so f s y s t e ma n dp r o m o t ei t sr e s o u r c e ss h a r e 硼1 ei d e ao fb u i l d i n gu pag 胁e r a li n t e r f a c eo fd a t ai n t e g r a t i o ni ne n t e r p r i s e a p p l i c a t i o ns y s t e m ( d m a s ) i sw o p o s e di nt h i s t h e s i si no r d e rt om a k et h e h c = t c r o g e n e o u sd a t av i s i tm o r ee f f e c t i v e l yi ni n t e r n a le n t e r p r i s e , i m p l e m e n tt h ed a t a e x c h a n g i n ga n dm a k et h er e s o u l o 瞎s h a r e db c t w p j e ne n t e r p r i s e sa p p h c a t i o m n e m a i nc o n t e n t sa n dc o n c l u s i o n sa r ca sf o l l o w s : 1 ) t h es y s t e m s t r u c t u r eo fd i e a si s p r o p o s e do nb a s e o ft h ea c t u a l c i r c u m s t a n c eo f e n t e r p r i s ea n dt h ei d e ao f p c is l o to nc o m p u t e rm a l n b m a d ,w h i c hi s p l u ga n dp l a y a f t e ra d o p t i n ga d v a n t a g e so ft h ee a ia n dt h ei n t e g r a t i o no fr e l a t i o n d a t a , d i e a si sd e s i g n e di nd e t a i l n l cx m lr o u t e rf i l ea n dt h em o d e lr o l e so f t h ed a t as o u t r c e $ v i e wa n do v e r a l l v i e wi sd e s i g n e db a s e do nt h es t a n d a r do fx m ld a me x c h a n g e 1 1 l e r u l e sc a n d e s c r i b et h ec u r r e n ts t r u c t u r e dd a t aa n ds e m i - s t r u c t u r e dd a t ae a s i l y ,a n dh a v et h e e x p a n s i v e n e s s a tt h e s a r u et i m e ,w ep u tf o r w a r dt h es o l u t i o nf o rt h ec o n f l i c t p r o b l e m 3 ) a r c ra n a l y z i n ga n dd e s i g n i n gt h ex q u e r ys e a r c ht e c h n i q u e ,d i e a sc a n i n t e g r a t et h eh e t e r o g e n e o u sd a t as o u r c e sb e t w e e ni n t e r n a le n t e r p r i s e sa n dv i s i t h e t e r o g e n e o u sd a t as o u r c eb yu s i n gt h ex q u e r ys e a r c hl a n g u a g ed i r e c t l y m o r e o v e r , d i e a sc o u l di m p l e m e n tt h eh e t e r o g e n e o u sd a t a b a s e sw i t hn o n - s e wc o n n e c t i o nb y s h i e l d i n gt h ep o s i t i o ni n f o r m a t i o na n dt h ep l a t f o r md i s c r e p a n c yf r o mb o t t o m d a t a b a s e d i e a sa l s op r o v i d e st h eu n i f o r mv i e wo fd a t aa n ds e a r c h i n gi n t e r f a c ef o r c u s t o m e r d i e a si sp r o v e db yt h ep r a c t i c e 4 ) d i e a sc a ni m p l e m e n td a t ae x c h a n g ea n dd a t as h a r eb e t w e e ns y s t e m sb y u s i n gt h ej m sa s y n c h r o n o u sc o m m u n i c a t i o nm e c h a n i s m i nt h i st h e s i s t h ej m s m o d u l ei sa n a l y z e da n dd e s i g n e di nd e t a i l a tl a s t , i ti sp r o v e db yt h ee x a m p l et h a t d i e a sc a nu p d a t et h eb u s i n e s sd a t a b a s e ss u c c e s s f u l l y k e yw o r d s :d a t ai n t e g r a t i o n x m lj m si n t e r f a c e x q u e r y 四川大学硕士学位论文 1 绪论 1 1 研究的背景 今天是一个信息爆炸的时代,各种信息指数级地快速增长,可用的数据资 源的种类也越来越多,如文本、图片、音频、视频等,这些数据分散在各个站 点、文件系统、数据库系统和一些应用系统等中。由于各行业、部门和单位根 据各自不同的应用需求,在不同时期采用了不同的开发工具、不同的操作系统 等构建的系统,各个系统之间并不能有效地实现信息共享和交互,从而将不可 避免地导致信息孤岛、应用孤岛以及资源孤岛等问题。据d c 2 0 0 1 年的报告, 在全球最大的f o r t u n e1 0 0 0 家企业中,平均都有1 4 个数据库和4 8 个应用系统, 而且随着市场的变化、客户需求的变化,企业还在不断地增加它的应用。由于 大量的信息被“锁”在各个小岛的中央数据库里,各“孤岛”之间并不能按照 用户的指令进行有意义的交流。人们在创建新的应用系统的同时,也希望能将 原有系统中有价值的数据集成起来,通过i n t e r n e t 实现更大范围的数据共享,以 便更有效地利用信息资源。如何把各种不同的数据资源统一在一个信息集成平 台上,使用户能够高效、简明地操作各类信息,已经成为一个重要的课题。 1 2 国内外研究现状和发展趋势 在孤立的数据组织方式下,数据资源为某个特定的应用系统而组织,数据 被各个应用系统所独享,数据与数据之间彼此隔离,互不匹配,互不共享,造 成“信息孤岛”,这些数据资源无法直接集成,而且数据大量冗余。在许多场 合,每个系统都会产生多余的信息( 如客户信息) ,因此,当公共数据改变时, 则只有通过手工在每个系统更新相关的信息,这一过程很快就变得非常麻烦。 最后,交叉存在于系统中的一些数据变成不一致。当人们注意到因此而发生的 数据重复输入、数据不一致和信息孤立的问题时,他们决定找到一个方法以整 合系统从那开始,异构数据源集成系统诞生了 早期的异构数据源集成系统的实现普遍采用多数据库集成技术所谓多数 据库系统就是一种能够接受和容纳多个异构数据库的系统,对外呈现出一种集 成结构,而对内又允许各个异构数据库的“自治性”多数据库集成系统支持 用户使用单一数据定义和操作语言,同时访问多个独立的数据源代表性的多 l 绪论 库系统由美国普度大学开发的i n t e r b a s e 1 l 和h p 公司开发的p e g a s u s 2 1 。国内有 东北大学开发的p o l y b a s e 3 】以及北京理工大学的u u h d b 系统等,这方面的研 究基本上可分为三大类。第一类采用物理上分布、逻辑上集中的系统结构,系 统有个全局的数据模式,但是各数据库节点缺少自治性,难以管理和集成。第 二类是m c e l o d 等人于八十年代中期提出的f d b s 4 1 ( f e d r a t e d d a t a b a s e s y s t e m , 联邦式数据库系统) 的概念,是由参与联邦的半自治的数据库系统组成,目的 是实现数据库系统间部分数据的共享,联邦中的每个数据库的操作是独立于其 它数据库和联邦的,之所以叫。半自治”是因为联邦中的所有数据库都添加了 彼此访问的接口。f d b s 中实现互操作最常用的方法是将每个数据库模式分别和 其它所有数据库模式进行映射,这样联邦中需要建立n ( n - 1 ) 个模式映射规则,但 当参与联邦的数据库很多( n 值很大) 时,建立映射规则的任务就变得十分繁重。 第三类是l i t w i n 等人倡导的多数据库语言数据集成方法,这种系统既无统一的 全局模式,也无局部的联邦模式,节点自治性更强,但用户必须接受一种新的 数据语言,而且透明性较差。 随着分布异构计算环境下互操作性的研究和i n t e r n g t 技术的发展,为了实现 资源的有效利用以及系统间信息的高度共享,同时降低建设维护成本和提高企 业竞争力,多数据库的集成方法,已无法适应人们获取更多更新数据的需要, 文献【5 】嘲指出人们将注意力已逐渐转向多数据源集成。异构数据源集成系统除了 集成具有规则结构的数据之外,还需集成半结构化数据 7 1 和无结构化数据;不 仅要能集成己有数据源中的数据,而且要能集成随时加入的新数据源中的数据 因而分布在各个应用系统中的数据对数据的统一访问和使用构成了很大的挑 战,如何以种统一的数据模式描述各数据源中的数据,屏蔽它们的平台、数 据结构等异构性,实现数据的无缝集成成为异构数据源集成系统的关键。 目前,人们关于数据集成研究的方案很多,从集成的形式来看,大体上可 归为两类:物化法和虚拟法 s l 9 1 1 1 0 1 1 1 。 1 ) 物化法就是建立一个数据仓库该方法需要建立一个存储数据的仓库, 将各数据源的信息抽取到数据仓库中,此后所有的操作都直接在数据仓库上进 行。为了使参考和数据源的信息保持一致,当数据源发生改变时,数据仓库中 的数据也要及时更新这种方法不需要访问数据源,因此访问效率高,但是这 种方法数据重复存储,所有的数据都需要冗余,数据缺乏时效性,难以及时更 四川大学硕士学位论文 新,且实现数据同步非常困难 2 ) 虚拟法又称为中间件法( m e d i a t o r ) ,在这种方式下,中间件起到提供 一个应用程序问协调点的作用。中间件提供通用接口,所有整合应用可以用其 相互传递消息。数据存储位置保持不变,集成系统仅提供一个虚拟的集成视图 以及对这个集成视图的查询处理机制,用户针对集成视图提出查询,集成系统 必须将全局查询重写为对各数据源的查询,然后各数据源根据查询要求自行独 立处理。这种方式不需要重复存储大量数据,数据更新及时,添加和替换应用 程序都不会影响其它应用,比较适合于高度自治,集成数量多且更新变化快的 数据集成系统,是目前主要的研究方向。虚拟法体系结构中采用的技术更多地 涉及到查询上的代数操作。而传统的数据服务器中采用的技术大部分集中在查 询计算以及与存储有关的问题上( 如数据的类聚、索引等) 从现有集成方法来看,有三种: 1 ) 基于传统e d i 的集成方法。e d i 1 2 l ( e l e c t r o n i cd a t ai n t e r c h a n g e ,电子数 据交换) 是为支持事务处理而在异构的平台或应用问用电子格式进行数据交换 的一种集成方式,它通过统一的格式来交换企业信息,企业间通过共同制定的 协议和开发专用接口,将不同企业应用或商业运营的数据进行交换和交流这 种集成方式存在的问题是:当有新的企业加入时,企业必须制定新的协议和编 写新的专用接口,而且一旦企业自己的或商业伙伴的业务规则发生变化时,专 用接口必须重新编写;另外,e d i 数据一般要通过增值网传输,所以用这种方 式进行集成的价格非常昂贵到目前为止,只有少数的大型企业用e d i 来进行 数据交换。 基于c o r b a l l 3 1 1 4 1 的集成方法c o r b a 技术在解决异构性以及已有系 统的集成上具有明显的优势,c o r b a 标准作为面向对象的分布式操作的集成框 架,通过对象请求代理o r b ,客户端可以透明地访问服务器端的对象和方法, 不同o r b 产品之间通过协议h o p 进行通信。此外,c o r b a 利用i d l 语言描 述对象的接口,任何对象只要利用i d l 对其接口参数进行定义和说明,就可以 插接到o r b 上,为其他系统提供服务或向其他系统提出请求基于c o r b a 的 资源集成的主要工作是以c o r b a 为标准开发或封装数据处理逻辑,以及为客 户端开发数据操作界面但是,基于c o r b a 的资源集成存在对编程人员要求 较高、需求变动适应性差、不支持防火墙以及实施周期长等缺点。 l 绪论 3 ) 基于m 技术的集成方法x m l 具有内容的自描述性,跨平台性、可 扩展性等特点,为数据访问和交换提供了一种新的模式,使描述各种格式的数 据成为可能。与上面两种方法相比,x m l 技术具有对编程人员要求低,且有易 用、适应w e b 等特点,因此在资源信息集成方面得到了广泛的重视。 数据的规范化和标准化是数据集成的基础,数据集成的发展趋势是采用符 合标准且容易扩展的x m l 技术作为不同系统之间信息交换的标准。数据集成是 企业应用系统的核心部分之一,它向其他的功能模块提供数据支撑。帼的应用 系统中每种业务都有自己的数据库,这些数据一般是不完整的、不一致的。为 整合数据,一般需要有数据建模、统一数据系统设计开发、原有系统数据的抽 取清洁转换等工作。然而,目前传统的数据集成解决方案往往具有以下缺点: 1 ) 数据转换和整合的规则都融合在代码中,发生变化难以灵活地适应。 2 ) 各个系统只能通过形成中问库或者集中库的方式来解决数据集成,然而 这样的做法往往又形成了新的数据孤岛。 3 ) 许多解决方案提供的都是过时的信息,难以实时地获取准确信息。 钔当前国外一些著名的数据库公司如s y b a s e ,i b m ,o r a c l e 和中间件公司 如t i b c o 等,开发了相应的产品,用于解决异构数据共享问题,但使用这些中 间件产品还需要做大量的数据接口开发工作,而且软件成本比较高。 1 3 本文的选题 本课题所依托的项目是四川省应用基础研究项目:“基于w e b 的协同过程 管理( c p m ) 技术研究”( 项目编号:0 4 j y 0 2 9 - 0 0 3 - 4 ) 数据集成是其中的重 要组成部分之一 本课题正是为了克服目前数据集成解决方案的一些缺点,根据企业的实际 情况,结合由计算机主板的p c i 插槽定义了p c i 规范的思想,即即装即用的思 想,并借鉴e a i 以及关系数据集成方案的很多优点提出建立一个企业应用系统 数据集成通用接口的技术思路,其建设目的主要是解决企业信息内部异构数据 源访问问题,实现企业应用程序间的数据交换和资源共享。 1 4 本文的主要工作 本课题完成的研究工作主要有: 4 四川大学硕士学位论文 1 1 提出并建立一个基于x m l 、j m s 和x q u e r y 的企业应用系统数据集成通 用接口。 2 ) 对数据集成的体系结构及内部结构进行设计,对主要的功能模块进行分 析 3 ) 分析x m l 与结构化数据和无结构化数据之间的相互转换方法。 钔给出x m l 路由配置文件,以及解决冲突的方法,并用s a x 接口。解析 该配置文件。 5 ) 提出并建立数据源视图、全局视图的模型规则。 6 ) 对x q u e r y 查询处理技术进行分析和设计。 n 设计并实现基于j m s 的可靠的x m l 消息传送。 1 5 本论文的章节安排 本文的章节安排如下; 第一章阐述课题背景、相关发展现状、本文的选题以及作者的主要工作 第二章对系统中用到的主要技术进行简要的介绍。 第三章对企业应用系统数据集成体系结构进行总体设计。 第四章对企业应用系统数据集成内部结构进行详细的分析设计。 第五章对企业应用系统数据集成中用到的关键技术进行详细地分析、研 究。 第六章结束语,对研究工作进行总结和展望。 1 6 本章小结 阐述课题的研究背景、国内外的相关发展现状、本文的选题以及作者的主 要工作 2 主要技术简介 2 主要技术简介 2 1x m l 技术 x m l i s l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 源自于s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) 和h t m l ,由w 3 c ( w o r l d 晰d ew e b c o n s o r t i u m ) 开发和管理,是用于定义其他标识语言的一种文本文档的元标记语 言( m e t a - m a r k u pl a n g u a g e ) ,它以一种开放的自我描述方式定义了数据结构, 在描述数据内容的同时也突出对结构的描述,从而体现出数据之间的关系,是 一种通用的结构化数据表示格式。 2 1 1x m l 的特点 企业内部存在着各种不同的数据源,可以是关系数据库,也可以是支持 x m l 的资料库或其他遗留系统。由于各种数据源的接口方式各异,数据结构不 相同,因此企业数据交换比较困难。在数据集成领域,x m l 作为多种应用程序 之间的桥梁,有效地解决了异构数据源之间数据交换的难题,这是由x m l 的特 点【1 6 1 1 7 1 所决定的: 1 1 自描述性:x m l 语言可以让信息提供者根据需要,自行定义标记及属 性名,也可以包含描述法,从而使x m l 文件的结构可以复杂到任意程度。 2 1 跨平台性:x m l 可脱离具体应用以一种统一的数据模型来描述保存在 异构环境中的各种数据,屏蔽数据源中应用环境和数据结构的异构性,其他应 用系统能直接对这些自描述的x m l 文件中的数据进行操作,因此,它能够实现 异构数据源中数据的互操作 3 ) 可扩展性:x m l 可以在不破坏现有结构和系统的情况下增加新的数据 字段。 钔便于网络传输:x m l 文件只是一些简单的文本文件,因而很容易通过 网络进行传输。 2 1 2 x m l 数据模式 d t d 娜( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 是一套关于标记符的 语法规则,定义了文档的整体结构以及文档的语法,并可以包括在包含它所描 6 四川大学硕士学位论文 述的文档文件中,或者与外部的u r l ( u i l i f o r mr e s o u r c el o c a t o r ,统一资源定 位符) 相链接,这些外部d t d 可以被不同文档所共享。但d t d 不支持数据类 型,扩展性较差。江ls c h e m a l t 9 1 是w 3 c 开发的一种模式语言,用来描述x m l 信息结构的模型,可以对x m l 文档内容的合法性进行验证。s c h e m a 规定了在 文档中能够使用的元素和属性,以及这些对象与文本内容的可能组合方式与 x m ld t d 相比,s c h e m a 提供了丰富的内建数据类型、对名字空间的支持和数 据完整性约束,更适合描述关系数据x m ls c h e m a 的上述特点使得它比d t d 具有更强大的描述能力,能够满足不同应用的需要。 2 1 3x m l a p i x m l a p i 2 0 1 2 1 j 阎( x m l a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,x m l 应用编程 接口) ,开发者可以使用这些标准的接口来获得和设置x m l 文档中的元素、属 性、数据内容等。在这些x m l 的应用编程接口中,目前主要有三种:d o m 、 s a x 和j d o m 。 1 1d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) :在应用程序中,基于 d o m 的x m l 分析器将一个x m l 文档转换成一个对象模型的集合( 通常称 d o m 树) ,应用程序正是通过对这个对象模型的操作,来实现对x m l 文档数 据的操作。通过d o m 接口,应用程序可以在任何时候访问x m l 文档中的任何 一部分数据,因此又称作随机访问机制。然而,由于d o m 分析器把整个x m l 文档转化成d o m 树放在了内存中,因此。当文档比较大或者结构比较复杂时, 对内存的需求就比较高。而且,对于结构复杂的树的遍历也是一项耗时的操作 s a x ( s i m p l e a p i sf o r x m l ,x m l 简单应用程序接口) :与d o m 不同, s a x 是事件驱动的,文档的读入过程也就是s a x 的解析过程,也就是说读入文 档的过程和解析的过程是同时进行的。由于s a x 分析器实现简单。对内存要求 比较低,因此实现效率比较高。对于那些只需要访问x m l 文档中的数据而不对 文档进行更改的应用程序来说,s a x 分析器更为合适,同时,它也适用于处理 比较大的x m l 文档,但应用程序的编写相对复杂一些。 3 1j d o m ( j a v ad o c m n e n to b j e c tm o d e l ,j a v a 文档对象模型) :j d o m 是专 门为j a v a 语言编写的应用程序接口 7 2 主要技术简介 2 1 4 x m l 数据库 x m l 数据库 2 3 1 是一个能够在应用中管理x m l 数据和文档的数据库系统, 支持x m l 的数据库是传统的关系数据库和面向对象数据库的扩展,具有数据库 与x m l 文档之间转换数据的能力,特别适合于以数据为中心的应用。目前,主 要的关系数据库厂商如m m ,m i c r o s o f t ,o r a c l e 和s y b a s e 等都提供了对x m l 的支持。 o r a c l ex m ls q l :将x m l 文档元素作为大量的嵌入表,通过o r a c l e 对象 数据类型建立元素模型,s q l 到x m i , 的转换是通过表之间一对一关系、对象 数据库类型的引用和一个嵌入元素构造一个x m l 文档,x m l 到s q l 的转换可 能需要数据模型来进行修正( 例如将关系数据模型转换成对象关系数据模型) 或重新构造原始的x m l 文档。 m i c r o s o f ts q ls e r v e r2 0 0 0 :通过扩展s q l 9 2 和引入o p e n x m l 来解决对 x m l 文档的管理。 对x m l 文档的检索就是从具有特定树形结构关系的多个元素中提取所需 的信息,w 3 c 推出了x p a t h 与x q u e 码刑【2 研嗍唧两种基于x m l 的标准查询语 一 口o 1 1 x p a t h :x p a 也语言规范是w 3 c 于1 9 9 9 年l o 月8 日提出的,具有寻址、 搜索和匹配文档各部分功能的x m l 文档操作语言。最初是用于x s l ts c r i p t 和 x p o i n t e r 的导航,由于其卓越的表现,很多x m l 工具包都提供了对它的支持。 x p a t h 是基于x m l 的文档树形模型,使用路径标记法给出从某个节点起的查询 路径,搜索和匹配文档的各个部分。通过x p a t h 路径表达式,可以在) 洲l 文档 中轻松地定位数据,确定节点。但x p a t h 缺少排序、分组和数据类型,以及对 交叉文档链接的支持 2 ) x q u c r y :x q u c r y 构建在x p a t h 规范之上,其核心是能够通过x p a t h 表 达式从文档选择特殊的节点序列作为一种新型的查询语言,x q u e r y 汲取了其 它多种查询语言的优点,适用于各种类型的x m l 数据源的查询,不仅查询功能 强大,而且简洁灵活且易于实现。此外,x q u e r y 还具有从多种数据库中检索信 息的特点,能对各种数据和文档进行查询 8 四川大学硕士学位论文 x q u e r y 是一种将查询表示成表达式的功能语言。通过它所支持的多种表达 式,它的查询可以有各种不同的形式。各种x q m y 表达式可以完全嵌套,也支 持子查询。目前,主要的数据库厂商如o r a c l e ,i b m ,m i c r o s o f t 都提供了对x q u e f y 规范的支持。 x q u e r y 要求的x m l 数据模型与对象关系数据库的对象关系模型有很好的 对应:其中元素节点对应于表,属性节点对应于类型的字段,而文本节点对应 的是以文本方式存储的无结构的数据段( 可能是一个x m l 文件) 。x q u e r y 中最 强大的特性是f l w r 表达式,它由f o r - l e t - w h e r e - r e t u r n 四个关键字定义的子句构 成的,包含模式匹配、过滤选择和结果构造这三种操作,是一种典型的能够完 成具有某种实际意义的查询表达式。使用f l w r 语句,可以用比x p a t h 语句更 自然的方法来创建特定的查询。使用x q u e r y 时,最常使用的是路径表达式和 f l w r 表达式,与s q l 分别有如下的对应关系: 路径表达式。在x q u e r y 中,一个路径表达式代表了x m l 查询树模型 中的一个或多个有序的节点( 包含它们各自的子节点) f l w r 表达式。f l w r 表达式的结构和s q l 的s e l e c t 语句很像,因而可 以很自然地建立它们之间的对应关系其中丘) r 部分相当于s q l 中的f r o m 部分, w h e r e 部分相当于s q l 中的w h e r e 部分,r e t u r n 部分相当于s q l 中s e l e c t 后面 的查询内容。f l w r 表达式中融与s q l 语句没有直接的对应关系,但“l c ts h o o k = 路径表达式”相当于将路径表达式对应节点与变量b o o k 绑定,因此在s e l e c t 语句中可以直接使用路径表达式对应的节点。 例如查询价格大于1 0 0 0 0 元的书籍名称 用s q l 语句来表示此查询: s e l e c tb o o k m e f r o m b o o k w h e r eb o o k p r i c e d o u b l e ( 1 0 0 1 而用x q u e r y 及其路径表达式,相应的查询为; f o rs b o o ki nd o c u m e m ( b o o k l n f o r m a t i o n x m l ) b o o k s b o o k w h e r e $ b o o k p f i c e d t e x t o d o u b l e ( 1 0 0 1 r e t u r n 9 2 主要技术简介 $ b o o k , n a m e 除了路径表达式和f l w r 表达式之外,x q u e l y 还有5 种基本的表达式模式: 元素构造符、算子和函数表达式、条件表达式、限定表达式、列表构造符、数 据类型表达式通过它们的多种组合,可以产生具有丰富而强大的查询检索功 能的查询语句与x p a t h 相比,x q u e r y 更像一种编程语言,支持循环、分组、 排序、连接等,在对x m l 数据的查询方面,是一种功能更强大、更易于编程的 方法由于x p a t h 的查询对象只能是x m l 文档,因而在本课题设计中选用 x q u e t y 作为全局视图的查询语言。 x q u e r y 的总体结构如图2 1 所示。 图2 1x q u a - y 的体系结构 词法分析不同的词在不同的上下文环境下有不同的语义。 语法分析根据词法分析器提供的语法单元构造查询的语法树表示。 查询计算由于在x q u e r y 的语义中有很多地方需要一个默认的结果, 所以用中间结果保存这个值。x q u e r y 支持嵌套的f l w r 表达式和函数。他们中 的某些变量可能重名,通过用栈来保存这些变量,当从函数或底层的f l w r 表 达式退出时,再恢复这些变量的值。 i o 四川大学硕士学位论文 2 2j m s 技术 x m l 将异构数据以一种统一的格式表示出来,但它本身不具有将数据从一 方传送到另一方的能力 j m s 嗍鲫删( j a v am e s s a g es e r v i c e ,j a v a 消息服务) 规范是用来支持开发 面向消息的分布式计算系统,其目的是提供给消息系统客户一个固定的接口, 而且与底层的消息提供者无关,这样,j m s 客户端应用程序可以在不同的机器 和操作系统中移植,并能在不同的消息系统产品之间转移 2 2 1j m s 消息传递机制 j m s 消息服务提供者通常提供两种消息传递机制:点到点( p o i n tt op o i n t ) 和发布,订阅( p u b l i s h s u b s c d b e ) 消息收发模式。 ( 1 ) 点到点消息收发模式 点到点消息收发模式是建立在消息队列的基础上,消息发送者发送消息到 一个队列( q u e u e ) 中,消息接收者也从这个队列中获取消息。j m s 提供者负责 维护所有发送给它的消息,直到消息被接收或消息的寿命终止。点到点消息收 发模式最重要的特点是,一个消息只能被一个消息接收者接收。而且只能接收 一次,消息的发送方和接收方相互独立;另外消息的接收方负责告知m s 提供 者,消息是否成功接收。点到点消息收发模式如图2 2 所示。 l 消息发送者卜磊耐l 队列 i _ 叫f h * u 日i 签收 。 j m s 提供者 图2 2 点到点( p o i n tt op o i n t ) 式的消息通信模式 ( 2 ) 发布订阅消息收发模式 发布,订阅消息收发模式中,客户端( 消息生产者) 把消息发布到一个消息 主题( t o p i c ) 中,每个需要读取消息的客户端( 消息消费者) 需要向该主题登 记,当消息到达时,j m s 提供者负责通知所有预订了该主题的消息消费者。j m s 提供者每次发送消息后( 可选的) 将接收到消息收到的确认。可以看出,在发 2 主要技术简介 布订阅式消息的收发过程中,消息的生产者与消息的消费者是一对多的关系, 并且每一组消息的消费者都可以共享一个主题消息引用对象。s m sa p i 提供了 一种“持久性登记”措施,采用这种登记的客户端,不会丢失在非激活状态时 其它客户端发布到该主题的消息发布,订阅消息收发模式如图2 3 所示。 订阅消息io i 消息生产者l 夏磊落畜 主题 二_ 卅消恳消贾看l 通知一 j m s 提供者 fh,dfhjr日il 通知。“ 图2 3 发布,订阅( p u b l i s h s u b s c r i b e ) 式的消息通信模式 2 2 2 m s 核心体系结构 j m sa p i 体系结构如图2 4 所示 图2 4 耶, 4 s a p i 体系结构 1 ) 目的地对象( d e s t i n a t i o n ) :具体包括队列对象( q u e u e ) 和主题对象 四川大学硕士学位论文 ( t o p i c ) ,通过m s 服务提供者进行管理并注册到服务器的j n d i 目录中,而 y m s 客户端可以通过使用j i q d i 服务查找该对象 2 ) 连接对象工厂( c o n n e c t i o n f a c t o r y ) :这个对象主要负责创建客户端到特 定的j m s 服务提供者的消息服务的连接( c o n n e c t i o n ) ,通过j m s 服务提供者 进行管理并注册到服务器的j n d i 目录中,而j m s 客户端可以通过使用j n d i 服务查找该对象。 3 ) 连接( c o n n e c t i o n ) 对象:由连接对象工厂创建,该对象封装了客户端 到耳的地对象连接的底层细节。 4 ) 会话( s e s s i o n ) 对象:由c o n n e c t i o n 对象创建,用于客户端到目的地对 象的通信、消息活动的执行,并且封装了对消息的事务处理。 5 ) 消息生产者( m e s s a g e p r o d u c e r ) 和消息消费者( m e s s a g e c o n s u m e r ) 对 象:均由s e s s i o n 对象创建,分别用于表示消息的发送者和接收者;消息服务提 供者以p e r s i s t e m 模式处理消息,把消息放入个数据源( 如服务器硬盘) ,作 为客

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论