(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机软件与理论专业论文)基于xml与web+services数据交换平台的研究与实现.pdf.pdf 免费下载

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

文档简介

太原理工大学硕士研究生学位论文 基于x m l 与w e bs e r v i c e s 数据交换平台的研究与实现 摘要 随着信息化建设的飞速发展,企业内部应用系统之间的协作和信息共 享日益重要。如何在应用系统之间架起数据交换与数据操作的桥梁,使各 个应用系统可以实现透明的数据交换和信息共享,已成为企业信息化过程 中迫切需要解决的问题之一。 目前现有的数据交换技术均存在一些问题,主要是缺乏统一标准,平 台依赖性强,耦合度大等。x m l 与w e bs e r v i c e s 技术的出现给数据交换带来 了新的实现方法。x m l 具有平台无关、易于扩展和语义性强等特点。在对 不同格式的数据进行交换时,利用x m l 作为公共数据的格式。同时,w e b s e r v i c e s 技术可以在现有的各种异构平台基础上,构建一个通用的、与平台 无关、语言无关的技术层。不同平台上的应用依靠这个技术层来实施相互 的联接和集成。 论文首先在研究了x m l 、w e bs e r v i c e s 技术和分布式数据交换体系结构 的基础之上,提出一个基于x m l 和w e bs e r v i c e s 技术的通用异构数据交换平 台框架。该交换平台使用x m l 作为交换数据的公共表示,在表示数据的时 候,将其结构信息和值信息分开来描述,分别定义为数据结构文档和数据 值文档。通过分析结构信息文档,解决数据冲突,完成数据值文档的转换。 使用w e bs e r v i c e s 技术将各异构数据源系统联接起来。 t 太原理工大学硕士研究生学位论文 论文介绍了该框架的体系结构和工作流程,给出了数据交换平台系统 各模块的设计,并详细阐述了从关系数据库到x m l 文档的映射、x m l 文档 到关系数据库的集成、x m l 文档之间的转换和x m l 文档发送和接收等关键 问题的解决方案。最后,结合常用的关系数据库实现了一个原型系统,通 过实验验证了该异构数据交换平台可以实现分布式异构数据库之间的数据 交换,并且该系统具有良好的松散耦合、开放性和扩展性等特点。 关键字:数据交换,异构数据,x m l ,w e bs e r v i c e s 太原理工大学硕士研究生学位论文 r e s e a r c ha n di m p l e m e n t a t i o no f d a t ae x c h a n g ep l a t f o 础mb a s e d o nx m la n dw e bs e r v i c e s a b s t r a c t w i t ht h ef a s td e v e l o p i n go fi n f o r m a t i z a t i o n ,t h ec o o p e r a t i o na n di n f o r m a t i o n s h a r i n g b e t w e e n a p p l i c a t i o n s o fi n n e r - e n t e r p r i s eb e c a m em o r ea n dm o r e i m p o r t a n t h o wt ob r i d g ea p p l i c a t i o n s o fi n n e r - e n t e r p r i s et or e a l i z et h e r e c i p r o c a ld a t aa c c e s s i n g a n de x c h a n g e ,t oi m p l e m e n td a t ae x c h a n g ea n d i n f o r m a t i o ns h a r i n ga m o n ga p p l i c a t i o n st r a n s p a r e n t l y , h a sb e c o m eo n eo fp i v o t a l p r o b l e m st ob er e s o l v e di m m e d i a t e l y t h e c u r r e n t l y a v a i l a b l ed a t a e x c h a n g et e c h n o l o g i e s h a v e m a n y s h o r t c o m i n g s , s u c ha sl a c k i n gu n i f o r ms t a n d a r d ,h i g hp l a t f o r md e p e n d e n c ea n d s y s t e mc o u p l i n g t h ee m e r g e n c eo fx m l a n dw e bs e r v i c e st e c h n o l o g i e sh a s b r o u g h td a t ae x c h a n g ean e wm e t h o d x m lh a s f e a t u r e s s u c ha sp l a t f o r m i n d e p e n d e n c y , e a s ye x t e n d i b i l i t ya n ds t r o n gs e m a n t i c s i t su s e da sc o m m o n d a t a f o r m a tw h i l ed a t ae x c h a n g i n g a n dw e bs e r v i c e sc a nc o n s t r u c tag e n e r i c , p l a t f o r mi n d e p e n d e n ta n dl a n g u a g ei n d e p e n d e n tl a y e r d i f f e r e n tp l a t f o r m sc a l l i n t e g r a t ea n dc o n n e c tw i t he a c ho t h e ru s i n gt h i sl a y e r x m l ,w e bs e r v i c e s ,d i s t r i b u t e ds y s t e ma r c h i t e c t u r ea n d r e l a t e dt e c h n o l o g i e s 1 1 1 太原理工大学硕士研究生学位论文 a r er e s e a r c h e di nd e t a i l a f t e ra n a l y z i n go fc o m m o nd a t ae x c h a n g em o d ea n d t e c h n o l o g y , ah e t e r o g e n e o u sd a t ae x c h a n g ep l a t f o r mf r a m e w o r kb a s e do nx m l a n dw e bs e r v i c e si sd e s i g n e d x m li su s e da sc o m m o nd a t af o r m a ti nt h ed a t a e x c h a n g ep l a t f o r m d a t a s t r u c t u r ea n dv a l u ei n f o r m a t i o na r ed e s c r i b e d s e p a r a t e l ya sd a t as t r u c t u r ed o c u m e n ta n dv a l u ed o c u m e n t t h ec o n f l i c to f h e t e r o g e n e o u s d a t aw i l lb er e s o l v e d b ya n a l y z i n gs t r u c t u r ed o c u m e n t a n d t r a n s l a t i n gv a l u ed o c u m e n t h e t e r o g e n e o u sd a t as y s t e m sa r el i n k e db yw e b s e r v i c e st e c h n i q u e t h i sp a p e rp r e s e n t st h ea r c h i t e c t u r e ,w o r k i n gp r o c e s so ft h ef r a m e w o r ka n d m a i nm o d u l e s d e s i g no ft h ep l a t f o r ms y s t e m a n dt h es o l u t i o n so fk e yp r o b l e m s s u c ha sg e n e r a t i n gx m ld o c u m e n tf r o md a t as t o r e di nr e l a t i o n a ld a t a b a s e , i n t e g r a t i n gx m l d o c u m e n tt or e l a t i o n a ld a t a b a s e ,t r a n s f o r m i n go fb e t w e e nx m l d o c u m e n t s ,t r a n s m i s s i o na n dr e c e p t i o no fx m ld o c u m e n ta r ea n a l y z e d a tt h e e n d ,ap r o t o t y p es y s t e mh a sb e e nr e a l i z e dc o m b i n e dw i t hs o m er e l a t i o n a l d a t a b a s e a n dt h i s s y s t e mh a sb e e ns h o w nt h a ti t c a nr e a l i z ed a t ae x c h a n g e b e t w e e nh e t e r o g e n e o u sd i s t r i b u t e dd a t a b a s e sa n di th a sg o o dc h a r a c t e r i s t i co f l o o s ec o u p l i n g ,o p e n i n ga n de x t e n s i b i l i t y k e yw o r d s :d a t a e x c h a n g e ,h e t e r o g e n e o u sd a t a ,x m l ,w e bs e r v i c e s i v 声明户明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 哈文作者签名:。盔立缉立l 日期:巡二丝一 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;。学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) 。 签 名:童盔熊日期:趁尘幺:正:车 导师签名:塑! 必日期:竺墨:垒:兰 太原理工大学硕士研究生学位论文 1 1 研究背景与意义 第一章绪论 随着信息化建设的蓬勃发展,目前各个企业内运行的应用系统数量越来越庞大,各 个应用系统之间的交流也越发频繁,对数据交换的需求越来越迫切。然而,企业内部的 诸多系统大多是在不同时期,采用不同技术而形成的。随着时间的推移和技术的进步, 就形成了一系列的分散的不同格式的数据,每个部门或单位都可能有一个数据源,且每 个数据源大多都是异构的,这就形成了一个巨大的数据异构环境。 对数据交换的研究是为企业内的各种数据交换、共享信息和系统集成提供方案,为 企业内的应用系统提供全局数据视图、全局数据权限视图和完善数据交换服务,从而解 决企业内部的诸多应用系统下出现的“信息孤岛”问题,让各种数据资源能够在应用系 统间实现互联互通。 因此,如何低代价、简单地将企业内应用系统间的异构数据进行交换,从而实现大 范围的应用实体的对接,这是当前互联网环境下每个企业信息化过程中迫切需要解决的 问题之一。由于应用系统的开发语言、运行平台和通信协议不同,对外交换的数据格式 也存在很大的差异,如何去解决语言差异、平台差异、通信协议差异和数据差异所造成 的高代价的应用集成和信息资源共享是这个问题的关键。目前大多数数据交换系统还是 使用传统的方式,即每个系统按照自己的标准设计,这种设计显而易见缺乏通用性和扩 展性。在数据共享上无疑是复杂低效的、而且不可避免的会产生许多安全隐患。建立一 个通用的、可扩展的数据交换平台,对这些异构系统之间进行有效的信息集成势在必行。 数据交换问题解决后,才会对其他诸如o l t p 、o l a p 、数据仓库、数据挖掘和移 动计算等提供数据基础。对于企业,数据交换可以说是生死攸关的问题。数据交换质量 的好坏直接影响在交换后数据上其他应用能否有效进行。数据交换后,可以减小由于数 据在存储位置上分布造成的数据存取开销;避免数据在结构和语义上差异造成的数据转 换引起的错误;数据存放更为精简有效,避免存取不需要的数据;向用户提供一个统一 太原理工大学硕士研究生学位论文 的数据界面等。因此,数据交换对企业信息化的发展意义重大。 目前,国内比较完整的数据交换产品和成功应用不多。另一方面尽管国外也有比较 成熟的产品和应用项目,但若在国内获得成功还会遇到一定的困难,而且软件成本比较 高。随着我国信息化程度加大、数据交换方面的需求和应用将变得更加重要,因此对数 据交换方面研究及数据交换平台产品的探索有着重要的意义。 1 2 数据交换技术的现状 异构数据之间进行数据交换的核心问题有两个方面:( 1 ) 如何解决它们同构和异构 冲突所带来的数据转换问题。( 2 ) 如何解决异构系统之间的信息传输和相互操作问题。 1 2 1 数据转换技术 目前,常见的异构数据交换技术中,异构数据转换技术可以分为以下几种,各有其 优缺点【l 】: 1 电子数据交换( e d i ) 方式:为了解决数据交换的课题,二十世纪八十年代提出了 电子数据交换( 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 根据事先达成的协议,将 信息按照一定的标准进行格式化处理,并把这些格式化的数据通过计算机通信网络在其 计算机系统之间进行交换和自动处理。e d i 交换己较为广泛地在各行各业中使用。但是 e d i 标准较复杂,脱离了易用性,对于企业来说是一种负担;e d i 的标准处理要遵循一 定的步骤及一系列的转换规则,对于普通人来说,也不易掌握及应用;而且使用e d i 技术的费用过高,不能为每个企业所承受。因此,e d i 不适应新形势下数据交换的需 求。 2 数据仓库方式:中心数据仓库负责提取各个分布场地自治系统的数据,并对各 种数据具有高度的控制权。该方式的缺点是交互性与实时性较差。 3 中间数据方式:各个分布场地将自己的数据按照一定的通用格式提供出来,实 现透明的数据交互。与数据仓库方式相比,该方式较好地保留了各个分布场地的自治权, 同时保证了一定的实时性。 以x m l 作为中间数据的数据交换技术克服了传统的数据交换系统的缺点,具有如 下优点: 1 使用了x m l 规范,使平台具有良好的通用性、扩展性; 2 太原理工大学硕士研究生学位论文 2 不影响参与数据交换的各个系统的自治性; x m l 在数据表示和数据交换的优势,引起了业界的广泛支持。许多中间件产品都 提供了在关系数据库与x m l 文档之间转换数据的方法,如a s p 2 x m l 、d b 2 x m l 等等。 各种主流的数据库产品也集成了这些中间件或提供了关系数据格式与x m l 数据格式的 转换工具,如s q l s e r v e r 、o r a c l e 、d b 2 和s y b a s e 等都增加了对x m l 的支持。如:i b m 提供了x m le x t e n d e rf o rd b 2 ,以允许用户在d b 2 中存储x m l 文件,并提供一些新功 能协助。 近年来,由非赢利组织发起的r o s e t t a n e t ,c o m m e r c e n e t ,以及由电子商务解决方 案提供商发起的c o m m e r c e o n e ,a r i b a ,由微软发起的b i z t a l k ,e b x m l 标准,中科院 电子商务中心制定的c n x m l 标准都以实现数据交换作为研究目标之一。这些标准林林 总总,单纯以数据交换而论,它们都是以x 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 ) 标签,形成诸如 c x m l ,e b x m l ,x c b l 等一系列具有行业特性的数据描述语言。它们各自独成体系, 标准使用较为复杂,由各体系建立的数据信息之间难以交互,这使得数据交换仿佛陷入 了另一个泥淖;因此数据交换进展缓慢。 但目前对于基于x m l 的异构数据交换的研究还存在以下几个问题: 1 建立的异构数据库数据交换系统通用性、扩展性差。 2 在x m ls c h e m a ( 模式) 出现以前,d t d ( x m l 文档类型定义) 一直是x m l 技术领 域所使用的最广泛的模式,由于x m l s c h e m a 成为正式推荐的标准的时间较晚,因此以 往的研究很多停留在d t d 模式,映射过程较复杂。 3 模式映射规则中多采用一张表映射为x m ls c h e m a 中的一个复杂类型,致使 x m l s c h e m a 结构过于复杂。 1 2 2 信息传输和互操作技术 近几年来,出现了基于分布式对象模型的应用集成技术来解决企业的数据交换问题 1 3 1 。目前主流的分布式对象模型有:j a v ar m i ( r e m o t em e t h o di n v o c a t i o n ,远程方法调 用) 、d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 和 c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,通用对象请求代理结构) 等,这些 技术作为比较成熟的体系,已各自占据了相当大的市场,但三者都存在自身无法克服的 3 太原理工大学硕士研究生学位论文 缺点,也正是由于这些缺点阻碍了它们更广泛的应用。j a v ar m i 实现需要通信的两端 都有j a v a 运行环境,这从根本上阻碍了它的推广。传统上认为d c o m 和c o r b a 都是 合理的服务器到服务器端的通信协议。但是,二者对客户端到服务器端的通信都存在着 明显的弱点,尤其是客户机被散布在i n t e m e t 上的时候。用d c o m 和c o r b a 来创建跨 平台、跨i n t e r n e t 、适应i n t e r n e t 可伸缩性的应用时,存在着以下几个问题: 1 平台相关 d c o m 和c o r b a 都是平台相关的【8 】。基于d c o m 和c o r b a 创建的应用系统无 法扩展到互联网上,它们要求服务客户端与系统提供的服务本身之间必须进行紧密耦 合,即要求一个同类结构。这意味着在d c o m 的情况下,每台机器都要运行于 w i n d o w s 平台;在c o r b a 情况下,每台机器都要运行o r b ( 对象请求代理) 。这样的 系统往往十分脆弱,如果一端的执行机制发生变化,那么另一端便会崩溃。 2 不易集成 要使得两个基于不同技术的系统协同工作,必须创建某种类型的中间件,这是一种 从一个系统消息格式中翻译消息的技术,这样另一个不同的系统就可以理解并根据请求 进行处理和响应。这些中间件是实际存在,但是并不理想,困难在于要将所有的d c o m 功能、数据结构类型等等映射到c o r b a ,反之亦然。 3 防火墙问题 作为互联网上的一种安全策略,防火墙一般会根据协议的端口号对来访的数据请求 进行控制。d c o m 和c o r b a i i o p ( i n t e r a c ti n t e r - o r bp r o t o c 0 1 ) 协议是基于t c p i p 体系 结构的,它们使用动态分配的端口号,而端口号的选择是随意的,这样防火墙就会阻挡 该协议的访问,使远程过程调用无法成功进行。解决这个问题的一个办法是将防火墙配 置为允许端口号在某个范围内的访问,然后将d c o m 或i i o p 协议所需的端口号限制在 这个范围之内,则客户的请求就可以成功地到达服务器,但是这样做同时会带来安全性 方面的问题。另一个方法是m i c r o s o f t 的c o mi n t e m e t 服务,但这项技术只用于m i c r o s o f t 的i n t e r n e ti n f o r m a t i o ns e r v i c e 和d c o m ,也还不是一个完全的解决方案,仍然需要一 种更一般的方式。解决这些问题的最好办法是使用一种统一的格式来定义对象的接口标 志、在网络上传输的格式等等。 w e bs e r v i c e s 的出现可以很好地解决上述几个问题。w e bs e r v i c e s 是一种优秀的分 布式计算技术,它的主要目标就是在现有的各种异构平台的基础上构建一个通用的与平 4 太原理工大学硕士研究生学位论文 台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连 接和集成,i n t e m e t 或者i n t r a n e t 上通过使用标准的x m l 协议和信息格式来展现商业应 用服务。在w e bs e r v i c e s 框架下,对每个数据源都可以为其创建一个w e bs e r v i c e s ,然 后使用w s d l 向服务中心注册。这样集成系统就可以向注册中心发送查找请求并选择 合适的数据源,然后通过s o a p 协议从这些数据源获取数据。这样不仅使数据源之间的 互操作变的容易,也可以很方便地从系统中添加和删除数据源,增加了集成的灵活性。 因此,利用w e bs e r v i c e s 能克服以上缺点,具有完好封装,松散耦合,规范协议,高度 可集成能力等特性,能够实现多数据源的无缝集成。 目前,w e bs e r v i c e s 已经在全球启动了新一拨 业的浪潮,无论是平台供应商、 解决方案供应商、技术供应商,还是服务提供商都纷纷在自己的平台、解决方案以及服 务中加入w e bs e r v i c e s 。以m i c r o s o f t 、i b m 、h p 、b e a 等为首的计算机业巨头们无一 例外地将自己的软件产品、解决方案全面支持w e bs e r v i c e s 。例如:m i c r o s o f t 最新推出 的w i n d o w s 通信基础( w i n d o w sc o m m u n i c a t i o nf o u n d a t i o n ,w c f ) 框架和将要推出的 a d o n e td a t as e r v i c e s ,都是由w 曲s e r v i c e s 支持的。w c f 和a d o n e td a t as e r v i c e s 可以让企业对外发布自己的数据,向外界提供数据服务。 1 3 本文主要研究的内容及组织结构 如何让“信息孤岛”充分发挥它们应有的作用,如何把这些格式各异的数据转化为 可透明访问的共享信息,如何发布、集成、传输这些共享的异构信息,以连通彼此隔绝 的系统,如何把分散的资源进行整合是本篇论文研究的主要目标。 本文主要从介绍数据交换技术概念与发展的现状出发,在介绍本文数据交换的相关 技术x m l 和w e bs e r v i c e s 的基础上提出了基于x m l 和w e bs e r v i c e s 技术的分布式异 构数据交换模型,详细分析和设计了一个数据交换系统,并对关键技术进行了详细的研 究,主要内容有以下几个方面: 1 根据对目前常见的数据交换体系结构的分析提出了本文数据交换模型的体系结 构。 2 提出了一种基于x m l 和w e bs e r v i c e s 技术的数据交换系统的架构,介绍在这 个框架下数据交换的流程和特点。 3 设计和实现了数据交换代理节点子系统,提出异构格式数据源到x m l 格式的 5 太原理工大学硕士研究生学位论文 双向转化的解决方案,完成了异构数据的包装。 4 给出了数据交换中心系统的设计和实现,给出了系统中关键模块的设计和一些 实现的细节。 本论文的组织结构如下,共分为六章: 第一章绪论。介绍了论文的选题背景、数据交换的发展现状及研究内容。 第二章数据交换的相关概念及技术。介绍了异构数据集成的相关技术,包括x m l 、 s c h e m a 、w e bs e r v i c e s 等,并分析这些技术的特点。 第三章分布式数据交换的体系结构的介绍与研究。 第四章基于x m l w e bs e r v i c e s 的数据交换系统总体框架。对数据交换系统的整体 架构的介绍与探讨。介绍数据交换系统关键模块的功能、关键问题的解决方案。 第五章基于x m l w e bs e r v i c e s 数据交换系统的设计。简单介绍一个原型系统的实 现,并验证系统的可行性、有效性。 第六章结束语。回顾本论文的研究工作,并给出了进一步的展望。 6 太原理工大学硕士研究生学位论文 2 1 异构数据 第二章数据交换的相关概念及技术 异构数据源的整合与集成,是企业信息化建设过程当中经常遇到的一个现实问题, 也是制约企业各种应用信息系统建设进程和妨碍数据共享程度的重要原因之一,同时也 是企业信息化建设重复投资或负担过重的一个重要因素。在“信息孤岛”中,企业数据 源异构主要表现为以下几个类型。 1 系统异构 由于数据源所依赖的业务应用系统、数据库管理系统、操作系统乃至硬件平台之间 的不同,导致的数据源异构即是系统异构。 2 模式异构 数据源在存储模式上的不同。存储模式主要包括关系模式、对象模式、对象关系模 式和文档嵌套模式等几种,其中关系模式( 关系数据库) 为主流存储模式。同时,即便是 同一类存储模式,它们的模式结构可能也存在着差异。例如相同的关系数据管理系统在 数据类型等方面并不是完全一致的,如s q ls e r v e r 、o r a c l e 、d b 2 、s y b a s e 、i n f o r m i x 、 a c c e s s 等。 3 数据模式异构 虽然两种数据源在相同的平台下,而且在相同的数据库管理系统中,但由于不同的 软件开发者设计的数据库结构相异而造成异构。例如有不同的软件开发者设计的数据源 中都有存储“作者的数据表,数据表或字段的名字就会存在差异。或者数据的编码不 同。比如表示“性别”的字段,有的开发者习惯用0 1 来表示,而有的开发者习惯用 m f 来表示。 2 2 数据交换 数据交换是指数据在不同的信息实体之间交互的过程。数据交换的各种信息实体在 7 太原理工大学硕士研究生学位论文 每个阶段有各自的需求和规范,因而具体使用的技术和工作流程有很大差别。数据交换 的目的是屏蔽企业之间或部门之间的业务系统在硬件平台、操作系统、网络协议和数据 源方面的差异,为企业提供一个通用的数据交换平台。通过数据交换平台提供的服务, 以前分散、独立的企业之间或企业部门之间可以方便地进行信息共享与交换,从而实现 企业与企业问、实体与实体间业务交流的自动化,使得企业和部门信息系统之间能协同 处理工作,这种交流的自动化不仅仅是局部性的,更是区域性的乃至全球性的。数据交 换作为企业应用集成解决方案的最简单和最直接的途径,目前已经在企业,政府和教育 部门得到了广泛的应用。在数据交换过程中,需要有以下要求: 1 要进行透明的数据交换解决一系列的技术问题,如数据的格式、数据的安全、 数据的封装与解码、数据的语义的统一解释等,这就是数据的可信交换系统的设计问题。 归纳起来,在设计数据交换系统时,要着重解决以下两个方面的问题。( 1 ) 数据的统一 表示。数据交换系统的最终目标是实现不同应用系统问透明的数据信息交换,但是在不 同的应用系统之间数据的存储、表示方式可能完全不同。要解决这一问题的关键是要找 到数据的统一表示方式,x m l 标准的出现,使基于统一的规范格式的信息交换系统在 实现技术上成为可能。( 2 ) 数据交换的语义识别。数据格式、语法所描述的信息应该有 效,各种系统在传递、读取、解析和使用文档中的信息时不会产生歧义,并且表达的内 容、格式能满足各项业务的要求。 2 传输的要求。数据格式易于传输,能够实现各个应用系统之间的同步和异步信 息交换,并兼容各种网络系统和通讯协议。 3 安全方面的要求。交换的数据文档需要基于应用系统之间约定的规则进行验证, 要能建立数据格式、数据内容、网络传输等不同层面的安全防护机制。 2 3 数据交换介质 2 3 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 ,可扩展标记语言) 3 1 吲嘲是w 3 c ( w o r l dw i d ew 曲 c o n s o r t i u m ) 组织的x m l 工作组于1 9 9 8 年定义的s g m l ( s t a n d a r dg e n e r a l i z em a r k u p l a n g u a g e ) 1 拘- - 个受限子集。它是一种由规范定义的元语言,即用于定义其他语言的语 言。x m l 是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加 8 太原理工大学硕士研究生学位论文 以标识。作为元标记语言,x m l 定义了用于定义与其他特定领域相关的、语义的、结 构化的标记语言句法。可以从以下几个方面来定义x m l : x m l 是一种类似于h t m l 的标记语言。 x m l 主要是用来描述数据的。 x m l 的标记并不是x m l 中预先定义的,可以定义自己的标记。 x m l 使用文档类型定义( d t d ) 或者模式( s c h e m a ) 来描述数据。 x m l 与h t m l 是两种不同用途的语言。x m l 是用来描述数据的,侧重于描述什 么是数据,如何存放数据,而h t m l 是用来显示数据的,侧重于描述数据如何显示; h t m l 是信息显示相关的,而x m l 则是信息描述相关的。 看起来有些难理解,但实际上x m l 什么都不做,只是用来组织和存储信息。下面 是一个关于地址的信息x m l 文档格式: t a i y u a nu n i v e r s i t yo ft e c h n o l o g y 7 9y m gz ea v e n u e t a i y u a n s h a n x i 0 3 0 0 2 4 可以很容易明白上面x m l 的含义,所以x m l 具有很好的自解释性,即x m l 是 自描述性语言,它不仅将文本组织成层次结构,还直接在文本中描述了自身的组织结构。 x m l 具有以下特点: 1 x m l 可以从h t m l 中分离数据,即使用x m l 可以在h t m l 文件之外存储数 据。通常情况下,h t m l 用于显示数据,数据一般存储在h t m l 文件之内。使用了x m l 后,数据就可以单独的存放在x m l 文档中。这样,开发者就可以集中精力使用h t m l 做好数据的显示和布局,并保证数据在改动时不会导致h t m l 文件的改动,这样可以 方便页面的维护。另外,x m l 数据也可以以“数据岛”的形式存储在h t m l 文件中, 开发者仍然可以把精力集中到使用h t m l 格式化和显示数据的工作。 2 x m l 数据是以纯文本格式存储的,x m l 提供了一种与软件和硬件无关的数据 9 太原理工大学硕士研究生学位论文 共享方法。在这种条件下创建一个能够被不同应用程序读取的数据文件容易多了。同样, 我们升级操作系统、升级服务器、改变应用程序或更新浏览器不会影响数据的存储。 3 x m l 可以充分利用数据。既然x m l 是与软件、硬件和应用程序无关的,数据 就可以被更多的用户、设备所利用,而不仅仅局限基于h t m l 标准的浏览器。其他的 应用程序可以把x m l 文档作为数据源来处理,就像它们对数据库进行操作一样,x m l 数据就可以被多种“阅读器”处理。 4 x m l 具有可扩展性。正如面向对象语言使用者声明他们自己的类一样,x m l 让使用者创建和使用他们自己的标记,而不是仅限于使用有限的词汇表。可扩展性是至 关重要的。 5 x m l 可以用于定义新的语言。例如,w a p 和w m l 语言是由x m l 衍生出来的。 w m l ( w i r e l e s sm a r k u pl a n g u a g e ,无线标记语言) 是用于标识运行于手持设备上( p d a 、 手机) 的i n t e r n e t 程序的工具,它就采用了x m l 标准。 x m l 正在迅速成为标志i n t e m e t 文档结构和内容的标准语言。x m l 作为一种可扩 展标记语言,其自描述性使得x m l 本身非常适用于异构应用间的数据交换,使得我们 可以在不兼容的系统之间交换数据。数据交换的核心是信息的标准化,主要解决信息的 可理解性。x m l 为我们提供了信息标准化的工具。 x m l 的关键技术是将数据内容与显示分开以提高效率。将需要交换或共享的数据 转换为x m l 文档在各个应用系统之间传递。只要数据交换中的参与方采用统一的x m l 标签和格式生成x m l 文档,不同应用系统中不同语言编写的应用程序就可正确识别和 理解文档中的数据,从而实现数据的交换和共享。 2 3 2 文档类型定义( d t d ) 文档类型定义( d t d ,d o c u m e n tt y p ed e f i n i t i o n ) t a j t 5 1 t 6 1 可用于描述x m l 标记语言, 并检验x m l 文档的有效性。d t d 实际上可以看作一个或多个x m l 文件的模板,d t d 定义了x m l 文件中的元索、元素的属性、元素的排列方式、顺序、元素能够包含的内 容等,x m l 文档中的元素,即我们所创建的标签,是根据我们实际应用的具体情况来 创建的。d t d 可以是一个完全独立的文件,也可以在x m l 文件中直接设定。下面是一 个d t d 的实例: 1 0 太原理工大学硕士研究生学位论文 这个d t d 描述了一个地址标记语言的有效结构。该d t d 声明了a d d r e s s 元素可以 包括一个或多个s t r e e t 元素,而且必须包含n a m e 、c i t y 、p r o v i n c e 和z i p 元素中的每个元 素,它还声明了a d d r e s s 元素必须有一个c a t e g o r y 属性。 虽然由d t d 提供的约束有助于检验x m l 文档实例,但极可能存在x m l 实例具有 有效的组织结构,但却包含了无效的数据这样的情况。d t d 的类型系统非常脆弱,存 在以下缺点: 1 d t d 是基于正则表达式的,描述能力很有限; 2 d t d 没有强数据类型的支持,它将元素限制在4 种数据类型,即e m p t y 、a n y 、 元素内容和元素与文本的混合内容。d t d 不支持像i n t e g e r 、d e c i m a l 、b o o l e a n 这样的数 据类型。在大多数应用环境下能力不足; 3 d t d 的约束定义能力不足,无法对x m l 实例文档做出更细致的语义限制。例 如:地址标记d t d 不能将s t a t e 元素限制为一组有效的国家代码; 4 d t d 的定义不够结构化,很难对其重用; 5 对d t d 的创建和访问并没有标准的编程接口,无法使用标准的编程方式对d t d 进行维护。 2 3 3x m ls c h e m a x m l s c h e m a l 3 1 1 a 6 1 1 1 4 1 提供了很强的类型体系,它描述了x m l 标记语言,特别定义 了标记语言中使用的元素和属性、如何排序与嵌套、以及它们的数据类型。s c h e m a 本 身是一个x m l 文档,它符合x m l 语法结构。可以用通用的x m l 解析器解析它。下 面是2 1 1 节中x m l 文档的对应的s c h e m a 描述: 。 x m ls c h e m a 具有以下特点: 1 一致性。s c h e m a 建立在x m l 的基础上,其格式描述和x m l 相同,使x m l 达到了从内到外的统一;另一方面,s c h e m a 本身也是一种x m l ,可以被现有的x m l 编辑器、解析器和应用系统所利用。 2 扩展性。s c h e m a 对d t d 进行了扩充,引入了数据类型,同时也支持对数据类 型的扩展机制使得用户可以定义自己的数据类型,能更好地满足应用的需要。 3 易用性。易于解析处理,许多解析器只是对x m l 文档实例有效,对d t d 则无 能为力。 4 互换性。用户可以根据需要设计s c h e m a ,可以同其他的用户交换s c h e m a ;利 用s c h e m a ,能够书写x m l 文档,验证文档的合法性;同时通过映射机制可以将不同 的s c h e m a 进行转换,以实现更高层次的数据交换。 5 原型可以更新。d t d 定义的内容模式是封闭的,而x m l s c h e m a 定义的内容模 式是开放的,可以随时更新。 6 支持命名空间。x m ls c h e m a 提供对名字空间的支持,可以在不同的命名空间 中使用相同的元素表达不同的含义,解决了x m l 元素命名冲突问题。 异构系统之间要进行数据交换,必须有双方都能理解的约定的x m l 消息结构。这 个消息结构可以用d t d 或者s c h e m a 定义。 1 2 太原理工大学硕士研究生学位论文 2 3 4 可扩展样式语言( x s l ) x s l ( e x t e n s i b l es t y l es h e e tl a n g u a g e ,可扩展样式语言) 【3 】的作用是可以把x m l 文 档向多种格式文档进行转换。例如,从一种逻辑结构的x m l 向另一种逻辑结构的x m l 转换,或是转换为可以在浏览器中显示的h t m l 文档等。x s l 进行数据格式转换的重 要思想是把x m l 文档视为一种树结构,转换的过程就是从源树转化为目标树的过程。 x s l 定义了源树和目标树对应部分的转换规则,每条规则中包含一个模板,并对应着 一种模式。模板定义了转换的规则,而模式则规定了需要进行转换的元素或属性对象。 x s l 的格式转换功能在复杂的数据交换方案中具有重要作用。一个x m l 文件可以对应 多个显示格式的x s l 文件,多个x s l 可事先放在服务器上。当有客户读取x m l 文件 时,服务器根据客户终端的种类选择适当格式的x s l 文件传送到客户端。 x s l 语言是一种可以用来把x m l 转化为其它形式文档的工具,当然也可以转化为 另一种结构的x m l 文档。如果需要将x m l 文档转化为另外的具有不同s c h e m a 的x m l 文档,就需要在两个文档之间建立一种映射关系。这种映射关系可以使用一个x s l 文 件来描述。然后利用x s l t 处理器,输入要处理的x m l 文档和表示了转化规则的x s l 文件,输出就是已经转化的x m l 文档。 x s l t 本身也是一个x m l 文档,它是通过x m l 进行定义的,遵守x m l 的语法规 则,是x m l 的一种具体应用。因此系统可以使用同一个x m l 解释器对x m l 文档及 其相关的x s l t 文档进行解释处理。 x s l t 的原理:x s l t 主要的功能就是转换,它将一个没有形式表现的x m l 内容文 档作为一棵源树,将其转换为一个有样式信息的目标树。在x s l t 文档中定义了与x m l 文件中各个逻辑成分相匹配的范本,以及匹配转换方式。它可以很好地描述x m l 文档 向任何一个其它格式的文档转换的方法,例如转换为另一个逻辑结构的x m l 文件、 h t m l 文档或x h t m l 文档等等。转换过程如图2 2 示: 1 3 太原理工大学硕士研究生学位论文 2 3 5x m l 的访问接

温馨提示

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

最新文档

评论

0/150

提交评论