(系统工程专业论文)基于XML的数据建模及数据交换技术的研究.pdf_第1页
(系统工程专业论文)基于XML的数据建模及数据交换技术的研究.pdf_第2页
(系统工程专业论文)基于XML的数据建模及数据交换技术的研究.pdf_第3页
(系统工程专业论文)基于XML的数据建模及数据交换技术的研究.pdf_第4页
(系统工程专业论文)基于XML的数据建模及数据交换技术的研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

离搿斌王大学硪士孝证褥文豢于x m l 的数据建攘披散撂交接技术孵群蹴 攘蔡 夔着诗霎魏爨络羧零熟普及帮w e b 攘零熬广泛戏蘑,“惨患孤蕊”瓣躞瑟澈突爨, 麴露蘩皴交换来繇不弱部门、不阅警台嚣懿鼯簸为嚣蘩穰惠交换中霪要豹辑究漂戆之 一。) 蝴l 姨其缴鞫性、可扩鼹憔秘平台独立性懿特点,镳灏成为数据簿与应用程序 之间以及糕多个礅厢程序之间谶行数据交换羽技术标准。 本文较全嚣迪讨论了个采嚣x m l 佟麓鼗援搀撩捂焱,嚣掰瀵塞审越终 w e b s p h e r em q 传输数摇簸公文交换系统辩设计与蜜蕊,并j 寸箕使籍静美键技零x m l 霸潸怠中河件进行了较深入鲍研究。该系统聚用消息中间襻传递数据,躐销去了底羼 邋傣熬躲颊,又稳好恁瓣次了安全秘蘧秘辩步闰瑟;磊慕爝x m l 箨努俦输载髂,瓣 健数撂其裔更强麓结梅毪帮可读蕊,著量方德了与器释搂瑟遥傣。瘫系蓑设诗与蜜褒 部分,论文善先禳涟了公文交换惫统瓣憨体设计,并霹数瓣交换平台教菠缀藏予系统 的系统结构和功跳组 牛等进行了讨论;接澍讨论了用u m l 为x m l s c h e m a 建模的方 法,莠实瑗了怼公文交鬟系统审交捩懿x m l 文糖熬s c h e m a 遴嚣建模。最君,辜交 详缨介缮了公文交捺系统的设计和兼键功黼的实现。 美髓谣:数据交换,x m l ,x m ls c h e m a ,淡意串舞癸,蘧模 簧j 贾 南京理工大学殒士学霞论文基于x m l 的数据建模投数据交换技术的研究 a b s t r a c t a st h er a p i d d e v e l o p m e n to ft h ec o m p u t e rn e t w o r kt e c h n o l o g ya n dt h ee x t e n s i v e a p p l i c a t i o no ft h ew e bt e c h n o l o g y , t h e q u e s t i o no f “i n f o r m a t i o ni s o l a t e di s l a n d b e c o m e s m o l ea n dm o r es e r i o u s s o , h o wt oi n t e g r a t ea n de x c h a n g et h ed a t aw h i c hc o m ef r o m d i f f e r e n tp l a t f o r m sa n dd e p a r t m e n t sh a sb e e no n eo ft h ei m p o r tr e s e a r c ht a s ko fc u r r e n t i n f o r m a t i o ne x c h a n g e w i t hi t ss p e c i a l i t i e so fs t r u c t u r e d ,e x t e n s i b l a n di n d e p e n d e n to f p l a t f o r m s ,x m lg r a d u a l l yb e c o m e st h et e c h n i c a ls t a n d a r de x c h a n g i n gd a t ab e t w e e n a p p f i c a f i o n sa n d d a t a b a s e so rd i f f e r e n ta p p l i c a t i o n s t h i sp a p e rs t u d i e dr o u n d l yt h ed e s i g na n di m p l e m e n to fae l e c t x o n i cd o c u m e n t e x c h a n g es y s t e mw h i c ht r a n s f e r e dd a t ab ym e s s a g e o r i e n t e dm i d d l e w a r ea n dw r a p p e dt h e d a t aw i t h x m l b e s i d e s , i ts t u d i e dt h ex m la n d m e s s a g e - o r i e n t e d m i d d t e w a r e t e c h n o l o g i e su s e di nt h es y s t e m u s i n gm q t ot r a n s f e rd a t a ,t h i ss y s t e mc a nl e a v eo u tt h e t r o u b l eo ft h er o c k - b o t t e mc o m m u n i c a t i o n sa sw e l la sr e s o l v et h eq u e s t i o n sa b o u ts e c u r i t y a n da s y n c h r o n i s m o nt h eo t h e rh a n d ,i tm a d et h ed a t ah a v es t r o n g e rs t r u c t u r ea n d r e a d a b i l i t ya n da l s om a d ei tm o l ec o n v e n i e n tt oc o m m u n i c a t ew i t hd i f f e r e n t so fi n t e r f a c e s b yu s i n gx m l t ow r a pt h ed a t a 。i np a r to fs y s t e md e s i g na n di m p l e m e n t , t h i sp a p e rf w s t d e s c r i b e dt h eg e n e r a ld e s i g no ft h ee l e c t r o n i cd o c u m e n te x c h a n g ea n da l s od i s c u s s e dt h e s t r u c t u r ea n df u n c t i o n a l g r o u p w a r e o ft h ed a t a e x c h a n g ep l a t f o r m a n di t ss u b s y s t e m s ,s e c o n d ,i td i s c u s s e dt h em e t h o do fm o d e l i n gx m ls c h e m aw i t hu m la n d i m p l e m e n t e dm o d e l i n gx m l s c h e m ao ft h ex m ld o c u m e n t se x c h a n g e di nt h ee l e c t r o n i c d o c u m e n te x c h a n g e ds y s t e m a tl a s t , i td e c r i b e di nd e t a i lt h ed e s i g na n dk e ys e c t i o n i m p l e m e n to ft h ee l e c t r o i n cd o c u m e n te x c h a n g es y s t e m k e y w o r d s :d a t ae x c h a g e ,x m lx m ls c h e m a ,m e s s a g e - o r i e n t e dm i d d l e w a r e ,m o d e l i n g 第页 声鞠 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在本 学位论文中,除了加以标注和致谢的部分外,不包禽其他人已经发表或 公布过的研究成采,也不包含我为获褥任何教育辊擒镌学位袭学魇露使 震过熬材辩。与我一弱z 嚣戆同事对本学位论文傲出的贡献均己在论文 中作了明确的说明。 砑究生签名: 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅或 t 黼公布奉学霞论文的部分或全部内容,可以离有关豁霜袋枫梅送交并 授权箕擐存、措鲤或上弼公露本学披论文的熬分或全部内容。对于保密 论文,按保密的有关规定和程序处理。 研究生签名:也丛益; 驯彤年7 月z 日 南京理工大学硕士学位论文 基于x m l 的数据建模及数据交换技术的研究 1 绪论 1 1 课题的背景及意义 随着计算机技术,特别是i n t e r n e t 技术的发展,企业和政府各机构、部门内部 都逐步实现了业务、办公自动化等计算机管理系统。但是,各个企业、部门或机构 由于业务和功能归属不同,往往缺乏统- 规划,所采用的计算环境由不同平台组成。 这些由不同核心技术构建的信息系统就像一个个“信息孤岛”,各自有着不同的处 理对象、操作方法和专用客户端。这就形成了大量业务逻辑类似,但形式分散且彼 此缺少信息交互的系统。为实现各部门之间的协调工作,就必须解决在各个环节之 间普遍存在的数据集成、交换和部门协同的问题。随着企业信息化管理和应用向高 层次方向发展( 比如决策支持系统、领导查询系统、电子商务系统) ,就必须基于 大量的、各个方面的企业信息才能做出科学的决策支持,这使信息孤岛的问题显得 越发严重。 现代企业数据管理要求企业内部和企业闻的多个应用能共享数据和信息,从而 形成一个虚拟的、统一的系统。要实现这种系统整合,关键就是要建立一个统一的、 安全的、稳定的数据交换平台和数据交换模型。而为大量各式各样的数据提供某种 统一的表示方法无疑是解决问题的关键,这就要求我们找到一种标准、开放的数据 结构来表示数据信息。 x m l 的出现为异构数据源的集成带来了新的希望。x m l 具有很多优良的特性: 可扩展性,允许各个组织,个人建立适合自己需要的置标集合;结构性,数据存储 格式不受显示格式的制约,把资料的内容和其表现形式合理地隔开,从而大大提高 x m l 资料的可理解性、可交换性和重用性;平台独立性,x m l 文档是纯文本,独 立于平台与应用。 因此,运用x m l 可以有效地解决新旧系统、不同应用系统之间或者不同数据 源之间的数据共享和交换问题) m 儿也逐渐成为数据库与应用程序之间以及在多 个应用程序之间进行数据交换的技术标准。 对于简单的小型应用来讲,问题域很清楚,相对来说数据不会很复杂。而且一 般来说,需要很少的人进行协作因此,用于交换的x m l 文档可以很简单我们、 可以随意地将信息制作成个x m l 文档进行交换,接收方接收到x m l 文档后, 针对此x m l 文档直接进行处理。但是,在基于w e b 的跨平台、异构系统的数据 交换中,数据比较复杂,涉及的应用程序很多,如果数据交换的x m l 文档不具有 统一性,应用程序只能局限于x m l 文档本身来实现,不同的应用程序间创建、管 理和处理相同的文件都要有自己的处理方法,不利于应用程序的扩展和集成。因此, 第1 页 硕士论文 对儿所代表的信息进行建模的需求日益迫切。 对x m l 的设计将影响到应用程序的工作方式及其生命周期。一个数据模型不 但要包含应用程序和用户所需的信息,而且要足够灵活以适应未来变化的需要。如 果一开始就直接进入一个x m l 项目,而没有充分考虑定义文档结构,事后也许会 发现它们不够健全,无法经受住时间的考验。当业务需求发生变化时,又得重新开 始。因此,为数据创建健壮、生命力强的数据模型是非常必要的。 已有的文档定义语言,如x m ls c h e m a ,只是逻辑上的模式,它的复杂性导致 了一些理解和设计上的困难。同时,x m ls c h e m a 语法上的文本表示缺乏可读性。 为了在设计时以应用需求为中心,我们需要更直观、更抽象的数据模型。 本课题展开了对基于x m l 的数据交换系统的研究,并以电子政务为背景,进 行公文交换系统的的设计、实现等研究工作,同时还探讨了对x m ls c h e m a 进行建 模的方法。 1 2 国内外发展动态 目前,常见的异构数据交换技术可以分为以下几种,各有其优缺点: ( 1 ) 电子数据交换( e d i ) 方式:e d i 通过统一的格式来交换企业信息,企业 之间通过专用的数据网络来交换数据。e d i 也带来了许多问题,如格式不灵活、成 本昂贵、安全控制困难、连接可靠性不高等。 ( 2 ) 中介层方式:提供一个应用程序负责专用的数据转换,这个程序是特定 的、专用的、复杂的。在这种方式下,参与数据交换的各方必须严格遵循相同的规 则,才能准确l h 对数据进行封装和解析,缺乏良好的复用性和扩展性。 ( 3 ) 数据仓库方式:中一t l , 数据仓库负责提取各个分布场地自治系统的数据, 并对各种数据具有高度的控制权。该方式的缺点是交互性与实时性较差。 ( 4 ) 中间数据方式:各个分布场地将自己的数据按照一定的通用格式提供出 来,实现透明的数据交互。与数据仓库方式相比,该方式较好地保留了各个分布场 地的自治权,同时保证了一定的实时性。 以x m l 作为中间数据的数据交换技术克服了传统的数据交换系统的缺点,具 有如下优点: ( 1 ) 使用了v f i 。规范,使平台具有良好的通用性、扩展性; ( 2 ) 用j a v a 作为开发工具,具有良好的可移植性; ( 3 ) 不影响参与数据交换的各个系统的自治性; ( 4 ) 满足一定的实时性要求。 目前,主流数据库厂商都在把对x m l 的支持结合到其产品中。m m 提供了x m l e x t e n d e rf o rd b 2 ,以允许用户在d b 2 中存储x m l 文件,并提供一些新功能协助用 第2 页 南京理工大学硕士学位论文基于x m l 的数据建模及敷据交换技术的研究 户处理x m l 文件;m i c r o s o f t 对s o l s e r v e r 进行了x m l 扩充,加入了x m l 输出选 项;o r a c l e 也拥有功能强大的x m l 索引引擎。 国内外越来越多的研究致力于开发以x m l 作为中间格式的数据交换平台和交 换模型。近几年来,国内方正、中软、启宏科技、南通等软件公司在数据交换平台 方面都已经快速发展。文献显示,很多研究人员已经提出了一些基于x m l 的分布 式异构数据源的集成方法及应用 2 0 1 1 2 1 1 1 3 3 1 1 3 6 1 。 而目前关于x m l 的建模研究主要分为以下三类:x m l 文档逻辑建模,x m l 文档概念建模、x m l 到关系数据库模式的转换等。其中关于x m l 文档的逻辑建模, 已有了一些成果及工具支持。目前主要使用x m ls c h e m a 和d t d 等模式语言来描 述x m l 的逻辑结构,以提供规范的语法约束:也出现了一些可视化的x m l 逻辑 建模工具,如a l t o v a 公司的x m ls p y ,s y b a s e 公司p o w e rd e s i g n e r1 1 0 中的x m l m o d e l 。但是,仅有x m l s p y 这样的图是不够的,它仍然陷于具体实现,我们需要 从更高的层次来抽象地表达x m l 文档的结构。 目前相关的研究主要集中在x m l s c h e m a d t d 与r d b 之间的模式转换和映射 算法,这是逻辑或物理存储模式的转换,其重点和难点是如何减少语义的丢损。为 了方便模式转换或映射,也有少量研究致力于工具的开发,m mc l i o 是这方面的典 型代表。 。 ! 在从更高的层次来抽象地表达) m 几文档的结构这个领域,还远没有被充分地 研究。国内在这一课题上的研究较少,主要分散在各大院校和研究所,缺乏相应的 组织;而且研究的内容集中在x m l 模式和关系模式之间的相互转换;对于上层的 抽象的模型,仍有大量的问题值得进一步研究。 1 3 论文主要研究内容 本论文的主要研究内容: ( 1 ) 较深入研究了x m l 及其相关技术以及消息中间件w e b s p h e r e m q 的工作 原理和功能特点等; ( 2 ) 阐述了公文分级数据交换的拓扑结构;: 一( 3 ) 介绍了数据交换平台及其组成子系统的系统结构和功能组件: ( 4 ) 详细介绍了公文交换系统的设计和关键功能的实现; ( 5 ) 对系统中交换的公文数据的x m l s c h e m a 的建模进行了较深入的探讨。 总之,本文以国家电子政务工程为背景,讨论了一个采用x m l 作为数据交换 格式,利用消息中间件w e b s p h e r em q 异步传输数据的公文交换系统,并设计和实 现了基于x m l 的公文数据交换。同时,论文还对x m ls c h e m a 的建模方法进行了 探讨,并实现了对公文交换中的x m l 文档的s c h e m a 进行建模。 第3 页 南京理工大学硕士学位论文基于x m l 的数据建模及数据交换技术的研究 2 儿及其相关技术 2 1 】眦技术简介 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 组织于1 9 9 8 年 2 月制定的一种通用语言规范,是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 技术自出现以来,发展非常迅速,在许多领域内得到 广泛的支持,有着广阔的应用前景。 x m i _ , 是一种界定文本数据的标准方法,它允许用户创建用来描述数据信息的 标记,并可以通过d t d ( 文档类型定义) 或者x m ls c h e m a 来进行有效性的验证。 x m l 和h t m l 不同,它并没有在可视化的表现形式方面下功夫,而更注重数据本 身。) m 几文档具有高度结构化的特点,结构化层次中的描述标记表达了数据本身 的信息,所以x m l 文档集合了文本文档和纯数据文档的优点,成为统一数据及其 意义的载体。x m l 给出了一个不与平台相关的规范,为不兼容的各种平台提供了 一种有效的中间体,减少了移植的麻烦。 x m l 的主要特性和优点可以从以下几方面说明: x m l 是一种元标记语言,只定义了一套元句法。即定义了用于定义其它与 特定领域有关的、语义的、结构化的标记语言的句法语言。用户可以根据需要定义 自己的标记。这种可扩展特性使得x m l 能被用于各种领域。 x m l 描述的是数据的结构和语义,而不是格式,即x m l 有效地实现了数 据与格式的分离。表示的是所描述数据的层次结构关系以及数据本身的含义,而数 据的格式,则可以通过相关的样式表进行描述。此特性使我们可以将其用于各种结 构信息的表示。同时,对于同一x m l 文档内容,通过使用不同的样式表,可以对 它进行不同格式的输出。 咀。使用独立于平台与语言的文本格式来表示数据,这便使得它成为在不 同的应用间交换数据的理想格式。人们可以利用任何理解x m l 的工具来处理数据。 由于x m l 具有的诸多特点,现正被广泛应用于三个主要领域:简单的数据表 示与交换、面向消息的计算以及和用户界面相关、表示相关的应用。 表2 1 1 列出了) m 几与h t m l 标记语言的主要区别: 第5 页 x m l 及其相关技术硕士论文 比较内容m m l) 0 d l 可扩展性不具有扩展性 元标记语言,可用于定义新的置标语 言 功能 主要用于描述信息的显示风格用于描述信息的内容与结构 语法要求 不要求标记的嵌套,酉己对等,不要求标严格要求嵌套,配对,和遵循d t d 或 记之间具有一定的顺序 s c h e m a 定义 可读性及可维护性难于阅读维护 结构清晰,便于阅读,维护 数据和现实的关系 内容描述与显示方式整合为一体内容描述与显示方式相分离 保值性不具有保值性具有保值性 编辑及浏览工具 已有大量的编辑和浏览工具编辑和浏览工具尚不成熟 2 2x i l 的有效性约束 x m l 文档具有格式良好和有效性两种约束。格式良好是指x m l 格式严格满足 x m l 标准中对于格式的规定,此约束适合于所有的x m l 文档。格式良好是对x m l 文件的基本要求,它使得x m l 文件结构清晰、完整,便于处理程序对其进行解析。 但有时x m l 的格式良好性约束还不能满足我们的要求,当在一个较大的范围内使 用x m l 文档数据格式进行数据交换、处理时,对x m l 数据的语义约束就显得非 常重要,当x m l 文档一定的语义约束时则称该x m l 文档为有效的x m l 文档。对 x m l 文档进行有效性约束的好处在于:受同一有效性约束规则约束的x m l 文档具 有统一性。这样,进一步增强了x m l 文档的可理解性与可交换性。同时,对x m l 文档的编程处理也更加方便有效,能极大地提高系统的开放性与向后兼容性。 目前常用的模式语言主要有以下几种:d t d ,x m ls c h e m a ,r e l e x - n g , s c h e m a t r o n 等,它们都能用于x m l 文档的定义和验证。下面简要介绍三种主要的 文档定义语言:d t d ,x m l s c h e m a 和r e l e x - n g 。 ( 1 ) 文档类型定义( d o c u m e n t t y p e d e f i n i t i o n ,d t d ) d t d 是用来规范x m l 文档的格式定义它提供了用于描述,约束文档逻辑结构 的语法,并且依据物理实体组成逻辑文档。元素,属性声明用于前者,而实体,符号 声明则用来完成后者。 d t d 允许定义x m l 实例中的基本结构,包括:元素类型中子元素的结构和顺 序、元素类型的属性、属性的基本数据类型、属性的默认值和固定值、代表其他数 据格式的符号等。 d t d 有许多优点,它相对简单,语法紧凑,而且广泛地为x m l 实现者所理解。 第6 页 南京理工大学硕士学位论文 基于咀。的数据建模及数据交换技术的研究 如果设计得当,它可以是高度模块化的、灵活的和可扩展的 ( 2 ) x m l s c h e m a ( ) m 几模式) x m ls c h e m a 也是一个用来验证x m l 文件的验证语法。根据w 3 c 的介绍, ) 也s c h e m a 表达了共享的词汇表,并允许机器执行人们事先制定好的规则。x m l s c h e m a 能定义札文档的结构,内容和语义。 x m ls c h e m a 是用一套预先定义的x m l 元素和属性创建的,这些元素和属性 定义了文档的结构和内容模式。x m l s c h e m a 具有强制文档内容和结构的能力,它 是x m l 世界中的一种重要而且功能强大的新标准,用来定义x m l 文档应遵循的 规则。 它的主要功能包括:定义沮。中的元素、属性、子元素的顺序、元素是否可 以包含文本、元素和属性的数据类型以及它们的默认值等。 订ls c h e m a 也是x m l 词汇表组件和规则的描述,它在表达词汇表概念上以 更高的精度细化了d t d ,同时也做了较大改进,如:它使用了完全不同于d t d 的 语法;它允许我们借用其它的模式,而且解决了命名空间的问题;提供了元素和属 性的数据类型。x m ls c h e m a 实际上对于描述词汇表问题是更好的方法。 x m ls c h e m a 的主要特点如下: x m ls c h e m a 支持丰富的数据类型。x m l s c h e m a 规范提供丰富的数据类 型来描述元素或属性其中不仅包括一些内嵌的数据类型,例如:s t r i n g ,i n t e g e r , b o o l e a n ,t i m e ,d a t e 等,规范还提供了定义新类型的能力,如c o m p l e x t y p e 和 s i m p l e t y p e 。开发者可以利用内嵌的数据类型和用户定义的数据类型,有效地定义 和限制x m l 文档的属性和元素值。有了更多数据类型的支持,s c h e m a 能够更准确 的描述文档的内容,更容易与数据库中的数据协同工作。 继承和复用。支持继承是x m l s c h e m a 的另特点。开发者可以从已经存 在的s c h e m a 中获得某些类型而构造新的s c h e m a 。同时,x m ls c h e m a 能将一个 s c h e m a 分成单独的组件,剩于引用已定义的组件。在定义新的类型时,可直接使用 已有的类型,也可以利用命名空间从别的s c h e m a 中获取类型。继承性帮助开发者 避免了每次创建s c h e m a 都从零开始,极大地提高了效率。 ) 0 咀,s c h e m a 是v 几文档。由于x m l s c h e m a 也是) m i l 文档,我们就可 以在x m l 编辑器中编辑x m l s c h e m a 文档,可以用咀。解析器分析x m l s c h e m a 的正确性。它可与x m l 文档等同处理,不像d t d 那样另起一套。 支持命名空间。x m l s c h e m a 与x m l n a m e s p a c e 紧密联系,使得在一个命 名空间中创建元素和属性非常容易。 ( 3 ) r 耻x - n g 砌丑e c x n g 由t r e x 和r e l a x 组成,它提供了许多与w 3 c 模式语言等同 第7 页 x m l 及其相关技术硕士论文 的功能,但是它又简单的多。它引入了用于无序集合的模式,d t d 和w 3 cx m l s c h e m a 都不支持这种模式。砌珊巳) ( - n g 以相同的方式来处理元素和属性。 r e l e x - n g 专门用于x m l 文档的有效性验证,处理器不从模式向应用程序 传递文档和应用程序信息。它没有内置的数据类型,而是使用其它的数据类型库( 例 如) 。m 。s c h e m a 的类型库) 。 r e l a x - - n g 有一些x m l s c h e m a 目前没有的便捷特性,如:它在元素内容模 型中包括属性;它允许内容模型依赖于属性值;它对内容模型的确定性不作要求等。 x m l s c h e m a 、d t d 和r e l e x - n g 都是用来建立) 。m 。规范的工具。其中,d t d 是一种比较成熟的模型,拥有广泛的工具支持,在实际应用中被大量使用。但是, d t d 不能完全满足x m l 处理的要求。它采用独有的非x m l 语法,只能进行有限 的扩展,扩展效果也不理想;对命名空间支持不够,当问题复杂时不太容易定义元 素;缺乏对文档结构、属性、数据类型等约束的足够描述;提供非常有限的数据类 型,仅适用于属性。d t d 有扩展的机制,但这个机制太复杂而且很脆弱。d t d 扩展 的机制的最大毛病在于不能清楚地表达相互之间的关系,两个有着完全相同内容的 元素怎么做也不能互相联系。同样,一组被定义为参数实体( p a r a m e t e re n t i t y ) 的属 性( a t t r i b u t e ) 之间也不能建立任何联系。 x m ls c h e m a 弥补了d t d 的不足,能更清晰地表现信息之间的内容,从而逐 渐成为x m l 的标准模式,并在很多应用中取代了d t d 。相对于d t d 而言,使用 ) 几s c h e m a 定义文档结构有以下好处: 一致性:利用x m l 的基本语法定义x m l 的文件结构,使x m l 达到了从 内到外的完美统一; 扩展性:引入了数据类型、命名空间,对d t d 进行了扩展: 互换性:可自行设计适合的s c h e m a ,并与他人交换,利用s c h e m a 书写咀。 文档,验证文档的合法性; 规范性:s c h e m a 提供了一套完整的机制,以约束x m l 文档中标记的作用。 x m l s c h e m a 规范非常复杂,一般很少全部用到。r e l e x - n g 与x m l d t d 相 比较,它使用x m l 语法表现s c h e m a ,支持数据类型,将属性结合到内容模型中, 支持x m l 命名空间,支持无序内容。与x m ls c h e m a 。相比较,它定义简明, r e l e x - n g 的规范建议书更易读。但不足之处就是r e l e x - n g 没有继承功能,因 为专门用于有效性验证,它不给处理器提供应用程序信息。另外,目前对r e l e x - n g 紧凑语法的工具支持也没有对x m l 语法的工具支持全面。 通过以上分析,基于x m ls c h e m a 在数据类型、复杂数据结构定义、语法直观 性方面有不可替代的优势,本文选用x m ls c h e m a 作为模式语言。 第8 页 南京理工大学硕士学位论文基于枷l 的数据建模及数据交换技术的研究 2 3x i i l 应用程序接口咖和s 旺 x m l 数据实际上就是纯文本数据,使用x 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 ) 与s a x ( s i m p l e a p i s f o r x m l ) 是两种常用的x m l 应用程序接口标准。其中,d o m 是w 3 c 组织制定的应用程序官方接口标准,也即文档对象模型。而s a x 是 x m l _ d e v 邮件列表中的成员根据应用的需求制定的一套民间应用程序接口标准。 ( 1 jd o m 接口 d o m 接1 :3 机制提供一种x m l 文档随机访问机制。在应用程序中,基于d o m 的x m l 分析器将一个v 儿文档转换为一种分层对象模型的集合,并组织成树形 结构( 通常称d o m 树) 在这棵文档对象树中,文档中所有的内容都是用节点来表 示的。一个节点又可以包含其它节点,节点本身还可能包含一些信息,例如节点的 名字、节点值、节点类型等。节点对象模型类型包含文档根、元素、注释、处理命 令、文档类型、命名空间等多种对象模型。在d o m 中,对象模型要实现: 表示、操作文档的接口 接口的行为和属性 接口之间的关系以及互操作 也就是说,文档对象模型不仅描述了节点的内容与属性,还定义了用来操作节 点的方法以及模型中对象之间的关系,从而提供一种随机的访问机制。应用程序正 是通过对这个对象模型的操作,来实现对x m l 文档数据的操作。应用程序可以在 任何时候访问d l 文档中的任何一部分数据。d o m 树示意图如图2 3 1 所示: 图2 3 1d o m 树结构示意图 第9 页 x m l 及其相关技术硕士论文 ( 2 ) $ a x 接口 与d o m 不同,s a x 提供的访问模式是一种顺序模式,这是一种快速读写d l 数据的方式。当使用s a x 分析器对x m l 文档进行分析时,会触发一系列事件,并 激活相应的事件处理函数,应用程序通过这些事件处理函数实现对x m l 文档的访 问,因而$ a x 接口也被称作事件驱动接口。它的基本原理是由接口的用户提供符 合定义的处理器,x m l 分析时遇到特定的事件,就去调用处理器中特定事件的处 理函数。一般s a x 接口都是用j a v a 实现的,但事实上c + + 也可以用于s a x 接口, 只是c + + 的分析器比较少。之所以叫做“简单”应用程序接口,是因为这个接口确 实非常简单,绝大多数事情分析器都没有做,需要应用程序自己去实现,因而开发 者的任务也相应重一些。 s a x 分析器的大体构成框架如图2 3 2 所示: 图2 1 3 2s a x 分析器框架图 d o m 和s a x 在应用程序开发过程中所处地位如图2 3 3 所示。从图可以看出, 应用程序不是直接对x m l 文档进行操作的,而是首先由x m l 分析器对x m l 文档 进行分析,然后,应用程序通过x m l 分析器所提供的d o m 接口或s a x 接口对分 析结果进行操作,从而间接地实现了对x m l 文档的访问。 l 一竺竺! 卜 瘩 l 蓄 磊 老 擘 丫蕊丫 器 ( 3 ) 比较和选择 第l o 页 图2 3 3d o m 和$ a x 的应用体系 南京理工大学硕士学位论文基于x m l 的数据建模及数据交换技术的研究 x m l 文档的两种通用接口d o m 与s a x 提供了两种完全不同的编程模型,各 具优缺点,分别适用于使用在不同的应用场合。因此,对于开发一个基于x m l 技 术的应用系统,编程接1 :3 的选择是很重要的。下面对d o m 与s a x 的优缺点进行分 析: d o m 树所提供的随机访问方式给应用程序的开发带来了很大的灵活性,它可 以任意地控制整个x m l 文档中的内容。然而,由于d o m 分析器把整个x m l 文档 转化为d o m 树放在了内存中,因此,当文档比较大或者结构比较复杂时,对内存 的需求就比较高。而且,对于结构复杂的数的遍历也是一项耗时的操作。所以,d o m 分析器对机器性能的要求比较高。不过,由于d o m 分析器所采用的树结构的思想 与x m l 文档的结构相吻合,同时鉴于随机访问所带来的方便,在文档不大,且需 要以一种随机灵活的机制对文档进行访问时,d o m 是一种比较好的选择。 而s a x 是一种事件模型,s a x 分析器在对x m l 文档进行分析时,触发了一 系列的事件,由于事件触发本身是有时序性的,因此,s a x 提供的是一种顺序访问 机制,对于已经分析过的部分,不能再倒回去重新处理。s a x 之所以被叫做“简单” 应用程序接口,是因为s a x 分析器只做了一些简单的工作,大部分工作还要由应 用程序自己去傲。也就是说,s a x 分析器在实现时,它只是顺序地检查x m l 文档 中的字节流,判断当前字节是x m l 语法中的哪一部分和是否符合语法,然后再触 发相应的事件,而事件处理函数本身则要由应用程序自己来实现。同d o m 分析器 相比,s a x 分析器缺乏灵活性。然而,由于s a x 分析器实现简单,对内存要求比 较低,因此实现效率比较高,对于那些只需要访问x m l 文档中的数据而不对文档 进行更改的应用程序来说,s a x 分析器更为合适。 本文设计的电子公文交换系统中,x m l 主要用作电子公文正文及公文静态信 息与动态信息的数据表示,文档不大,且需要所用接口不但具有文档访问读取等功 能,同时还要有文档创建等功能。因此,本系统中,对x m l 的分析与处理,采用 d o m 接口。 2 4 儿数据交换机铜 , 。从整体上讲,x m l 定义的实际上是应用间传递数据的结构,而且这种结构的 描述不是基于二进制的、只能由程序去判读的代码,而是一种简单的、能够用通用 编辑器读取的文本。利用这种机制,程序员可以制订底层数据交换的规范,然后在 此基础上开发整个系统的各个模块,而各模块之间传输的数据将是符合既定规则的 数据。另外,x m l 还允许为特定的应用制定特殊的数据格式,并且非常适合于在 服务器与服务器之间传送结构化数据。 从应用的角度来看,x m l 信息交换大致可分为下面几种类型:数据发布、数 第1 1 页 x m l 及其相关技术 硕士论文 据集成和交易自动化 ( 1 ) 数据发布传统的信息发布方式是基于纸介质和c d r o m 的信息发布。 x m l 的出现,使得传统的数据发布技术又向前发展了一步2 0 0 0 年5 月1 8 日,一 个由数字印刷领域的知名厂家组成的所谓“按需印刷”组织( p o d i ) 发布了。个性 化置标语言”( p e r s o n a l i z e dp r i n tm a r k u pl a n g u a g e ,p p m l ) 规范这是一种基于 x m l 的技术规范,主要用于带有可再利用内容文档的快速印刷。可以说,有了) m l , 跨媒体、多介质的数据发布更是顺水推舟。 ( 2 ) 数据集成。 如果说数据发布涉及到的是服务器浏览器形式的数据交换,那么,数据集 成则是一种服务器服务器之间的数据交换。 现实世界中,一个整体系统的各个子系统可能是由不同的软件公司开发的,软 件可能采用不同的技术、运行于不同的平台。作为一个整体,需要各个子系统相互 配合,于是应用系统间的数据交换接口就成为困扰信息主管的一大难题。x m l 是 解决这一问题的强大法宝,在这种情况下,x m l 将起到粘合剂的作用,通过它, 各业务模块可以有机结合,数据交换畅通无阻,从整体达到理顺业务操作的目的。 同所有软件开发规范一样,实现数据集成也必须分步骤、有条理地进行: 首先,要对整个业务进行调整,摈弃不合理部分。基于x m l 的数据集成不仅 仅是要进行系统开发,对旧有系统的合理改造也是很重要的。 然后,对业务模式归纳总结并从中抽象出数据交换模型,当然是基于x m l 的 数据交换模型,也就是说制定数据交换的d t d 或s c h e m a 。这是最基本的,但同时 也是最为困难的一步。x m l 消息流要符合企业的信息流。x m l 不是用来代替对象 或者开发软件的新方法,它应该是一种表达层次结构信息并且在不同的应用系统间 传输这种信息的有效途径。 最后,结合制定好的x m l 数据交换模型,运用x m ld o m 和s a x 等技术编 写应用程序,也可直接在原系统上进行改造。 除了企业内部的) m 儿数据集成,不同企业间的数据交换也是x m l 的用武之 地。电子商务交易平台之间的x m lb 2 b 信息交换就是很好的例证。x m l 技术的融 入,使得企业闻的交易不再局限于专网和特定的应用,而是可以在i n t e m e t 上的不 同系统问交换信息,不仅大大降低了成本,而且提高了数据的可持续性,从而保护 了既有投资。 ( 3 ) 交易自动化 x m l 也有助于提高应用的自动化程度。遵循共同的标准,使得应用程序开发 商开发出具有一定自动处理能力的代理程序,从而提高工作效率。 第1 2 页 南京理工大学硕士学位论文基于x m l 的数据建模及数据交换技术的研究 2 5l l l l 建模技术 随着x m l 技术被越来越广泛地应用于数据交换和存储领域,x m l 已经从简单 的中间转换数据格式演变成主要的数据格式。不管是在互联网上还是在企业级应用 中,许多应用开始在x m l 格式基础上进行处理。这使得存储x m l 的需求不断增 加。x m l 的大量应用和长期保存的要求,需要我们引入数据库的手段来对它进行 管理。而如何设计更合理的x m l 结构就成了一个值得研究的课题,因为x m l 文 档与传统数据库中的数据有很大的不同,它使用的是一种全新的数据模型:半结构 化数据模型。 2 5 1x l ls e l a e m 的主要构成 本文主要研究对x m l s c h e m a 建模,首先来介绍一下x m l s c h e m a 的主要构成。 x m l s c h e m a 是一个全面的有效性约束机制,它可以定义d t d 所无法定义的规则, 使x m l 处理器更好地进行有效性检验。为了可以更好的展示x m ls c h e m a 的主要 构成,我们将它的组件罗列于表2 5 1 中 表2 5 1x m l s c h e m a 组件与组成模式 组件可以命名可以不命名可以是全局的可以是局部的 元素是,否是是 属性是否是是 简单类型是是 是是 复杂类型是是 是 是 符号是否 是 否 命名模型组是否 是 否 属性组是否 是 否 一致性约束 是 否否 是 x m l s c h e m a 内置了多种常用数据类型,如l o n g ,i n t ,s h o f t ,d o u b l e 等数据类 型。但是,x m l s c h e m a 数据类型的真正灵活性来自于其对用户自定义类型的支持。 ) m 儿s c h e m a 可以让你把) 几文档中的元素声明为特定的类型。) o d ls c h e m a 提 供两种方式来实现自定义数据类型。 , ( 1 ) 简单类型定义( s i m p l e t y p e ) ,即在x m ls c h e m a 内置的数据类型基础上 或在其他由x m ls c h e m a 内置的数据类型继承或定义所得到的简单数据类型基础 上,通过r e s t r i c t i o n ,l i s t 或者u n i o n 方式定义新的数据类型。 ( 2 ) 复杂类型定义( c o m p l e x q 3 q ) e ) ,该方法提供了一种功能强大的复杂数据 类型定义机制,可以实现包括结构描述在内的复杂的数据类型。 第1 3 页 x m l 及其相关技术 硕士论文 这两种数据类型之间的主要区别是:复杂类型可以像数据一样包含其他元素, 而简单类型则只能够包含数据。简单类型给予了x m l s c h e m a 低级类型的检查能力。 复杂类型由o o m p l e x t y p e 元素定义,它通常至少拥有一个n a m e 属性,用在声明其 他元素时索引类型,除非它位于某一元素之内。所有的复杂类型都会包含一个内容 定义类型,其主要功能是定义类型包含的内容模式。 有了类型,x m ls c h e m a 就具备了更好的可扩展性。通过定义

温馨提示

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

评论

0/150

提交评论