




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)数字化校园建设中异构数据集成技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南科技大学硕士研究生学位论文第1 页 摘要 说 , 、 随着计算机、通信和网络技术的发展,以及全球化、国际化拴世界带 来的巨大而深远的影响,整个社会的信息化、数字化进程大大加快。高校在 不同时期建立的封闭系统,形成了“信息孤岛 。在校园信息化过程中,处于 各个独立信息系统中的异构数据由于无法进行数据共享和数据通信而需要集 成。本文通过建立统一的数据交换平台实现数据集成,通过平台屏蔽底层不 同数据源的差异,提供公共的数据查询接口。 本文通过对x m l 、j m s 以及j a v a 技术的研究分析,提出了基于j m s 和 x m l 的异构数据集成模型,并通过具体的应用程序实现了基于j m s 和x m l 的异构数据集成平台。主要研究的内容和贡献如下: ( 1 ) 通过对x m l 技术、j m s 技术、j a v a 技术和数据集成系统架构的研究, 设计了基于j m s 和x m l 的异构数据集成模型,并给出了异构数据集成的总 体方案。 ( 2 ) 深入探讨了触发器集成方式,有效实现了变化数据的抽取问题。 ( 3 ) 对异构数据集成模型进行具体应用程序的实现,通过对异构数据集成 平台关键技术的研究,完成了异构数据源中的数据集成。并对系统的运行情 况进行了展示。 关键词:异构数据集成j m sx m l数据集成平台中间件 西南科技大学硕士研究生学位论文第1 l 页 a bstrac t w i t ht h e d e v e l o p m e n t o ft h e c o m p u t e r , c o m m u n i c a t i o n a n d n e t w o r k t e c h n o l o g y , a n dt h ei m m e n s ei m p a c to fg l o b a l i z a t i o na n di n t e r n a t i o n a l i z a t i o no n t h ew h o l ew o r l d ,t h ep r o g r e s so fi n f o r m a t i o n i z a t i o na n dd i g i t i z a t i o no fo u rs o c i e t y h a sb e e ng r e a t l ya c c e l e r a t e d b yc o n t r a s t ,t h ec l o s e ds y s t e m sw h i c hu n i v e r s i t i e ss e t u pi ns e p a r a t ep e r i o d sh a v ef o r m e dt h e i s o l a t e di n f o r m a t i o ni s l a n d f o rt h o s e d a t aa r eu n a b l et ob ec o m m u n i c a t e da n ds h a r e d ,t h e r e f o r e ,i nt h “d i g i t a lc a m p u s p r o c e s s ,t h eh e t e r o g e n e o u sd a t ai nt h o s ei n d e p e n d e n ti n f o r m a t i o ns y s t e m sn e e dt o b ei n t e g r a t e d i nt h i sp a p e r , d a t ai n t e g r a t i o ni sr e a l i z e db ye s t a b l i s h i n gau n i f o r m d a t a - e x c h a n g ep l a t f o r m ,t h ep l a t f o r mi sr e q u i r e dt h a tc a ns h i e l dt h ed i v e r s i t yo f v a r i o u sd a t as o u r c e si nt h eb o t t o ml a y e r , a n dc a np r o v i d ep u b l i cd a t aq u e r y i n t e r f a c e t h i sp a p e rp r o p o s e dah e t e r o g e n e o u sd a t ai n t e g r a t i o nm o d e lb a s e do nj m s a n dx m l t h r o u g hr e s e a r c ha n da n a l y s i so nt h ex m l ,j m sa sw e l la st h ej a v a t e c h n o l o g y , a n da l s oi m p l e m e n t e dt h eh e t e r o g e n e o u sd a t ai n t e g r a t i o np l a t f o r m b a s e do nj m sa n dx m l t h r o u g hs p e c i f i ca p p l i c a t i o np r o g r a m s t h em a i nc o n t e n t s a n dc o n t r i b u t i o n so ft h i ss t u d ya r es u m m a r i z e da sf o l l o w s : ( 1 ) t h r o u g ht h er e s e a r c ho nx m l ,j m s ,a n dj a v at e c h n o l o g ya n dt h ed a t a i n t e g r a t i o ns y s t e ma r c h i t e c t u r e ,t h i sp a p e rh a sd e s i g n e dt h eh e t e r o g e n e o u sd a t a i n t e g r a t i o nm o d e lb a s e do nj m sa n dx m l ,a n dr a i s e dt h eo v e r a l ls c h e m eo f h e t e r o g e n e o u sd a t ai n t e g r a t i o n ( 2 ) t h ep a p e rt h o r o u g h l ya n a l y z e dt h et r i g g e ri n t e g r a t i o na p p r o a c h ,a n d e f f e c t i v e l ys o l v e dt h ev a r i a b l ed a t ae x t r a c t i o np r o b l e m s ( 3 ) t h ep a p e rh a sa c c o m p l i s h e dt h ea p p l i c a t i o no ft h eh e t e r o g e n e o u sd a t a i n t e g r a t i o nm o d e l ,r e a l i z e d d a t ai n t e g r a t i o nf o rh e t e r o g e n e o u sd a t as o u r c e s t h r o u g h t h e k e yt e c h n o l o g i e s o ft h e h e t e r o g e n e o u s d a t a i n t e g r a t i o n p l a t f o r m b e s i d e s ,s y s t e mo p e r a t i o nh a sb e e nc a r r i e do u ta n dd e m o n s t r a t e di nt h i s p a p e r k e yw o r d s :i n t e g r a t i o no fh e t e r o g e n e o u sd a t a ;j m s ;x m l ; p l a t f o r mo fd a t ai n t e g r a t i o n ;m i d d l ew a r e 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其它教育机构的 学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 签名:龟沙味木五 日期: 关于论文使用和授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权 保留学位论文的复印件,允许该论文被查阅和借阅;学校可以公布该论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:协赤木卫 导师签名: 尹嗍岍牛 西南科技大学硕士研究生学位论文第1 页 1绪论 1 1课题的来源 本课题来源于西南科技大学校园信息化建设,项目编号:s w u s t - s b 2 0 0 6 8 8 。该项目将建设四个应用支撑管理平台,包括:实现全校统一的信息编码 和数据交换的共享数据平台;为整个校园信息化系统提供安全服务支撑和统 一身份认证的统一身份认证平台;为全校师生用户提供唯一服务访问入口的 统一信息门户平台;为应用系统升级和后期应用系统构建开发平台的业务构 建平台。共享数据平台将针对不同的异构数据源,采用不同的数据集成方案, 解决应用系统集成过程中的数据异构性问题。 1 2选题背景及意义 随着信息化技术的发展,高校采用各种相互独立的应用系统,在提高了 效率的同时,系统相互间的独立性也为整体管理设置了障碍。它们没有相互 连接的信息渠道,数据通常都被封存在高校的不同数据库、主机、文件服务 器上,只有少数有特许访问权的用户能看到这些数据。这样随着时间的推移 和技术的进步,就形成了一系列的信息孤岛,每个部门或单位都是一个数据 源,每个数据源都是异构的,因而它们之间的信息和组织都不一样,这就构 成了一个巨大的异构数据环境。如何有效的实现这些异构数据库的信息共享, 成了当务之急,高校数据集成技术应运而生。 归纳起来,目前高校的信息系统可能存在以下几方面问题: ( 1 ) 信息存在于不同的部门和单位,信息比较分散,没有统一的数据管理 系统。 ( 2 ) 各部门、各单位的数据缺乏交互,造成数据不一致性或数据冗余,信 息及时共享、反馈难。 ( 3 ) 由于对数据没有进行统一的处理,仅仅对数据进行了初步的加工,大 量的数据或信息被闲置,没有得到很好的利用或应有的处理,缺少用于全局 信息利用的数据。 ( 4 ) 由于信息技术的快速发展,系统的升级换代或者是使用了不同的信息 管理系统,旧版的系统与新系统不能兼容等。 目前,数据集成在高校行业尚处在建设初期,大部分用户往往按照自身 西南科技大学硕士研究生学位论文第2 页 需求做一些简单的集成工作,或仅在单个组织系统内考虑集成问题,或仅从 技术实现角度上考虑集成问题,随着系统间关系和集成需求的日益复杂化, 迫切需要从整体高度来规划整个高校范围内的数据集成工作,对整体集成从 体系和架构的高度上做一定的规划和指导,因此设计一个高校数据集成的总 体架构显得尤为重要。 1 3国内外研究动态 异构数据源的集成最早可以追溯到多数据库系统】。多数据库是上世纪 九十年代初兴起的一个数据库研究领域。从开始的多数据库系统发展到现在 的异构数据集成,数据集成的范围和作用都在不断扩大。代表性的数据库系 统有i b m 的t s i m m i s t 5 】和t h eg a r l i cp r o j e c t t 6 1 等。 t s i m m i s ( t h es t a n f o r d i b mm a n a g e ro fm u l t i p l ei n f o r m a t i o ns o u r c e s ) 是 由s t a n f o r d 大学研究开发的异构信息源集成系统。该系统采用了一种带标签 树( 自描述) 的数据模型o e m ( o b j e c te x c h a n g em o d e l ) 将各异构数据转化为 o e m 数据,并提供l o r e l 语言对这些数据进行访问。这种方法的好处是对 异构数据没有任何限制,不同的数据可以编写不同的程序来解决。但是将异 构数据转化为o e m 数据的转换程序主要靠手工编写,编程任务太繁重。 t h eg a r l i cp r o j e c t ,是一种联邦数据库系统,由半自治数据库系统构成, 相互之间分享数据,联邦各数据源之间相互提供访问接口。目前g a r l i c 项目 展现了拓展这一思想来构建联邦数据库系统的可行性,该系统可以有效地使 用各种不同的、可能是非关系型数据源的查询能力。 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 的出现将数据集成的研究推向了一个 新阶段。基于x m l 的异构数据源集成中间件有多种技术选择。 美国政府在1 9 9 8 年通过o p a l 计划开始支持y a t ( 基于中间件的信息集 成) 系统的研究,该系统采用m e d i a t o r w r a p p e r 中间件框架实现了关系模式和 s g m l 到o d m g 的转化,在2 0 0 0 年,该系统的研究再次受到o p a l 计划和 a q u a r e l l e 资助,并以研究基于x m l 中间件信息集成系统( y a t 系统) 为主, 其中v c h r i s t o p h i d e s ,8 c l u e t 等人主要研究了以x m l 集成视图对异构 数据的包装和查询,并提出了相应的代数体系结构。 w i s c o n s i n 大学和i b ma l m a d e nr e s e a r c hc e n t e r 共同研究和实现了 x p e r a n t o 中间件系统。该中间件系统支持对象关系数据的x m l 发布,支 持基于x m lq u e r y 的x m l 关系数据视图,以d t d 为目标模式,但不支持主 西南科技大学硕士研究生学位论文第3 页 键约束和外键约束的描述,也不支持多表关系约束的转化。r o n a l d od o s 、s a n t o s m e l l o 等研究利用中间层结构集成和查询x m l 数据源的问题。m a r y l a n d 大学 研究了基于x m l 代码自动部署和数据交换m o c h a 中间件。 在国内方面,东南大学研究的v e r s a t i l e t 7 1 t s j , o 和华中科技大学研究的 p a n o r a m a g j 【】系统都在虚拟数据集成方面取得了很多研究成果,都是把数据存 储在各个数据源中,通过统一定义的模式来进行查询。 v e r s a t i l e 是一个基于c o r b a 的可扩展的异构数据集成系统原型。它使用 对象集成模型o i m ( o b j e c ti n t e g r a t i o nm o d e l ) 作为数据集成的公共模型,在 s q l 语句的基础上增加了一些构造符,形成一种对象集成查询语言作为其查 询语言。同时引入模板和动态字典的概念统描述各种异构数据源的模式, 不通过扫描数据库,而是利用局部动态字典的模板操作构造集成系统全局动 态字典,为查询的分解和优化奠定了基础。 p a n o r a m a 可以给用户提供异构公共数据模型和一种全局查询语言 p a n o s q l ,通过它们将不同的数据库集成到系统中。该系统的主要构件包括: 集成到p a n o r a m a 中的局部d b m s ( d a t a b a s em a n a g e m e n ts y s t e m ) 的接口、一个 事务管理器、一个公共数据模型、一个模式集成器、一种全局查询语言、一 个全局查询处理和优化器。能够提供对o r a c l e 、s y b a s e 和d b 2 等成员数据库 系统的透明互操作。提出了一种以多数据库系统为主要技术路线的分布异构 数据系统集成方法一“c a x 方法。该方法采用c o r b a 中间件作为集成系 统的物理模型框架,采用基于a g e n t 的逻辑模型框架以及x m l 的公共数据模 型。通过融合c o r b a 和a g e n t 技术,实现对各类数据源的封装,使集成系 统的结构更适合分布式环境,增加了业务流程的灵活性,同时也简化了集成 系统的设计。 1 4本文的创新与贡献 本文主要研究在全校范围内建立一个异构数据集成与应用平台,包括: 数据抽取、数据交换与处理系统、平台中心数据库、数据应用服务系统和使 用数据的部门( 或系统) 。建立全校异构数据集成与应用平台是为全校各部门信 息系统使用各类标准编码提供一个环境;为学校各部门信息系统的数据交流 和共享提供渠道;把全校目前混乱的信息流进行疏导( 引导全校数据的流动方 向) ;为以后建设全校数据仓库做好准备。本文的创新与贡献如下: ( 1 ) 本文分析和比较了高校现有数据集成方案的优缺点,并基于西南科技 西南科技大学硕士研究生学位论文第4 页 大学数字化校园建设的特定背景,提出了一个集线器与车轮状的数据集成框 架。此框架以共享数据中心为基础,并在此基础之上搭建配套工具和服务, 形成了一个完整的数据集成平台。 ( 2 ) 分析了高校的业务集成需求。 ( 3 ) 对数据库映射技术作了深入的研究,将x m l 文档作为通讯数据的统 一标准,利用标准的x m ls c h e m a 文档实现关系数据库与x m l 文档之间的数 据交换,保证了系统数据库和中心数据库之间顺畅的数据交换。 ( 4 ) 对消息中间件技术进行了深入的研究,为消息的发送和接收提供了高 效的传输手段,保证了消息传输的可靠性。 ( 5 ) 深入探讨了触发器有效实现数据提取的方式,保证了数据的同步更新。 ( 6 ) 根据对异构数据集成相关技术的研究分析,提出了异构数据集成平台 的框架模型,并实现了异构数据集成平台功能。完成高校业务系统数据库与 中心数据库之间的数据集成。 1 5本文的组织结构 本文的组织结构如下: 第一章,绪论。介绍了课题的来源、选题背景和意义、国内外关于异构 数据集成方面的研究动态、成果,并介绍了本课题的创新与贡献。 第二章,基础理论部分。介绍了异构数据集成概念和理论、异构数据集 成面临的问题、异构数据集成系统的难点及关键问题。 第三章,介绍了异构数据集成系统所要采用的x m l 技术、j m s 技术和 j a v a 等关键技术。 第四章,研究了异构数据集成体系架构的发展。对异构数据集成方案、 数据的传输方式、数据的传输格式、异构数据库访问进行了详细说明。 第五章,数字化校园分析、异构数据集成架构设计及实现。针对西南科 技大学的六个应用子系统:学工系统、人事系统、研究生系统、教务系统、 科研系统、财务系统进行分析,并提出异构数据库集成的总体架构模型。然 后对异构数据集成平台进行总体设计、开发与实现,对关键技术进行详细介 绍,并对系统的运行情况进行了展示。 最后主要对本文所做的工作进行总结,并对异构数据集成系统的下一步 工作进行了展望和讨论。 西南科技大学硕士研究生学位论文第5 页 2 异构数据集成技术 2 1异构数据集成概念 异构数据集成是企业应用集成e a i ( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 的 一种重要方式,是将多个异构数据库系统的数据进行整合,每个异构数据库 系统在进行数据集成之前就已经存在,并且拥有自己的数据库管理系统 ( d b m s ) ,这些异构的数据库具有其自身的自治性,在实现数据集成和共享 的同时,每个数据库系统仍保持自己的应用特性、完整性控制和安全性控制。 异构数据集成系统是一种中间件系统,进行数据集成之后,屏蔽了数据源的 差异性,就如同访问单一的数据源。各个异构的数据源集成到中心数据库中, 为全局信息应用提供了基础,为高校进行分析和数据交换提供了便利。在我 国,数据库应用开展比较晚,关系数据库的关系模式为主流的存储模式,所 以异构数据集成的对象主要是异种关系型数据库,本文主要针对关系型数据 库之间的集成进行讨论。 2 2 异构数据集成面临的问题 在高校信息化建设过程中,由于各个异构业务系统在建设过程中存在阶 段性、技术性以及其它经济和人为因素等影响,导致在发展过程中积累了大 量采用不同存储方式的业务数据。包括所采用的数据库管理系统也大不相同。 通常进行异构数据集成时会面临以下几个问题 1 3 1 1 1 4 1 1 4 1 1 : ( 1 ) 异构性 异构性是高校异构数据集成必然面临的首要问题,其主要表现在两方面: 系统异构。数据源所依赖的业务应用系统、数据库管理系统乃至操作 系统之间的不同构成了系统异构。 模式异构。即数据源在存储模式上的不同。存储模式主要包括关系模 式、对象模式、对象关系模式和文档嵌套模式等几种,其中关系数据库的关 系模式为主流的存储模式。需要指出的是,即便是同一类存储模式,它们的 模式结构可能也存在差异。例如同为关系型数据库,o r a c l e 所采用的数据类 型与d b 2 和s q ls e r v e r 等关系数据库所采用的数据类型并不是完全一致的。 ( 2 ) 完整性 异构数据源数据集成的目的是为应用提供统一的访问支持。为了满足各 西南科技大学硕士研究生学位论文第6 页 种应用处理( 包括发布) 数据的条件,集成后的数据必须保证一定的完整性,包 括数据完整性和约束完整性两方面。 数据完整性。是指完整提取数据本身,要保证提取出的数据具有正确 性、一致性和相容性。 约束完整性。约束是指数据与数据之间的关联关系,是唯一表征数据 间逻辑的特征。保证约束完整性是良好的数据发布和交换的前提,可以方便 数据处理过程,提高效率。 ( 3 ) 语义不一致 信息资源之间存在着语义上的区别。这些语义上的不同可能引起各种冲 突,从简单的命名冲突( 如相同的名字代表不同的概念,或者不同的名字代表 相同的概念) ,到复杂的结构语义冲突( 不同的模式表示同样的信息) 。语义冲 突将会使数据集成变得更加复杂化,造成数据集成结果的冗余,干扰数据处 理、发布和交换。所以如何尽量减少语义冲突是异构数据集成的一个研究难 点和热点。 ( 4 ) 性能 网络时代的应用对传统数据集成方法提出了挑战,提出了更高的标准。 一般说来,当前负责集成的应用必须满足:轻量快速部署,即系统可以快速 适应数据源改变和低投入的特性。 ( 5 ) 集成内容限定 多个数据源之间的数据集成,并不是将所有的数据进行集成,那么如何 定义要集成的范围和权限,就构成了集成内容的限定问题。 ( 6 ) 权限问题 由于需要集成的数据可能属于不同的部门和单位,所以如何在访问异构 数据源数据基础上保障原有数据库的权限不被侵犯,实现对原有数据源访问 权限的隔离和控制,就成为异构数据集成必须面对的现实问题。 以上几方面的问题是相互制约、相互联系的,不应该简单地孤立对待。 它们是在进行异构数据集成时所必须解决的几个主要问题。其中,异构性、 完整性、语义不一致、性能为异构数据集成中的共性问题,集成内容限定和 权限问题是异构数据集成的特性问题。 2 3 异构数据集成系统的难点及关键问题 目前,异构数据集成系统在语义、查询优化等方面仍有些难题尚未解 西南科技大学硕士研究生学位论文第7 页 决m ,。国内外在这方面的研究都不是很成功。关于异构数据集成系统的相关 工作主要集中在对中间件的设计上。异构数据集成需解决以下几方面关键问 题: ( 1 ) 全局模式的设计 因为异构数据库模式可能各不相同,通过建立全局数据模式,使用户感 觉像使用一个单一数据库。对来自不同数据源的各种数据进行表示,从而便 于统一处理。 ( 2 ) 数据匹配性 由于相同的对象在不同的数据库管理系统中可能存在如数据类型、长度 等的不同,因此在进行异构数据集成时,需要识别这些不匹配的数据,并在 全局数据字典中表示它们。 ( 3 ) 全局数据字典的设计 全局数据字典主要用于描述网上数据库的定义及分布情况,包括全局表 对应的局部表名、局部表存在的节点名等,它是全局查询的基础。 ( 4 ) 数据转换的问题 主要是将来自不同数据源的各种数据转换成异构数据集成系统能进一步 处理的统一格式。 ( 5 ) 查询分解与转换 异构数据集成系统应能把全局查询分解成针对不同数据源的局部查询, 并转换成针对局部数据源的查询语言。 ( 6 ) 查询结果的组合 异构数据集成系统应能把局部查询出的结果进行统一的表示,并按照统 一的格式组合,存储返回给全局查询用户。 2 4本章小结 本章主要介绍了异构数据集成技术的相关概念,对异构数据集成所面临 的问题、难点和关键问题进行了详细介绍。 西南科技大学硕士研究生学位论文第8 页 3 异构数据集成关键技术研究 3 1x m l 相关技术基础 x m l 是一种具有数据描述功能、高度结构化及可验证性的语言。x m l 的标记与属性允许用户自行定义。在x m l 文件中,可以使用标记来描述数据, 或配合属性来辅助描述数据,因此x m l 十分适合用于作为标准的描述语言, 在异构数据集成系统中,使用x m l 作为数据传输的统一格式。 3 1 1 x m l 主要技术介绍 1 9 9 6 年,万维网协会w 3 c ( w o r l dw i d ew e dc o n s o r t i u m ) 开始设计一种可 扩展的标记语言,使其能够将“通用标识语言标准 s g m l ( s t a n d a r d g 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 结合起来,这种可标记语言就是x m l 语言f 1 7 】 1 9 - 2 1 1 5 2 j 1 5 3 1 。 目前,w 3 c 设定了几个工作组专门讨论与x m l 相关的技术,x m l 标准 还在进一步完善和发展之中,与x m l 标准相关的工作包括: ( 1 ) x m lc o r ew o r k i n gg r o u p :关于x m l 自身的规范。 ( 2 ) x m ll i n k i n gw o r k i n gg r o u p :包括x m ll i n k i n gl a n g u a g e 和x m l p o i n t e rl a n g u a g e 等。 ( 3 ) x m lq u e r yw o r k i n gg r o u p :关于x m l 查询语言。 ( 4 ) x m ls c h e m aw o r k i n gg r o u p :关于模式的需求规范。 ( 5 ) x m le n c r y p t i o nw o r k i n gg r o u p :关于x m l 安全。 这些研究工作都是对x m l 标准有益的补充和完善,也在本文的相关设计 中加以应用。 3 1 2x m l 在数据集成方面的优势 x m l 是元标记语言,可通过它定制针对不同应用环境和要求的标记。它 以统一、开放、基于文本格式的模式来描述和交换数据。具有如下特点( t 6 l ( t s 】: ( 1 ) 良好的扩展性 x m l 允许程序员制定自己的标记集满足自己的需要1 2 2 1 。 ( 2 ) 良好的跨平台性 x m l 可以编码各种内容、语义和概要。包括文档、记录、带有数据和方 法的对象、w e b 站点的内容等1 2 3 1 。 西南科技大学硕士研究生学位论文第9 页 ( 3 ) 良好的自描述性 x m l 以元素值来描述它所携带的数据【2 4 】,用元素名作为标记来标明数据 的含义,例如:标记 2 5 表示年龄是2 5 。 ( 4 ) 内容和形式相分离 x m l 文档用于描述数据及其相互之间的关系,x s l 和c s s 用于表现其 内容,这样,同一内容可以根据实际要求呈现多种表现形式。 ( 5 ) 不同平台间的信息传递 在高校信息化建设过程中,引入了许多彼此独立的系统。操作系统有 w i n d o w s 、u n i x 等,数据库系统有o r a c l e 、s q ls e r v e r 、m y s q l 等。随着各 行各业竞争的加剧和信息化进程的加快,各系统间的信息共享势在必行。由 于x m l 是非专有的并且易于阅读和编写,使得它成为在不同应用问交换数据 的理想格式。 3 1 3x m l 模式 只要不违反x m l 格式良好的规则,就可以自由选取标记的名字,用自己 习惯的方式描述事物。这意味着用x m l 描述相同的事物时,不同的编写者可 能写出含有不同标记名、采用不同结构的x m l 文档,这对于数据的统一处理 极为不利。所以需要一种机制指定应该如何构造描述同一事物的文档,而 x m l 模式阱。2 7 1 就是这样的机制。使用较广泛的有文档类型定义d t d 【3 l j 和x m l s c h e m a 【2 s - 3 0 】。 3 1 3 1d t d d t d 是一套关于标记符的语法规则,详细描述一组x m l 文档的结构。 d t d 描述了什么是有效的标记,并进一步定义x m l 文档的结构,即定义页 面的元素、元素的属性以及元素和属性之间的关系。一个d t d 描述了标记语 言的语法和词汇表,形成了一系列正则式,解析器将这些正则式与x m l 文件 内部的数据模式相匹配,从而判别该x m l 文档是否有效。 声明d t d 实体即可以声明内部d t d ,又可以声明外部d t d 。d t d 中元 素的声明可分为非空元素的声明、空元素声明及不做限制的元素的声明。d t d 中属性的声明语法: ,属性( 值) 类型用以指定该属性的设置值类型,共有十种,分别是 c d a t a ,e n u m e r a t e d ,n m t o k e n ,n m t o k e n s ,e n t i t y ,e n t i t e s , n o t a t o o n ,i d ,i d r e f ,i d r e f s 等。 西南科技大学硕士研究生学位论文第10 页 随着x m l 技术的广泛使用,d t d 逐渐暴露了自身存在的不足: ( 1 ) d t d 没有数据类型的支持,在大多数应用环境下能力不足。 ( 2 ) d t d 的结构不够结构化,重用的代价相对较高。 ( 3 ) d t d 并非使用x m l 作为描述手段,而d t d 的构建和访问并没有标准 的编程接口,无法使用标准的编程方式进行d t d 维护。 3 1 3 2x mls c h e m a 由于d t d 存在以上这些缺点,w 3 c 于2 0 0 1 年5 月正式推荐x m ls c h e m a 作为x m l 的标准模式。x m ls c h e m a 不仅定义了元素、属性的类型,也定义 了元素位置,也就是说,同时规定了x m l 文档的内容和结构。x m ls c h e m a 本身是一个x m l 文档,它符合x m l 语法结构。可以用通用的x m l 解析器 解析它。 在x m ls c h e m a 文档的文法中,常用到的有元素声明、属性声明、复杂 类型声明以及简单类型声明等,下面对它们声明的表达式做简要的说明: ( 1 ) 对元素类型的声明:元素声明用于给元素指定元素类型名称和数据类 型,在x s d l 中,通过使用e l e m e n t 元素来实现。元素声明可以是全局的, 也可以是局部的,全局元素的父元素是s c h e m a ,局部元素只出现在复杂类型 定义内部t ,o 】。其声明的表达式如下: c o n t e n t :( a n n o t a t i o n ? ,( ( s i m p l e t y p elc o m p l e x t y p e ) ? , ( u n i q u ek e yik e y r e f ) ) ) ( 2 ) 对属性元素的声明:在x s d l 中,使用a t t r i b u t e 元素来声明属性元素。 属性声明可以是全局的,也可以是局部的。全局属性声明出现在模式文档的 最顶层,也就是说,它的父元素是s c h e m a 元素,局部属性声明完全出现在复 杂类型定义中,它们仅能在该类型定义中使用,而且不能被其它类型重用d o 。 其声明的表达式如下: c o n t e n t :( a n n o t a t i o n ? ,s i m p l e t y p e ? ) ( 3 ) 对复杂类型的声明:复杂类型的元素拥有子元素或属性,复杂类型的 声明为复杂类型的元素提供一种表示方法【3 0 l 。在x s d l 中,通过c o m p l e x t y p e 实现。其声明的表达式如下: c o n t e n t :( a n n o t a t i o n ? ,( s i m p l e c o n t e n tie o m p l e x c o n t e n ti ( ( g r o u pl a l l i c h o i c ei s e q u e n c e ) ? ,( ( a t t r i b u t e ia t t r i b u t e g r o u p ) 幸,a n y a t t r i b u t e ? ) ,( a s s e r tr e p o r t ) 宰) ) ) ( 4 ) 对简单类型的声明:元素和属性都可以使用简单类型来描述组件的数 据内容。简单类型有三种:原子类型、列表类型和联合类型,在x s d l 中, 通过s i m p l e t y p e 声明。其声明的表达式如下: c o n t e n t :( a n n o t a t i o n ? ,( r e s t r i c t i o n l i s tl u n i o n ) ) c o n t e n t :( a n n o t a t i o n ? ,s i m p l e t y p e 掌) 西南科技大学硕士研究生学位论文第12 页 与d t d 相比,x m ls c h e m a 具有致性、扩展性、规范性、易用性、用 户可以根据需要设计适合自己应用的s c h e m a 等优点。x m ls c h e m a 弥补了 d t d 的缺点,通过增强一些特性,使它比d t d 更健壮,功能更强大。因此, 本文在设计方案时,使用x m ls c h e m a 进行x m l 文档的定义。 3 1 4x m l 解析器 x m l 文档基本上是自定义的标记。目前,浏览器上并不能对其进行解析, 解析工作主要由三种解析器进行:文档对象模型d o m ( d o c u m e n to b j e c tm o d e l ) 【3 2 】【3 4 j 、x m l 简单应用程序接口s a x ( s i m p l e a p if o rx m l ) t 3 2 】【3 4 l 、j d o m t 3 3 】【3 4 1 。 3 1 4 1d o m d o m 是以层次结构组织的节点或信息片段的集合。d o m 分析器通过对 x m l 文档的分析,把整个x m l 文档以一棵树的形式存放在内存中,应用程 序可以随时对树中的任何一个部分进行访问与操作。即通过d o m 树,应用 程序可以对x m l 文档进行随机访问。这种访问方式给应用程序的开发带来了 很大的灵活性,它可以任意地控制整个x m l 文档中的内容。由于d o m 解析 器把整个x m l 文档转换成d o m 树放在内存中,因此可以修改它以便应用程 序对数据结构做出更改。还可以任何时候在树中上下导航,以任何顺序访问 x m l 元素。不过,当x m l 文档比较大或者文档结构比较复杂时,对内存的 需求较高,而且,对于结构复杂的树的遍历也是一项比较耗时的操作。所以 d o m 解析器对机器性能的要求比较高,实现效率不十分理想。 3 1 4 2s a x s a x 是1 9 9 7 年末到1 9 9 8 年初发明的,它是由著名的x i v l l 讨论组 x m l d e v 开发的。s a x 分析器在对x m l 文档进行分析时,触发一系列的事 件,应用程序通过事件处理函数实现对x m l 文档的访问。由于事件触发本身 是有时序性的。因此,s a x 解析器提供的是一种对x m l 文档的顺序访问机 制,对于已经分析过的部分,不能再倒回去重新处理。和d o m 相比,s a x 无需将整个文档加载到内存中,内存消耗少。但用s a x 解析器的时候,对于 事件处理函数本身,要由应用程序自己来实现。编码工作会比较困难,而且 很难同时访问同一个文档中的多处不同数据。 西南科技大学硕士研究生学位论文第1 3 页 3 1 4 3jd o m j d o m 是利用纯j a v a 技术对x m l 文档实现解析、生成、序列化以及多 种操作。j d o m 的内部逻辑结构基本上与d o m 相同,比如具有d o c u m e n t 、 e l e m e n t 、c o m m e n t 等文档节点类型,其中每一个j d o m 文档必须有一个 d o c u m e n t 节点,并且为节点树的根节点。该根节点可以有子节点或者叶子节 点如c o m m e n t 、t e x t 等。j d o m 文档中的每个节点类型均对应格式良好的 x m l 文当中的每一个元素。这就为利用j d o m 转换数据库到x m l 文档提供 了可操作的依据。j d o m 直接为j a v a 编程服务。它利用更为强有力的j a v a 语言的诸多特性( 方法重载、集合概念以及映射) ,把s a x 和d o m 的功能有 效地结合起来。 根据以上对三种解析器的分析,可以看出j d o m 是目前表现优秀的处理 x m l 的j a v a 应用程序接口,本课题采用j d o m 对x m l 文档进行解析。 3 2j ms 主要技术介绍 j a v a 消息服务j m s ( j a v am e s s a g es e r v i c e ) t 3 5 - 3 7 ,是s u n 公司提出的一 种接口规范。j m s 具有j a v a 语言特有的平台无关性,能够满足分布式环境下 异构平台交互行为的需要,可以解决异构数据集成中数据传输问题。 3 2 1j m s 概述 j m s 为j a v a 程序提供了一种创建、发送、接收和读取企业级消息系统消 息的一般方法,下面对j m s 的体系结构、应用组成和管理进行简单介绍。 j m s 体系结构f 3 s 】由消息( m e s s a g e ) 、客户( c l i e n t s ) 和供给者( p r o v i d e r ) 等组 成。消息是客户间通讯的信息,客户是用j a v a 语言编写的程序或组件,它们 生产和消费消息,供给者是消息系统,它实现j m s 接口,并提供管理和控制, 如j 2 e e 平台。 个j m s 应用由五部分组成,包括: ( 1 ) j m s 客户端。用来发送或接收消息的j a v a 程序。 ( 2 ) 非j m s 客户端。用消息系统本地a p i 代替j m s 的客户端。 ( 3 ) 消息。客户端之间用来交换数据,而定义的消息集合。 ( 4 ) j m s 提供者。除了消息框架所需要的其它管理和控制功能外,实现了 j m s 规范的消息系统。 ( 5 ) 管理对象。管理员通过j m s 客户端创建并预先配置的j m s 对象。 西南科技大学硕士研究生学位论文第14 页 j m s 应用程序接口使用两种管理对象,包括: ( 1 ) 连接工厂( c o n n e c t i o n f a e t o r y ) 。一种客户端通过j m s 提供者创建连接 的对象。 ( 2 ) 目的地( d e s t n i a t o i n ) 。种客户端用来指定消息发送的目的地或者得到 所接收消息的发送源头的对象。 j m s 的两种被管理对象需要管理员提前配置放入j n d i 命名空间,j m s 客户程序在该命名空间中查找管理对象,并通过j m s 提供者建立与这些对象 的逻辑连接。图3 1 表示j m s 管理是如何工作的。 图3 - 1j m s 管理 fig ur e3 1j m sm a n a g e m e n t 3 2 2j m s 消息模型 在消息系统中,应用程序之间通信的关键是消息( m e s s a g e ) ,因此使用j m s 必须先理解消息。在一个j m s 应用程序中,所有的数据和事件都是通过消息 来进行通信的,j m s 的其它部分则用来实现消息的传递。 在j m s 中,一个消息对象由三部分构成:消息头、消息属性和消息体。 消息头包括消息的识别信息和路由信息;消息属性与应用程序有关,是对标 准消息头的补充;消息体包含消息的实际数据。 3 2 3j m s 消息传输 j m s 按处理机制的不同,可分为点到点p t p ( p o i n t - t o p o i n t ) 模型和发布 订阅( p u b s u b ) 模型【3 7 1 。点到点提供传统的排队机制,客户端应用通过一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025南京市汽车租赁合同模板
- 2025年版权许可合同范本示例
- 供应链知识培训通知课件
- 2025年金属门窗及类似制品项目发展计划
- 2025年专项成套装置合作协议书
- 人类共同的家园品德课件
- 人物速写基础课件
- 心脏正常解剖结构课件
- 医学科研岗位面试知识与答案精 编
- 心脏复苏应急知识培训课件
- 种植牙和解协议书
- 《大脑中动脉解剖结构》课件
- z08小升初数学试卷及答案
- 2025-2030焦炭行业市场深度调研及发展规划与投资前景研究报告
- 旧房整修工程施工组织设计
- 建筑工程安全文明标准化示范工地管理办法
- 药品不良反应的临床应对措施考试试题及答案
- 鼻饲的注意事项及护理要点
- 高危妊娠5色分级管理
- 2024慢性鼻窦炎诊断和治疗指南解读课件
- 临时场地租赁协议书范本
评论
0/150
提交评论