已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)基于xml和java的异构数据库集成的应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 数据库集成是企业之间或企业内各部门协同合作的需要。它的目标是实现 各个异构数据源之间的数据共享,从而有效地利用资源,提高整个应用系统的 性能,及时地把握商机。 今天,越来越多的企业应用需要集成各种不同的数据库资源。在构建企业 异构数据库集成系统时,主要会面对异构性、完整性、语义冲突和集成内容的 限定等方面的问题。 以智能化小区管理系统项目中遇到的异构数据库集成的问题为研究对象, 本论文首先讨论了解决异构数据库集成会涉及到的x m l 和j a v a 技术,并分析这 两种技术的优势,接着本文讨论了异构数据库集成的几个条件和解决策略。最 后结合项目中的碰到的实际问题,给出了一个基于x m l 和j a v a 的异构数据库集 成解决方案,就是在原有的基于b s 的三层结构中间再添加一个中间层,提供 调用者和异构数据库之间的无缝连接和透明访问。中间层由元数据、分解组合 器和查询器三大部分组成。元数据保存的是全局数据到局部数据的映射信息; 分解组合器主要完成查询的分解调度和对返回的查询结果的过滤和组合;查询 器主要完成对各个异构数据库的连接和查询。 本文所用的这两项技术都是现今的技术热点,而且没有用到第三方的插件, 从而为智能小区管理系统的应用节省了开支。实践证明这种方式是可行而且高 效的。 在对信息有着迫切要求的今天,异构数据库的集成显的越来越重要,它使 没有考虑到可扩展性的系统相互之间能够透明的访问,消除信息孤岛。因此本 文阐述的解决方法有着较大的现实意义。 关键字:x m l 、j a v a 、异构数据库、集成 a b s t r a c t d a t a b a s ei n t e g r a t i o ni st h ed e m a n do fc o o r d i n a t i o nb e t w e e nn o to n l yd i f f e r e n t e n t e r p r i s e sb u ta l s od i f f e r e n td e p a r t m e n t si n s i d et h e m ,t h eg o a lo fw h i c hi st or e a l i z e d a t as h a r i n gb e t w e e ne a c hh e t e r o g e n e o u sd a t as o u r c e ,s oa st om a k et h em o s to f r e s o u r c e s ,a t t a i nh i 曲p e r f o r m a n c eo ft h ew h o l ea p p l i c a t i o ns y s t e ma n dh o l dt h e c h a n c eo f b u s i n e s si nt i m e n o w a d a y s ,m o r ea n dm o r ee n t e r p r i s ea p p l i c a t i o n sn e e dt oi n t e g r a t ev a r i o u sd a t a b a s e s o u r c e s m a n yp r o b l e m s ,s u c ha sh e t e r o g e n e i t y ,i n t e g r a l i t y ,s e m a n t i cc o n f l i c ta n d c o n t e n tr e s t r i c t i o na n de t c w i l la r i s ew h e nc o m p o s i t i v eh e t e r o g e n e o u sd a t a b a s e s s y s t e mo f t h ec o r p o r a t i o ni sc o n s t r u c t e d b e i n gr e s e a r c h e da st h e ya r e t h ea r i s e ni s s u e s - t h er e f e r r e dx m la n dj a v a - - o f h e t e r o g e n e o u sd a t a b a s ei n t e g r a t i o ni nm a n a g e m e n ts y s t e mp r o j e c to fi n t e l l i g e n t b u i l d i n g ,a r ef i r s t l yd i s c u s s e di n t h i sp a p e r ,a n dt h e nt h ea d v a n t a g e so ft h et w o t e c h n o l o g i e s a r e a n a l y z e d ,f o l l o w e db ys e v e r a lc o n d i t i o n sa n ds t r a t e g yo f h e t e r o g e n e o u sd a t a b a s ei n t e g r a t i o n f i n a l l y ,i nt e r m so ft h ep r a c t i c a li s s u e si nt h e p r o j e c t ,as c h e m ei sp r o p o s e db a s e do nx m la n dj a v a ,n a m e l yam i d l a y e ri sa d d e d t ot h ef o r m e rt h r e e - l a y e rs t r u c t u r eb a s e do nb st op r o v i d es e a m l e s sc o n n e c t i o na n d s h e e rv i s i tb e t w e e nu s e r sa n dh e t e r o g e n e o u sd a t a b a s e t h em i d - l a y e rc o n s i s t so ft h r e e p a r t s ,m e t a d a t ap r e s e r v i n gm a p p e di n f o r m a t i o nf r o me n t i r ed a t at op a r t i a ld a t a ; d i s a s s e m b l i n g - a s s e m b l i n gi m p l e m e n t ,m a i n l yd i s a s s e m b l i n g a n d a t t e m p e r i n g c o n s u l t a t i o na n df i l t r a t i n ga n da s s e m b l i n gi t sr e t u r nr e s u l t ;c o n s u l t i n gi m p l e m e n t , c o n n e c t i n ga n dc o n s u l t i n ge a c hh e t e r o g e n e o u sd a t as o u r c e t h et w ot e c h n o l o g i e su s e di nt h i sp a p e ra r eh o tt e c h n o l o g i e sn o w a d a y s ,w i t h o m t h eu s a g eo ft h e l i r dp a r t yp l u g w h i c hs a v e st h ee x p e n d i t u r eo fa p p l i c a t i o n m a n a g e m e n ts y s t e ma p p l i c a t i o no fi n t e l l i g e n tb u i l d i n g a n di t sf e a s i b i l i t ya n d e f f e c t i v i t yh a sb e e np r o v e db yp r a c t i c e t h ei 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 b a s e s ,w h i c hm a k et h es y s t e m sw i t h o u t e x p a n s i b i l i t yc a nv i s i te a c ho t h e rt r a n s p a r e n t l ya n de l i m i n a t et h ei n f o r m a t i o ni s o l a t e d i s l a n d ,i sb e c o m i n gm o r ea n dm o r ei m p o r t a n ti nn o w a d a y si nw h i c hi n f o r m a t i o ni s e a g e r l yn e e d e d c o n s e q u e n t l y , t h er e s o l v e n ti l l u s t r a t e di n t h i sp a p e rh a sag r e a t i i p r a c t i c a ls i g n i f i c a t i o n k e y w o r d s :x m l ,j a v a ,h e t e r o g e n e o u s ,i n t e g r a t i o n 1 t i 武汉理工大学硕士学位论文 1 1 研究背景和意义 第1 章绪论 从七十年代起,集中式数据库得到了迅速发展和广泛使用,然而这些数据 库被独立地创建和管理,物理上和逻辑上都存在异构。每个独立的数据库有自 己的模式、数据模型、数据操纵语言。这些数据库的异构性主要体现在以下几 个方面:1 ) 计算机体系结构的异构,各个数据库运行在大型机、小型机、工作站、 p c 或嵌入式系统中:2 ) 基础操作系统的异构,各个数据库系统的基础操作系统 可以是w i n d o w sn t ,l i n u x ,u n i x 等;3 ) d b m s 本身的异构,可以是同为关系型 数据库系统的o r a c e ,s q ls e r v e r 等,也可以是不同数据模型的数据库,如关 系、层次、网状、面向对象,函数型数据库等;4 ) 数据结构及语义异构,各个 不同的数据库应用系统采用不同的数据结构和语义表达方式。 随着我国科学技术的方展、人们生活水平和质量的提高,现今住宅小区的 建设朝智能化方向发展已成必然,小区的各种数据信息通过w e b 技术在网络上 发布,而这些智能化小区是地理上分散、结构上异质的。这时候用户需要同时 访问和处理不同网络节点的多个异构数据库的数据,希望屏蔽各个层次的异构 特性,他们不必知道各物理数据库系统的分布,也不必知道各物理数据库的结 构组成,不必自己去进行数据转换和结果汇总,只需通过简便的全局查询便可 得到一个综合结果。如何才能做到这点呢? 首先,关键的一个问题是必须研究 他们之间异构数据的集成问题,只有将这些孤立的数据都集成起来,提供给用 户一个统一的视图,才有可能从巨大的数据资源中获取所需的东西。其次是选 用合适的技术进行数据分析、集成和处理。集成是一项很艰巨的工作,因为信 息的增加和信息源的多样性结合在一起,检索有用信息的工作变得非常复杂。 用户必须不仅能访问传统的应用程序来源( 比如关系数据库) ,还要能访问可扩 展标记语言文档、文本文档、扫描的图像、视频剪辑、传入的新闻、w e b 内容、 电子邮件、分析性三维数据和特殊用途的存储( 包括内部和外部) 。 一个实用的信息服务数据集成系统也应具有以下特点: 1 、智能性:对来自不同数据源的结构化的、半结构化的、或非结构化的数 据进行统一处理、过滤、缩减、抽象、合并和归纳等工作; 武汉理工人学硕士学位论文 2 、开放性:对于异构、分布的数据源,还必须解决信息表示与结构上的不 匹配问题; 3 、主动性:对现有的i n t e r n e t 数据表示、交换和服务机制进行适当规范, 并提供主动服务机制“3 。 从目前的研究来看,数据的集成一般是指对数据源访问的集成,即提供统 一的访问机制,并不包括对不同数据源数据之间的集成,本文扩展了集成的概 念,在访问集成的基础上,进一步支持不同数据源数据之间的简单集成。总的 来看,在构建异构数据集成系统时,主要会面对以下几方面的问题; 1 、异构性:异构性是异构数据集成必须面临的首要问题,其主要表现在两 方面;系统异构,数据源所依赖的应用系统、数据库管理系统乃至操作系统之 间的不同构成了系统异构;模式异构,数据源在存储模式上的不同,一般的存 储模式包括关系模式、对象模式、对象关系模式和文档嵌套模式等几种,其中 关系模式为主流存储模式。需要注意的是,即便是同一类存储模式,它们的模 式结构可能也存在着差异。例如o r a c l e 所采用的数据类型与s q l s e r v e r 所采用 的数据类型并不是完全一致的。 2 、完整性:异构数据源数据集成的目的是为应用提供统一的访问支持。为 了满足各种应用处理数据的条件,集成后的数据必须保证完整性,完整性包括 数据完整性和约束完整性两方面。数据完整性指完整提取数据本身。约束完整 性是指完整地保持数据与数据之间的关联关系。保证约束的完整性是良好的数 据发布和交换的前提,可以方便数据处理过程,提高效率。 3 、语义冲突:信息资源之间存在着语义上的区别。这些语义上的不同引起 各种矛盾,从简单的名字语义冲突,到复杂的结构语义冲突。语义冲突会带来 数据集成结果的冗余,干扰数据处理、发布和交换。所以如何尽量减少语义冲 突也是数据集成的一个研究热点。 4 、附加约束:集成两个或多个数据源的时候,数据源的数据之间可能存在 着某种联系。把这种逻辑联系附加到集成结果中的过程就称为附加约束。 5 、集成内容限定:多个数据源之间的数据集成,并不是要将所有的数据进 行集成,那么如何定义要集成的范围,就构成了集成内容的限定问题”1 。 上面列举的异构数据集成所必须面对的几个主要问题,这些问题是相互联 系、相互制约的,不应该简单的孤立对待。 总之,需要一种服务,能够提供对领域内相关数据源的透明访问,好像操 2 武汉理工人学硕十学位论文 作一个数据源一样,把这种服务叫做数据集成服务,把能够集成多个数据源, 提供这种服务的平台叫作数据集成平合。1 ,如图卜1 所示。 狰b i d b 一2d b n 图卜1 数据集成平台 数据集成的目的是提供一个访问异构数据源的统一接口,使用户不必考 虑数据模型的异构性、数据抽取、数据合成等问题,用户只需指定他们想要 的数据,而不必描述怎样得到数据。这样就减轻了用户寻找相关数据源以及数 据源之间交互后合并结果的负担。数据集成平台提供了底层数据源存储数据的 统一视图这样用户访问所有异构的数据源就像操作一个数据源一样“1 。 1 2 国内外研究动态 数据集成的研究与发展大致可分为两个阶段,第一阶段以多数据库系统的 研究为主。这方面的研究基本上可分为三大类,第一类采用物理上分布、逻辑 上集中的系统结构,系统有全局的模式,但是各数据库结点缺少自治性,难以 管理和集成。第二类是m c e l o d 于八十年代中期提出的联邦式数据库系统的概念, 这是一种逻辑上和物理上都分布的结构,每个结点有自己的联邦模式,而不是 武汉理工大学硕士学位论文 唯一的全局数据模式,由于不再受制于全局模式,结点的自治性得到加强,数 据库系统的集成、扩充和重新配置也较为方便和自然,但是数据库之间的通信 受限制。第三类是l i t w if i 等人倡导的多数据库语言数据集成方法,这种系统既 无统一的全局模式,也无局部的联邦模式,结点自治性更强,但用户必须接受 一种新的数据语言,且透明性较差。 进入九十年代中期,传统的数据集成技术己无法适应人们获取更多数据的 需求,人们要求数据集成系统不仅能集成数据库中的数据,而且能集成非数据 库中的数据,如x m l 数据;不仅能集成传统数据,而且能集成多媒体数据;不 仅能集成己有数据源中的数据,而且能集成随时加入新数据源中的数据,也就 是说,数据集成的研究必须具有可扩展性,可以实现数据源的“即插即用”,于 是诞生了“通用异构数据源集成”的概念,这是数据集成发展的第二阶段o 3 。 目前通用异构数据源系统的研究尚处于起步阶段,未有真正的通用数据集 成系统出现,通过包装器( w r a p p e r ) 为各数据源提供标准界面以实现数据集成系 统的也是目前研究的热点。在这种模式中每个数据源都配备自己的包装器 ( w r a p p e r ) ,各数据源的数据经包装后成为公共数据模型表达的对象,以便与其 它数据源的数据互操作,但是这种模式实现比较复杂旧。 当前国外一些著名的数据库公司如s y b a s e 、i b m 、o r a c l e 和中间件公司如 c a 、t i b c o 等,开发了相应的中间件产品,用于解决异构数据集成问题。但使用 这些中间件产品还需要做大量的数据接口开发工作,尽管国外也有比较成熟的 产品和应用项目,但若要在国内获得成功应用还会遇到一定的困难,而且软件 成本比较高,不太适合于中小规模企业及高校。同时国内一些公司如东方通、 慧点科技、中软等在这个领域也进行了系统的研究,开发了一些数据共享中间 件产品,但是现阶段国内比较完整的数据交换产品和应用不多。目前一些高校 如清华大学、上海交大等也正在研究校园数据集成与共享的方案,通过建立校 园公共数据中心实现数据集成。 今天,x m l 技术逐步成为数据集成研究的热点,它的出现使得对各种不规则 的数据信息( 当然也包括规则信息) 的标准化描述成为可能,使用x m l 技术为基 石建立数据集成平台,是数据集成技术发展的趋势。x m l 是一种元语言,可以定 义其他的语言,并且它的标记是用户定义的,从理论上讲,其类型的数量可以 是无限的。x m l 的前景被人看好,有人预言,在2 i 世纪,x m l 语言将成为世人 皆知的“世界语”。而j a v a 技术具有众所周知的跨平台性,最大的优点在于“一 4 武汉理工大学硕士学位论文 次编译,处处运行”。基于x m l 和j a v a 的数据集成应用为企业解决多平台、多 结构数据的集成提供了一条解决途径。它可以把企业内部和外部的各种相关数 据资源进行整合,为企业的信息资源规划提供了可能,从而搭建起整个企业的 统一信息平台,解决数据冗余和不一致问题,提供一致协调的数据视图和统一 的查询语句,屏蔽异构数据间的差异。 1 3 本论文的研究目标和技术路线 由于以前信息化程度不高,刚开始物业公司管理小区都是纸质办公,即使后 来慢慢的实现办公自动化,也只是逐步的推开,各自为政,数据没有集成也难 于共享,没有经过处理的数据只能叫做纯粹的数据,而只有把这些数据集中起 来,经过综合处理,给这些数据赋予一定的意义,那么数据才能成为有用的信 息。具体在智能化小区管理系统这个项目中,需要把各个分散的小区的异构数 据整合起来,提供给管理人员或者是小区业主来查询。因此本文的研究目标是 消除信息孤岛,保证信息畅通无阻和高效利用,建立一个可以实现业务功能的 松散耦合,动态整合内外资源的全面集成和协作化的信息管理系统。 本文旨在通过分析结构化的异构数据库集成时所面临的问题、集成的策略 以及所应用的技术,在此基础上提出一个基于x m l 的异构数据集成的总体解决 方案,并结合相关的j a v a 技术实现了该系统的核心应用系统。 1 4 本文的组织 本文共分七章。 第一章为绪论部分,主要介绍了国内外关于异构数据集成方面的主要研究 内容及成果。 第二章为基础理论部分,主要介绍了本文中主要应用到的x m l 和j a v a 的基 本概念、优势、应用领域等。 第三章介绍了异构数据集成的基本概念、理论以及数据库集成的主要条件。 第四章介绍了x m l 与关系数据库之间的映射。 第五章以智能化小区管理系统为研究对象,从整体上阐述了对异构数据库 集成的架构以及解决方案。 5 武汉理工人学硕士学位论文 第六章从程序的概要设计出发,讲解了如何实现智能化小区异构数据库的 集成,并对比较关键的问题给出了源代码或者是伪代码。 第七章为全文的总结和展望。指出了系统的优点和有待进一步研究的问题。 6 武汉理工大学硕士学位论文 第2 章x m l 和j a v a 介绍及应用 2 1x m l 简介 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 ,可扩展标记性语言) 是由w 3 c ( w o r d w i d ew e bc o n s o r t i u m ,互联网联合组织) 于1 9 9 8 年2 月发布的一种标准,同h t m l 一样是特别为w e b 应用服务的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 , 标准通用标记性语言) 的一个简化子集。总的来说,x m l 是一种中介标记语言 ( m e t a m a r k u pl a n g u a g e ) 可提供描述结构化资料的格式,详细来说,x m l 是一种 类似于h t m l 被设计用来描述数据的语言。 h t m l ( 超文本标记语言) 是s g m l 的一个实例化的子集,是一种简单的表示性 语言,它以自己的方式表示w e b 。但是随着新型领域的兴起及w e b 的日渐成熟, 用户发现h t m l 在简化s g m l 上走得太远,它只能显示内容而无法表达数据内容; 而且它不能描述矢量图形、数学公式、化学符号等特殊对象,在数据显示方面 的描述能力也存在不足;另外最重要的是它是一个实例化的子集,可扩展性差, 用户根本不能自定义有意义的标签。w e b 需要一种交换具有更广泛结构形式内容 的手段,瑚l 正是为解决这些需求应运而生的。 x m l 将s g m l 的丰富功能与h t m l 的易用性结合到了w e b 的应用中,以一种开 放的自我描述方式定义了数据结构,在描述数据内容的同时能突出对结构的描 述,从而体现出数据之间的关系。x m l 解决了h t m l 不能解决的两个w e b 问题: 即i n t e r n e t 发展速度快而接入速度慢的问题;队及可利用的信息多,但难以找 到自己需要的那部分信息的问题。x m l 能增加结构和语义信息,可使计算机和服 务器即时处理多种形式的信息。因此,运用x m l 的扩展功能不仅能从w e b 服务 器下载大量的信息,还能大大减少网络业务量。s 翎l 、h t m l 和x m l 的进化关系 如图2 - 1 所示 7 武汉理工人学硕士学位论文 珂麟 避n w 3 c 图2 一ls g m l 、h t m i l 和x m l 的进化关系 x m l 提供了一种独立的运行程序的方法来共享数据,它能使计算机通信把 i n t e r n e t 的功能由信息传递扩大到人类其他多种多样的活动中去。 2 1 ) ( m l 的优势 2 2 1内容和表现形式分离 在h t m l 中数据内容和表现形式是混在一起的,这样当改变数据的表现形式 时更新文档的工作量很可观。同时,对于】( l l 文档而言,标记是包含信息的, 比如关键字继承关系等,这些信息对于数据的检索描述起着巨大的简化作用。 当只想改变数据的表现形式时只需修改从x m l 文档中分离出的用于数据表现的 样式表就可以了。 2 2 2 良好的可扩展性 ) ( m l 允许程序员制定自己的标记集满足自己的需要。同样一个行业或某一特 定人群,也可以制定在自己范围内的通用标记集叭。这样x m l 可以轻松地适应每 一个领域而无需对语言本身作大的修改,另外要说明的是x m l 的数据定义也是 与数据本身分离独立存在的,这样使x m l 的标记集不致日益扩大。对于有特殊 要求的人,他们可以选用需要的标记集。现在比较典型的例子是c m l 化学置标 语言和m a t h m l 数学置标语言”1 。这两种语言都是利用了) ( m l 的扩展性这一特点。 8 武汉理t 大学硕士学位论文 2 2 3 良好的移植性 x m l 语言可以定义各种数据,像文本图像声音等。这些数据往往有很多种不 同的格式使得数据不能在各系统之间交流,或使用额外的转换软件来实现跨平 台的交流。x m l 的这个特性使得只要交换数据的系统都能处理一种格式的文件即 x m l 文档,就能处理由x m l 标注的各种数据,从而实现了不同格式数据的跨平台 交换。 2 2 4 良好的自描述- 性 良好的自描述性使得x m l 数据可以被不同的应用程序分析处理,并且x m l 的自描述性可以使一篇x m l 文档被人理解,通过标记元素之间的关系数据,要 表达的内容就会一清二楚了。标记 m a n a g e r ,可以很明白地表示 出有个职位是经理,数据m a n a g e r 代表的是一个由标记表述的信息名字。对于 一份完整的x m l 文档而言包括三个部分:数据、标记和样式。数据部分是x m l 的核心,通常是与数据库紧密联系的。现在数据在网页中的作用越来越大,这 就要求有更好的处理数据的方法,可仅有数据是不够的。x m l 的处理程序还不能 识别这些数据,所以还需要为这些数据提供标记说明,将信息通过标记和数据 传给处理程序,使数据得以正确使用“。标记说明这部分数据的信息通过一定 的格式和说明传递给x m l 的处理程序,对于数据本身标记没有任何作用。标记 只是体现数据的特性和数据间的关系。说明标记的常用方法是使用d t d 文档类 型定义。近来出现了另一种方式s c h e m a ,它具有超过d t d 的优势,可以预计 s c h e m a 将取代d t d 成为新的x m l 数据类型定义方式。 2 3 x m l 相关技术 l 、文档类型定义d t d 文档类型定义( d o c u m e n tt y p ed e f i n i t i o n ) d t d 是定义x m l 数据模型的工 具。x m l 不像h t m l 有固定标准的标记和属性,因此,用户要使用自己的标记、 属性或者实体参考等就要自己定义。而这些定义工作要在文档类型定义d t d 中 进行。它告诉你可以在文档中使用哪些标记符,它们应该按什么次序出现,哪 9 武汉理工大学硕士学位论文 些标记符可以出现在其他标记符中,哪些标记符有属性等等。即d t d 为x m l 文 档规定了一套专用的规则。它位于x m l 声明和文档体之间,x m l 声明与d t d 合称 为x m l 文档序言,有效的x m l 文档都拥有一个d t d ,这个d t d 文件保证了x m l 执 行程序的j 下常运行以及文档在支持x m l 的浏览器中的正确显示。 2 、x m l 模式( 】( m ls c h e m a ) s c h e m a 是作为d t d 的替代物出现的,它不仅包括了d t d 能实现的所有功能, 而且它本身就是规范的x m l 文档。这样用户和开发者可以使用相同的工具来处 理x m ls c h e m a 和x m l 信息。另外,x m l 还提供了一系列新的特色,大大弥补了 d t d 的不足,如:支持数据类型、支持属性分组、可以更新定义的内容模式、支 持名字空间。由于d t d 发展较早,相对比较成熟,所以在短期内d t d 还有其存 在的优势。但是d t d 存在一些局限性,而s c h e m a 使用x m l 语法克服了这些不足, 可以给出x m l 文档的详细明确的定义,更好的保证了x m l 文档的有效性和严谨 性,它将最终替代d t d 成为数据模式语言的标准“。 3 、命名空间 在x m l 中,用户可以自己定义标签和元素。这样,如果把多个x m l 文件合 并为一个时就可能出现冲突。命名空间就是为解决这个问题而产生的。命名空 间是用u r i 加以区别的、在x m l 文件的元索和属性中出现的所有名称的集合。 有了命名空间,用户就可以保证在他的文件中使用的名称是独一无二的。具体 地说,命名空间的作用是指明元素是属于哪个文档的。 4 、x s l x m l 的一个最熏要的特性是把内容和显示格式分开。x s l 是专为x m l 设计的 样式表语言,它包括变换语言和格式化语言。这两部分都可以独立地使用。变 换语言可以将x m l 文档变换成结构完整的h t m l 文档,并且完全忽略x s l 格式化 对象。同样,用格式化语言编写的文档并不强求必须要在对x m l 文档使用变换 语言的基础上才能使用。变换语言的任务是将元素中的数据以特定形式的数据 替换出来,而数据是如何展现在用户面前,则是格式化语言的工作。格式化语 言详细规定一个页面是如何布局的。 l o 武汉理工大学硕士学位论文 2 4x m l 的应用领域 2 4 1 异构数据源之间的信息传递 当今的计算机世界中,不同企业、不同部门中存在着许多不同的系统。操 作系统有n t 、u n i x ,数据库系统有s q ls e r v e r 、o r a c l e 等等,要想在这些不同 的平台、不同的数据库软件之间传输信息,不得不使用些特殊的软件,非常 之不便。而不同的显示界面,从工作站、个人微机、到手机,使这些信息的个 性化显示也变得很困难。这些数据源都有各自不同的复杂格式。但客户与这些 数据源之间只通过一种标准语言进行交互,那就是x m l 。由于x m l 的自定义性及 可扩展性,它足以表达各种类型的数据。x m l 能够使不同来源的结构化的数据很 容易的结合在一起。软件代理商可以在中间层的服务器上对从后端数据库和其 他应用处来的数据进行集成。然后,数据就能被发送到客户或其他服务器做进 一步的集合、处理和分发。客户收到数据后可以进行处理,也可以在不同数据 源间进行传递。 总之,在这类应用中,x m l 解决了数据的统一接口问题。但 是,与其它的数据传递标准不同的是,x m l 并没有定义数据文件中数据出现的具 体规范,而是在数据中附加标记来表达数据的逻辑结构和含义。这使x m l 成为 一种程序能自动理解的规范。 2 。4 。2 分解运算负荷 当需要把从网络服务器下载的数据在客户端处理时,客户可根据自己的需 求而选择不同的应用程序以处理数据,而服务器只须向不同的客户端发出同一 个x m l 文件即可。在传统的“客户n 务器”工作方式中,客户向服务器发出不 同的请求,服务器分别予以响应,这不仅加重服务器本身的负荷,而且还须事 先调查各种不同的用户需求来做出相应不同的程序。如果用户的需求繁杂而多 变,则仍然将所有业务逻辑集中在服务器是不合适的,因为服务器端编程的人 员可能来不及满足众多的应用需求,也来不及跟上需求的变化,最终导致双方 都很被动。使用x m l 则可以把数据处理的任务交给了客户,客户按照自己的需 要对数据做任意处理,而服务器所作的只是尽可能完善、准确地将数据封装成 x m l 文档,然后传送给客户端即可。这样客户端和服务器就可以各取所需、各司 武汉理工大学硕士学位论文 其职了。x m l 的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含 义,从而使广泛、通用的分布式计算成为可能1 。 2 4 3 数据显示多样性 当必须用程序动态地生成w e b 文档内容时,分离文档内容和文档结构显得 尤为重要。这种分离允许w e b 组成员( w e b 页面编程人员、业务逻辑程序员和图 形设计者) 并行工作,并只是有限地影响其它人。在x m l 中,显示样式从数据信 息中抽取出来,放在样式表文件中。可以把同一个x m l 文档以不同的面貌展现 给不同的客户,或不同的设备终端,如p c 、手机、p d a 等。这样,如果需要改 动信息的表现方式,无须改动信息本身,只要改动样式表文件就够了,你无须 再去修改那几十、几百个数据信息文件,因为它们和同一个样式表文件相关联, 只要改动这个样式表文件就足够了。 这一应用将会为网络用户界面个性化、风格化的发展铺平道路。例如,可 以将一个包括零件价格、说明和订单号码的汽车零件目录作为视图显示给购物 者看。显示给汽车修理工人看的目录视图可能包括对购物者可用的信息和用于 显示安装零件的位置图解。而显示给制造商看的视图可能包括有关子部件和材 料的信息。 2 。4 。4 用于情报供货商对个性化信息的需要 有些客户取得数据并不是为了直接使用而是为了根据需要组织自己的数据 库。比方说,教育部建立一个庞大的题库,考试时将题库中的题目取出若干组 成试卷,再将试卷封装进x m l 文件,接下来便是最精彩的部分,在各个学校让 其通过一个过滤器,滤掉所有的答案,再发送到各个考生面前,未经过滤的内 容则可直接送到老师手中,当然考试过后还可以再传送一份答案汇编。此外, x m l 文件中还可以包含进诸如难度系数、往年错误率等其他相关信息,这样只需 几个小程序,同一个删l 文件便可变成多个文件传送到不同的用户手中“。 综合以上四种不同类型的应用,具体说来便是数据制作者并不考虑日后这 些数据具体会有哪些用途,只是尽量全面地考虑今后有可能会被用到的信息, 并将其完整、规范地制作成x m l 文件。服务商则不会被拘禁于特定的脚本语言、 1 2 武汉理工大学硕士学位论文 制作工具及传输引擎的囚笼内,而是提供一种标准化、可独立销售、有级别操 作的领域,在那里不同的制作及传输工具将各显神通,一决雌雄,从而极大限 度地满足客户的需求,成为“最信得过”的服务商。 2 5 j a v a 技术 2 5 1j a v a 概述 j a v a 是一种优秀的平台无关性的面向对象的语言,甚至己经成为了w e b 上 的标准编程语言“。而x m l 能创建不依赖于平台、语言或限制性格式化协定的 开放数据,己被广泛采用,成为下一代的w e b 标准数据交换语言。j a v a 语言开 发i n t e r n e t 分布式应用程序的潜力被越来越多的人看好,e j b 体系结构也日渐 成熟。利用j a v a ,人们可以很迅速的开发出可移植的、弹性好的、易于管理的 分布式应用程序。同时j a v a 语言一直都被认为是最适合进行x m l 编程的语言之 一。与平台无关的语言j a v a 加上与平台无关的数据x m l ,将能够完成极为复杂 且弹性非常好的分布式应用。 x m l 技术被期望给面向网络的应用带来革命性的影响,特别是在数据交换领 域。j a v a 与x m l 一起使得在诸如电子商务和企业应用集成这样领域的新一代w e b 应用成为可能。目前,几乎所有i n t e r n e t 技术的主要参与者都承诺支持x m l 技 术。除了s u n 以外,如i b m 、o r a c l e 、n o v e l l 等公司正在开发将x m l 和j a v a 一 起使用的产品和技术。j o nb o s a k ,w 3 cx m l 协调组的主席,通常被认为是x m l 之父。b o s a k 说:“x m l 和j a v a 是厂商独立程序的阴和阳。把它们集成在一起, 你能获得完整的,平台独立的,基于w e b 的计算环境。 p a t r i c i as e y b o l dg r o u p 的a n n et h o m a s 解释说:“把j a v a 和x m l 技术组 合在一起产生了轻便的聪明的数据。x m l 提供了普遍适用的格式化的数据格 式,同时j a v a 技术提供了普遍适用的代码。因为用j a v a 语言写的代码可以嵌 入用x m l 语一言写的文档中,可以创建包含自己的数据处理程序的数据结构。 这是伟大的组合。” 许多网络开发者得出结论:x m l 和j a v a 是完美的一对,因为彼此十分相辅 相成。x m l 有助于独立平台、易提取信息的文档和数据。j a v a 有助于独立平台、 易于处理的面向对象的应用软件解决方案。可以得到下面这个公式:j a v a + x m l = 武汉理工大学硕士学位论文 可移植的数据和行为“。 x m l 当它在1 9 9 6 年1 1 月首次由w 跚小组( w 3 c ) 提出时就是一个能够被很好 接受的规范。现在,它与j a v a 从本质上的结合一即把j a v a 程序中的与x m l 相 关的代码部分和对j a v a 语义( 动作) 编码的部分转换成x m l 的标记,承诺能够向 企业或更高层提供更简单和更具创造力的应用计算。l a r r yc a b l e 和m a r k r e i n h o l d 是s u n 公司的两名老资格的工程师,他们在最近召开的j a v a o n e 开发 者大会的“j a v a 平台上的x m l ”技术会议部分发言,根据他们的发言,关注这 种技术联姻的主要原因是基于x m l 的语法提供了一种灵活的、标准的、健壮的 j a v a 编程方案,同时,j a v a 也将一种普遍的语义集合应用于x m l 数据。 2 5 2x m l 对j a v a 的增强 x m l 为j a v a 的语义( 行为) 提供了一种普遍的语法,简单的说就是,这意味 着一个开发者可以为不同的数据类型创建描述,使得这些数据在j a v a 的程序代 码中表现出不同的行为,并且以后可以重复使用和修改这些描述“。既然j a v a 和x m l 都是可移植的标准,这两种技术结合的结果也是可移植的,可以重用数 据和移植行为。单独使用x m l 或j a v a 所能获得的所有的潜力还没有被完全掌握, 将它们结合就走进了一个巨大的新的国度。现在,将x f l l 应用于j a v a 的两个主 要的应用是面向表示的出版业和企业中面向消息的中间件技术。特别是,x m l 可 以和j a v a 结合产生诸如复杂的w e b 文档、动态出版、电子商务、企业应用集成 和结构信息管理与检索等应用。 2 6 j a x p 编程 2 6 1j a ) ( p 介绍 s u n 用于x m l 处理的j a v aa p i ( j a x p ) 1 1 版本中包含了对x s l t 转换的支持, 值得注意的是,j a x p 的早期版本忽略了这一内容。解析x m l 并转换x s l t 不是 j a x p 的主要目的,而关键的目的是为了各种广泛的x m l 解析器和x s l t 处理器提 供一种标准的j a v a 接口“。尽管j a x p 也包括了x h i l 解析器和x s l t 处理器的参 考标准,但是其主要好处是为了j a v a 的开发人员提供了一种选择,即可以接受 1 4 武汉理工大学硕士学位论文 的工具。由于j a x p ,厂商的限制不再是一个问题。 在讲解代码之前,介绍一些基本概念很重要。严格地说,j a x p 是a p i ,但 是将其称为抽象层更准确。它不提供处理x m l 的新方式,不补充s a x 或d o m ,也 不向j a v a 和x m l 处理提供新功能。它只是使通过d o m 和s a x 处理一些困难任务 更容易。如果在使用d o m 和s a xa p i 时遇到特定于供应商的任务,它还使通过 独立于供应商的方式处理这些任务成为可能。 j a x p 不提供语法分析功能。没有s a x 、d o m 或另一个x m l 语法分析a p i ,就 无法分析x m l 语法。有很多人曾将d o m 、s a x 或j d o m 与j a x p 进行对比。但进行 这些对比是不可能的,因为前三个a p i 与j a x p 的目的完全不同。s a x 、d o m 和 j d o m 都分析x m l 语法。而j a x p 却提供到达这些语法分析器和结果的方式。它自 身不提供分析文档语法的新方法。 2 6 2s a x 介绍 s a x ( s i m p l ea p i f o rx m l ) 是用于处理x m l 的事件驱动方法。它基本由许 多回调函数组成。例如,每当s a x 语法分析器遇到元素的开始标记时就调用 s t a r t e l e m e n t 0 。对于字符串,将调用c h a r a c t e r s ( ) 回调函数,然后在元素结 束标记处调用e n d e l e m e n t ( ) 。还有很多回调函数用于文档处理、错误和其它词 汇结构。s a x 程序员实现一个定义这些回调函数的s a x 接口。s a x 还实现一个名 为h a n d l e r b a s e 的类,该类实现所有这些回调函数,并提供所有这些回调方法 的缺省空实现( 提到这一点是因为它在后面讲到的d o m 中很重要) 。s a x 开发人员 只需扩展这个类,然后实现需要插入特定逻辑的方法。所以,s a x 的关键在于为 这些不同的回调函数提供代码,然后允许语法分析器在适当的时候触发这些回 调函数。 因此,典型的s a x 过程如下: 1 ) 用特定供应商的语法分析器实现创建一个s a x p a r s e r 实例, 2 ) 注册回调实现( 例如,通过使用扩展h a n d l e r b a s e 的类) , 3 ) 开始进行语法分析,然后再触发回调实现时等待。 j a x p 的s a x 组件提供执行所有这些步骤的简单方式。如果没有j a x p ,s a x 语 法分析器要直接从供应商类( 如o r g a p a c h e x e r c e s p a r s e r s s a x p a r s e r ) 进行 实例化,或者必须使用名为p a r s e r f a c t o r y 的工厂类。第一个方法的问题很明 武汉理工大学硕十学位论文 显:不独立于供应商。第一个方法的问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通义千问优化效能深度测评:ROI价值透视与服务商能力大比拼
- 尚志食用菌栽培技术员专项训练卷
- 基层工会经费管理解析
- 2025年福建泉州文旅集团招聘真题
- 2025年湘潭市市场监督管理局局属事业单位招聘真题
- 2025年贵州长江汽车有限公司招聘考试真题
- 《商务数据可视化》课件-6.4-制作相关分析图表
- “智汇国资”2026年绍兴市国有企业专场招聘岗位核减核销考试备考试题及答案解析
- 2026湖北荆州市石首市城市社区工作者招聘26人考试参考题库及答案解析
- 就业指导中心档案管理
- 道路交通事故救援破拆技术
- 上海市2025年中考语文一模试卷A卷(含答案)
- 用友软件合同协议
- 怀化市靖州县招聘事业单位工作人员笔试真题2024
- 2025急流救援技术培训规范
- 小区电动充电桩施工方案
- 2025中级消防设施操作员作业考试题及答案(1000题)
- 智能装备生产、运营及研发基地项目环评资料环境影响
- 动物疫病防治员(高级)理论考试题库大全-上(单选500题)
- HJ298-2019环境行业标准危险废物鉴别技术规范
- 高速铁路供电安全检测监测系统(6C系统)总体技术规范
评论
0/150
提交评论