




已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml和web+services异构数据转换的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于x m l 和w e bs e r v ic e s 异构数据转换的设计与实现 摘要 随着i n t e r n e t 技术和通信技术的快速发展,政务办公系统和电子商务系统在 政府和企业中广泛应用, 基于现代信息技术和通信技术的“电子政府”应运而 生。政府机构使用新的政府办公系统为社会提供高效的管理和服务职能。这些 系统在长时间的使用中存储了大量的宝贵的数据资料,如何将旧的系统中的数 据转换到新的系统中,并且解决各个应用系统中出现的“信息孤岛”问题是本文 研究的重点。本文为了解决上述问题研究和设计了基于x m l 和w e bs e r v i c e s 异 构数据转换系统。本系统为政府和企业的数据转换、数据共享以及数据的透明 访问提供解决方案。 该数据转换系统利用x m l 的简单、自我描述性和平台无关性等优点,以 x m l 文档作为中间过渡形式,实现数据由源数据库经由x m l 数据文档到目的 数据库的转换。x m ls c h e m a 可以描述x m l 文档的结构,同时x m ls c h e m a 还 拥有丰富的基本数据类型和派生数据类型、自定义复杂数据类型的特点。本文 使用x m ls c h e m a 描述数据库的关系模式和x m l 数据文档的结构,规范和约 束x m l 数据文档的有效性和合法性,为数据库关系模式和x m l 数据文档的结 构之间建立映射。数据转换是从数据库到x m l 文档和从x m l 文档到数据库的 双向转换。数据转换系统首先根据x m l 数据文档的x m l 模式生成数据库关系 模式,然后根据生成的关系模式解析并提取x m l 数据文档中的数据,并将这 些数据存储到相应的数据表中。 简单对象访问协议( s o a p ) 是一种轻量级的访问协议,w s d l 是用来描述 w e b 服务以及如何对它们进行访问的协议,这两种协议都是基于x m l 语言 的,符合x m l 语言的规范,具有x m l 语言的特点和优点。本文使用s o a p 和 w s d l 协议将数据转换系统包装和描述成w e b 服务的形式,并将它们部署和发 布出去,供服务请求者在应用程序中调用和使用这些功能函数和接口。 本文利用x m l 和w e bs e r v i c e s 技术,通过查阅数据转换的研究背景资 料,研究并设计了异构数据转换模型,实现了异构数据库之间的数据转换,并 以w e b 服务的形式部署到服务器上,同时还将其应用到工程项目管理平台中。 关键字:x m l ,x m ls c h e m a ,s o a p ,w s d l ,u d d i ,映射 d e s i g na n di m p l e m e n t a t i o no fh e t e r o g e n e o u sd a t a e x c h a n g eb a s e do nx m l a n dw e bs e r v i c e s a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e m e tt e c h n o l o g ya n dc o m m u n i c a t i o n t e c h n o l o g y ,t h eg o v e r n m e n to f f i c es y s t e m sa n de - c o m m e r c es y s t e mw e r ew i d e l yu s e d b yg o v e r n m e n ta n de n t e r p r i s e ,b a s e d0 nm o d e r ni n f o r m a t i o na n dc o m m u n i c a t i o n t e c h n o l o g y ,t h e e l e c t r o n i cg o v e r n m e n t “c a m ei n t ob e i n g g o v e r n m e n ta g e n c i e su s e t h en e ws y s t e mo fg o v e r n m e n to f f i c et o p r o v i d e t h e s o c i e t y 、析t he f f i c i e n t m a n a g e m e n ta n ds e r v i c ef u n c t i o n s i nt h el o n gt e r m ,t h e s es y s t e m ss t o r a g eo fal a r g p a m o u n to fv a l u a b l ed a t ao n ,h o wt ou s et h ed a t ae x c h a n g es y s t e mt ot r a n s f o r mt h ed a t a f r o mt h eo l ds y s t e mt ot h en e w s y s t e m ,a n dt os o l v et h e ”i n f o r m a t i o ni s l a n d ”p r o b l e m i sf o c u si nt h i sp a p e r i nt h i sp a p e r ,i no r d e rt os o l v et h e s ep r o b l e m s ,w er e s e a r c ha n d d e s i g nt h es y s t e mo fh e t e r o g e n e o u sd a t ae x c h a n g eb a s e e do nx m l a n dw e bs e r v i c e s t h es y s t e mp r o v i d e st h es o l u t i o n st ot h eg o v e r n m e n ta n de n t e r p r i s e ,t h es o l u t i o n sa r e a b o u td a t at r a n s f o r m ,d a t as h a r i n ga n dd a t at r a n s p a r e n ta c c e s s w i t ht h e s i m p l e ,s e l f - d e s c r i p t i v e a n d p l a t f o r m - i n d e p e n d e n t f e a t u r e sa n d a d v a n t a g e so fx m l ,i nt h i sp a p e r ,w eu s et h ex m ld a t ad o c u m e n ta st h em i d d l e l a y e r ,t ot r a n s f o r md a t af r o mt h es o u r c ed a t a b a s et ot h ed e s t i n a t i o nd a t a b a s eb yt h e x m ld a t ad o c u m e n t x m ls c h e m ac a nd e s c r i p t i o nt h es t r u c t u r eo ft h ex m ld a t a d o c u m e n t ,w h i l ex m l s c h e m aa l s oh a saw e a l t ho fb a s i cd a t at y p e sa n dd e r i v e dd a t a t y p e s ,s i n c et h ed e f i n i t i o no ft h ec h a r a c t e r i s t i c so fc o m p l e xd a t at y p e s i nt h i sp a p e r , t h eu s eo fx m ls c h e m at od e s c r i b et h er e l a t i o n s h i pb e t w e e nt h ed a t a b a s em o d e la n d t h es t r u c t u r eo fx m ld a t af i l e s ,x m ld a t a b i n d i n gn o r m sa n dd o c u m e n tt h e e f f e c t i v e n e s sa n dl e g i t i m a c yo ft h er e l a t i o n s h i pb e t w e e nt h ed a t a b a s em o d e la n dt h e s t r u c t u r eo fx m ld a t ad o c u m e n tm a p p i n gb e t w e e n d a t ac o n v e r s i o nf r o mt h e d a t a b a s et ox m ld o c u m e n t sa n dx m ld o c u m e n t st ot h ed a t a b a s ef r o mt h et w o - w a y c o n v e r s i o n f i r s to fa l l ,t h ed a t ac o n v e r s i o ns y s t e mb a s e do nx m ld a t am o d e lt o g e n e r a t ex m ld o c u m e n t m o d e ld a t a b a s e ,a n dt h e n g e n e r a t e t h e p a t t e r no f r e l a t i o n s h i p sb a s e do na n a l y s i sa n de x t r a c t i o no fx m l d a t af i l e si nt h ed a t aa n dt h e d a t as t o r e di nt h ec o r r e s p o n d i n gd a t at a b l e s i m p l eo b j e c ta c c e s sp r o t o c o l ( s o a p ) i sal i g h t w e i g h ta c c e s sp r o t o c o l ,w s d l i su s e dt od e s c r i b ew e bs e r v i c e sa n dh o wt h e yv i s i tt h e a g r e e m e n t ,t h et w o n a g r e e m e n t s a r eb a s e do nt h ex m ll a n g u a g e ,c o r r e s p o n dw i t hx m ll a n g u a g e s p e c i f i c a t i o n ,x m ll a n g u a g ew i t ht h ec h a r a c t e r i s t i c sa n da d v a n t a g e s i nt h i sp a p e r ,t h e u s eo fs o a pa n dw s d ld a t ae x c h a n g es y s t e ma g r e e m e n tw i l ld e s c r i b et h e p a c k a g i n ga n dt h ef o r mo fw e bs e r v i c e s ,d e p l o y m e n ta n dr e l e a s et h e mo u tf o rt h e s e r v i c er e q u e s t o rt oc a l l i nt h ea p p l i c a t i o na n du s eo ft h e s ef u n c t i o n sa n di n t e r f a c e f u n c t i o n s t h r o u g hl o o ku pt h eb a c k g r o u n di n f o r m a t i o no fd a t at r a n s f o r m ,u s i n gx m l a n d w e bs e r v i c e s t e c h n o l o g y ,t h i sp a p e rr e s e a r c h a n d d e s i g nh e t e r o g e n e o u s d a t a t r a n s f o r m a t i o n m o d e l ,i m p l e m e n t i n g t h ed a t at r a n s f o r m a t i o no fh e t e r o g e n e o u s d a t a b a s e ,t h eh e t e r o g e n e o u sd a t at r a n s f o r ms y s t e mi sd e p l o y e do nt h et o m c a ts e r v e ra s t h ef o r mo f 、bs e r v i c e s k e y w o r d s :x m l ,x m ls c h e m a ,s o a p ,w s d l ,u d d i ,m a p p i n g i i i 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含未获得( 洼! 垫邀直墓丝益垩 缱趔主题的:奎拦互窒2 或其他教育机构的学位或证书使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名:球溺签字日期:矽年多月j 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本 人授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技 术信息研究所将本学位论文收录到中国学位论文全文数据库,并通过网络 向社会公众提供信息服务。( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:涨谤 导师签字: 签字日期:醇年乡月占日 签字日期:年月日 学位论文作者毕业后去向: 工作单位: 通讯地址: 电话: 邮编 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 1 绪论 1 1 研究背景 二十一世纪是信息技术占主导地位的世纪,计算机的广泛使用给社会和科 技带来了一次空前的发展。随着信息技术和通讯技术的飞速发展,特别是最近 十年来互联网技术的广泛应用,社会正日益从传统的工业社会形态转向知识经 济下的信息社会形态,在这场由技术进步所推动的社会变革中,社会生活的各 个方面都受到深刻的影响。政务为了提高办公效率,向社会更加有效地提供服 务职能,正在全面开发和使用政务办公系统。“电子政务”【l j 和“电子政府在这股 技术力量的推动下应运而生。“电子政府”就是政府机构应用现代信息技术和通 信技术,将管理和服务通过网络技术迸行集成,在互联网上实现政府组织结构 和工作流程的优化重组,超越时间和空间及部门之间的分隔限制,向社会提供 优质和全方位的、规范而透明的、符合国际水准的管理和服务。 随着新的电子政务办公系统的应用,如何将政府和企业在长期发展中积累 的宝贵数据资料由旧的系统迁移到新的电子政务办公系统中是一件非常困难的 事情。现代的电子政务系统或者企业使用的办公系统大都将数据信息存储到数 据库中,数据库技术已经成为当今信息技术的重要组成部分,是电子商务系统 和计算机应用系统的基础和核心【2 】。根据数据模型的发展,数据库由早期的网 状数据库,发展到层次型数据库,再过渡到现在流行的关系型数据库,随着面 向对象技术的发展和流行,以面向对象模型为主要特征的数据库正广泛应用到 各个领域,基于上述数据模型的数据库体系结构已经有了本质的改变【3 j 。就连 现在常用的关系型数据库也有很多种类,如:微软的s q ls e r v e r 、甲骨文的 o r a c l e 、i b m 的d b 2 还有m y s q l 、a c c e s s 等。电子商务系统或者计算机应用 系统大多采用上面的一种或几种数据库作为存储介质来存储数据,由于这些数 据库分别由不同的公司开发,其设计理念不同,存储数据的方式也不同。新旧 系统尤其是分别部署不同数据库的系统之间的数据转换是最需要解决的问题 【4 1 。 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 对异构数据转换的研究是为政府和企业的数据转换、数据共享以及数据的 透明访问提供解决方案,更好的解决各个应用系统之间出现的“信息孤岛, m i - j 题,使各中数据信息可以在系统之间互相连通。 随着w 3 c ( 万维网协会) 提出的可扩展标记语言x m l 标准规范的广泛使 用,x m l 语言的优点逐渐被大家所公认,x m l 语言具有简单、自描述性、平 台无关性等特性,由这些特点可知x m l 非常适合作为数据交换的中间件。同 时用来约束和规范x m l 文档的模式已于2 0 0 1 年由d t d ( 文档类型定义) 被x m l s c h e m a 所替代,这一革命性变革也为数据转换的研究带来了机遇。x m l s c h e m a 本身就是一个x m l 文档,符合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 文档之间建立映射也成为了可能。 w e b 服务是一组协议和规范的集合,协议栈由x m l 、s o a p 、w s d l 、 u d d i 等组成,它使用s o a p 协议进行通信,使用w s d l 协议描述w e b 服务, 使用u d d i 协议查找和发现w e b 服务。w e b 服务由服务提供者、服务请求者和 服务注册中心三种角色组成,服务请求者负责开发实现某种功能的a p i 接口, 然后用w s d l 描述功能接口的特征并将其发布到服务注册中心供服务请求者调 用。w e b 服务通过s o a p 协议进行三种角色间的通信,简单对象访问协议是一 种轻量级的通信协议,它使用x m l 语言定制其格式,在通信传输上采用基于 h r r p 的超文本传输协议。由于h t t p 协议开放8 0 端口,能够无障碍的穿透防 火墙,使得访问任何一台与i n t e m e t 连接的计算机成为了可能。所以,为了让互 联网上的所有用户能够调用数据转换模块,本文打算将实现的数据转换功能函 数封装并打包发布到服务注册中心供大家调用。 1 2 课题研究的内容 随着x m l 和w e bs e r v i c e s 技术的成熟和完善,它们为数据转换的研究注入 了青春和活力。x m l 具有自我描述的特性,能够让用户自己定义标签。x m l 语言为数据转换提供了强大的技术支持,x m ls c h e m a 是约束和规范x m l 的模 式,拥有丰富的基本数据类型和派生数据类型,还可以允许用户定义复杂的数 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 据类型。本文使用x m ls c h e m a 定制两套模版,分别是数据库结构模式和订l 数据文档的结构模式,通过定制的模版为数据库结构和x m l 数据文档的结构 建立映射通道:而w e b 服务消除了异构d b m s ( 数据库管理系统) 系统之间的差 异,使得数据在网络上更加容易的传输【8 】。本文结合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 文档的结 构之间形成映射,同时在数据装换过程中,根据源数据库的结构文档再现和还 原目标数据库,目标数据库生成之后,使用d o m 解析器解析和读取数据文档 中的数据,将其转换到目标数据库中的过程。 本文主要研究内容有:设计符合功能需求的数据转换的体系结构;定制一 套描述数据库结构信息的模版,使用该模版保存数据库的结构信息,这些结构 信息被用来还原和再现源数据库,实现源数据库和目标数据库的映射;在从数 据库向x m l 的转换过程中,本文首先定义了一套映射规则,该映射规则描述 了数据库数据向x m l 文档转换的步骤,使用映射规则自动生成约束和规范 x m l 数据文档的x m l 模式,实现数据库结构和x m l 数据文档的映射。在从 x m l 向数据库转换过陈中,本文在基于p s c h e m a 的数据模型的基础上,设计 了x 2 d ( x m lt od a t a b a s e ) 模型映射方法;本文通过x s l t 将多个小的同源的 x m l 数据文档集成到一个大的数据文档中,使得d o m 解析器解析数据文档并 且提取数据效率更高。最后,将数据转换系统包装成w e b 服务,并且完成w e b 服务的发布和部署。 1 3 论文的组织结构 本文的工作可分为四个部分。 第一部分是绪论,综述了本文所研究的主要环境,对课题的背景、该领域 国内外研究现状,和本文所要研究和解决的问题作了简要介绍。 第二部分包括两章内容,主要介绍了本文所用的关键技术,第二章介绍了 x m l 、x m ls c h e m a 、x s l t 技术,第三章介绍了w e bs e r v i c e s 相关技术( 包括 3 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 s o a p 、w s d l 、u d d i ) 以及如何使用a x i s 2 部署并发布w e b 服务,并对上述技术进 行深入的研究。 第三部分包括两章内容。在第四章介绍了异构数据库数据转换的转换规 则、基于模型的映射规则,结构文档和数据文档的映射文件以及对应数据的具 体表示形式,同时给出了基于x m l 的异构数据转换体系结构图,并介绍了各个 模块的基本功能。在第五章给出了数据转换的具体实现,包括数据提取、数据 由数据库转为x m l 数据文档、数据由x m l 数据文档转为数据库数据的类图和部 分关键代码,并对代码进行了详细的解释,同时还包括功能模块的部署和发 布。 第四部分对整篇论文进行了总结和展望,分析目前仍然存在的问题,以及 今后需要继续进行的工作。 4 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 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 的简称【,即可扩展标记语言。x m l 是有w 3 c 的x m l 组制定的,它是由一种通用的标记语言,是特别设计的一组 定义语义标记的规则。根据这些规则,开发人员可以创建各种标记来定义文档 的结构和数据。 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 的缩写,即标准通用标记 语言,它是国际上定义电子文件结构和内容描述的标准。s g m l 是一种元语 言,用来定义其它标记语言的通用规则。s g m l 具有描述任何复杂数据结构的 功能,还有平台无关性、信息可以重复使用( 同样的数据文档使用不同的可扩 展样式表单定义,产生符合要求的表示形式) 等优点,可以在异构的数据库系 统之间进行数据转换。 x m l 实际上是s g m l 的一个子集,同x m l 相比,s g m l 定义的功能很强 大,缺点是它不适用于w e b 数据描述。h t m l 即“超文本标记语言”,它是w e b 页面的基础语言,简单易用,表现力强,应用广泛,但它有一个缺点是标记相 对少,只有固定的标记集,缺少s g m l 的灵活性和适应性。x m l 结合了 s g m l 和h t m l 的优点并消除其缺点,使x m l 在w e b 应用中既能利用s g m l 的长处,又保留了h t m l 的简单性。x m l 保持了对现有的面向s g m l 的系统 的向下兼容性,与w e b 的结合也使得其更便于被访问。 x m l 规范有以下几个特点: ( 1 ) 具有自我描述性:允许文档的编写者制定基于信息描述和体现数据之间 的逻辑关系的自定义标签( t a g ) ,这就保证了用户可以通过x m l 文件中的标 签,表达较明确的语义信息。 ( 2 ) 层次清晰,便于阅读:由于x m l 的语法非常的规范,而且层次比较清 晰,可以非常的便于阅读。 ( 3 ) 可以在不同的应用中使用x m l :在x m l 规范中,可以比较灵活的定义 数据类型,复杂数据类型由组简单数据类型组成,例如:字符串、日期、数 字型数据、文本数据,多媒体数据等不同的数据格式。因此,现在x m l 已经 5 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 被应用到不同的行业,如:制造业、医药等行业,制定出基于x m l 规范的适 合这些领域的科学标准。 ( 4 ) x m l 规范的标准化和国际化;具有标准化和国际化的x m l 规范可以支 持多语言的应用,支持u n i c o d e 、i s o 等编码规范。 ( 5 ) 平台无关性和易扩展性:x m l 规范允许用户自定义标签,不同用户可 以按照各自的需求定制标签,定制的标签可以在不同的系统和平台上应用,所 以x m l 规范是跨平台的、可扩展的。 ( 6 ) 解析和操作x m l 文档的程序容易编写:鉴于x m l 语法格式的标准化 和规范化,x m l 由标记对和标记对之间的内容组成,数据非常容易被提取出 来,例如:元素、数据类型、元素属性、元素数据内容等数据对象,这些数据 对象不仅使编写程序变得非常容易,还可以在某些具体的应用领域,通过共享 和重用龇标签等的定义和描述,可以实现及其对x 池文档数据内容的解 释,使x m l 数据的自动化处理成为可能。 ( 7 ) 数据和显示的分离:x m l 文档使用d o m 解析器可以获取数据,通过可 扩展样式表单可以在浏览器中呈现出。用户可以根据自己的要求定制合适的样 式表单,从而可以改变x m l 文档数据的显示风格。 2 2x m l 模式 x m l 模式是指用来描述x m l 结构、约束等因素的语言,包括d t d 、x m l s c h e m a 、x d r 、s o x 、s c h e m a t r o n 、d s d 等,该模式提供了定义x m l 使用的 数据类型和一套标准的框架,用来描述有效数据的约束和规范性。x m l 模式主 要用于检验x m l 文档的有效性和规范性。 d t d ( 数据类型定义) 是这几年以来x m l 技术领域所使用的非常广泛的 一种模式。d t d 自身具有很多缺点,例如,d t d 没有采用标准的x m l 的语法 规则,对复杂的数据类型不支持,扩展较差,层次不清晰,不便于阅读和理 解,缺乏对文档结构、属性、数据类型等约束的足够描述等,因此它并不能完 全满足x m l 自动化处理的要求。 与d t d 相比较,x m ls c h e m a 是一套基于x m l 的语法标准,用来定义 x m l 文档的结构模式,它具有非常强的模式描述能力,可以使用复杂的数据类 6 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 型,支持简单数据类型的嵌套。以下是x m l 模式与d t d 相比所拥有的的新特 占1 2 2 1 1 2 3 1 j 、 ( 1 ) x m ls c h e m a 完全基于x m l 的语法和规范 用户只需学习一套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 编辑工具、a p i 开发包、x m l 数据解析器可以直 接的操作和应用x m ls c h e m a ,而不需要修改。 ( 2 ) x m ls c h e m a 支持命名空间、包含和引入机制 利用j a v a 语言的i m p o r t 与c 语言的i n c l u d e 机制,可以将命名空间应用到 x m ls c h e m a 模式中,这样有利于x m ls c h e m a 模式的模块化设计,增强其集 成、阅读、扩展的特性。 ( 3 ) x m ls c h e m a 模式具有丰富的数据类型 首先,x i v i ls c h e m a 定义了多种内置内部类型,它有基本数据类型和派生 数据类型两部分组成如:i d 、i d r e f 、i n t 、s h o r t 、l o n g 、b y t e 、s t r i n g 等,用户 可以在x m l 文档中直接使用。其次,x m ls c h e m a 支持用户自定义数据类型, 用户可以根据已有的基本数据类型扩展和定义复杂数据类型,通过使用 c o m p l e x t y p e 来定义复杂数据类型,使用c o m p l e x t y p e 元素的n a m e 属性值自定 义复杂数据类型的名称。 ( 4 ) 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 ls c h e m a 的某个模式组件发生变化,可采用重定 义或替换机制实现该模式组件的局部更新,而不需要更新整个x m ls c h e m a 。 ( 5 ) x m ls c h e m a 提供次序与出现次数描述机制 x m ls c h e m a 支持子元素的有序、无序、可选等多种表示机制,支持准确 详尽的元素出现次数机制。 ( 6 ) 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 文档的一部分的有效性和 合理性。 7 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 基于x m ls c h e m a 具有的上述优点,同时还能适应x m l 自动化处理的要 求,满足构建电子商务系统的需求。万维网协会已经推荐x m ls c h e m a 代替 d t d 成为定制x m l 结构的标准模式【2 4 1 。 2 3 儿解析 随着x m l 广泛的应用,在应用程序中,x m l 被用来存储大量的数据,如 何有效地解析文档并且读取文档中的数据,将变得越来越重要。尤其在需要处 理大量数据的应用程序中,寻找高效的解析技术更是重中之重,因为它能减少 程序运行的响应时间。 现在有两种比较常用的x m l 解析技术,一是d o m ( d o c u m e n to b j e c t m o d e l ) 即文档对象模型,它是以层次结构组织的节点或信息片段的集合,给文 档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式,可以动态 的添加、删除、修改、查询文档中的元素及其内容。另一个就是s a x ( s i m p l e a p if o rx m l ) 即基于x m l 的简单a p i ,s a x 是一个基于事件处理机制的“推” 模型,。s a x 解析器不用将整个文档读入内存,它只需要在读取文档时触发一 系列事件,处理器来处理这些被推来的事件,然后操作和处理文档中的数据。 2 3 1d o m 解析器 d o m 技术是一个基于树型结构的解析技术【2 6 】,解析器把x m l 文档读入内 存,然后将其解析为一棵文档结构树,x m l 的元素、属性被解析为该树的结 点。用户可以使用解析器动态的添加和删除文档中的元素和属性节点。下面的 x m l 文档s t u d e n t s x m l 描述了一个学生信息表。该x m l 文档将被解析成如图 2 1 所示的数据结构。 将学生信息保存到x m l 文档 计算机应用技术 8 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 王五 2 8 男s e x 计算机软件与理论 图2 1d o m 树型数据结构 由图2 1 可以看出,s t u d e n t s x m l 文件被d o m 解析器解析为一棵结构树, d o c u m e n t 作为整个文档的访问入口结点,在入口结点下面是文档的根节点,文 档中的s t u d e n s t 元素被解析为d o c u m e n t 根节点的子节点,然后按层次逐级处理 文档中的各个元素和属性。 d o m 解析器把整个x m l 文档解析到内存中,对于数据量非常大的文件, 耗用的大量内存,当文档中的数据成倍增加时,解析器加载文档的代价也成倍 增加,再者,数据文档被一次性解析到内存中,不能够部分解析。 2 3 2s a x 解析器 s a x 是一个用于处理x m l 的事件驱动的“推模型【2 7 1 。它不是w 3 c 标准, 但它是一个得到了广泛认可的a p i ,大多数s a g 解析器在实现的时候都遵循该 标准。s a x 解析器不像d o m 那样建立个整个文档的树型表示,而是在读取 9 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 文档时激活一系列的事件。这些事件被推给事件处理器,而事件处理器则提供 对文档内容的访问。事件处理器有三种基本类型: ( 1 ) d t d h a n d l e r ,用于解析d t d 中的数据: ( 2 ) e r r o r h a n d l e r ,用于处理低级解析错误; ( 3 ) c o n t e n t h a n d l e r ,被用来读取文档的数据。 图2 - 2 显示了s a x 解析器基于事件的处理机制。s a x 解析器读入文档输入 流并将事件“推”给c o n t e n t h a n d e r 事件处理器处理。 s a x 解析 c o n t e n t h a n d e r s t a r t e l e m e n t :n a m e i s n a m e = t r u e s t u d e n t s x m i l c h a r a c t e r s “推 p r i n tn a m ej n f o e n d e l e m e n t :n a m e 事件处理 l i s n a m e = f a t s e 、 一 图2 - 2s a x 基于事件的处理方式 与d o m 相比,s a x 解析器具有更佳的性能优势。首先,它提供对x m l 文档内容的有效低级访问:其次,对内存消耗较少,无需将整个数据文档一次 性加载到内存中,对于处理很大的数据文件效率很多:最后,它是基于“推”事 件的模型,事件处理器可以有程序员来选择和操控。 s a x 的缺点是必须实现多个事件处理程序,这样才能处理所有到来的事件流, 代码量比较大,还必须要在应用程序代码中维护事件的状态,由于s a x 解析器 不能交流元数据,如d o m 对父元素子元素的支持,所以应用程序必须跟踪解 析器处在文档层次的具体位置,这样一来,文档越复杂,应用程序的逻辑处理 也就越复杂。 2 4x s l 样式转换 x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ,可扩展样式语言) 9 1 的作用是可以把 x m l 文档转换成符合用户需求的各种样式,和修饰h t m l 的c s s ( 层叠样式 表) 作用和效果一样。与其不一样的是x s l 可以将x m l 文档从一种逻辑结 构转换为另一种逻辑结构,或者转换为可以在各种浏览器中呈现的h t m l 文档 等。x s l 进行数据格式转换的重要思想是把x m l 文档看做一种树型结构,转 1 0 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 换的过程就是从源树转化为目标树的过程。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 文档转化为另外的具有不同模式的 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 m l 内容文档作为一棵源树,将其转换 为一个有样式信息的目标树。在x s l t 文档中定义了与l 文件中各个逻辑成 分相匹配的范本,以及匹配转换方式。它可以很好地描述x m l 文档向任何一 个其它格式的文档转换的方法,例如转换为另一个逻辑结构的x m l 文件、 h t m l 文档或x h t m l 文档等。 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 3w e b 服务及其部署 3 。1w e b 服务 3 1 1w e b 服务的定义 w e b 服务【z 】是一个软件系统,这个系统被设计成在整个网络中支持具有互 操作的机器与机器之间的相互作用。它有一个使用机器可处理格式( 如:w s d l ) 描述的接口,使用s o a p 消息,其它系统与w e b 服务进行相互作用。w 西服务 是用标准的、规范的x m l 概念描述的,称为w e b 服务的服务描述。这一描述 囊括了与服务交互需要的全部细节,包括消息格式( 详细描述操作) 、传输协 议和位置。该接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或 软件平台和编写服务所用的编程语言使用服务。这允许并支持基于w e b 服务的 应用程序成为松散耦合、面向组件和跨技术实现。w e b 服务履行一项特定的任 务或一组任务。w e b 服务可以单独或同其它w e b 服务一起用于实现复杂的聚集 或商业交易。w e b 服务体系结构基于三种角色( 服务提供者、服务注册中心和 服务请求者) 之间的交互。交互涉及发布、查找和绑定操作。这些角色和操作 一起作用于w e b 服务构件:w e b 服务软件模块及其描述。在典型情况下,服务 提供者托管可通过网络访问的软件模块( w e b 服务的一个实现) 。服务提供者 定义w e b 服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求 者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与 服务提供者进行绑定并调用w e b 服务实现或同它交互。服务提供者和服务请求 者角色是逻辑结构,因而服务可以表现两种特性。 3 1 2w e b 服务体系结构 w e bs e r v i c e s 体系结构是面向对象分析与设计( o o a d ) 的一种合理发 展,同时也是电子商务解决方案中,面向体系结构、设计、实现与部署而采用 的组件化的合理发展。这两种方式在复杂的大型系统中经受住了考验。和面向 对象系统一样,封装、消息传递、动态绑定、服务描述和查询也是 w e bs e r v i c e s 中的基本概念,而且,w e bs e r v i c e s 另外一个基本概念就是:所有 基于x m l 和w e bs e r v i c e s 异构数据转换的设计与实现 东西都是服务,这些服务发布一个a p i 供网络中的其他服务使用,并且封装了 实现细节。图3 1 图示了这些操作、提供这些操作的组件及它们之间的交互。 图3 1w e b 服务的体系结构 w e bs e r v i c e s 体系结构中的三种角色: 服务提供者( s e r v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 招商银行成都市温江区2025秋招数据分析师笔试题及答案
- 兴业银行烟台市福山区2025秋招英文面试题库及高分回答
- 招商银行厦门市翔安区2025秋招信息科技岗笔试题及答案
- 招商银行泉州市丰泽区2025秋招笔试创新题型专练及答案
- 2024年执法资格通关考试题库及参考答案详解(基础题)
- 基础强化公务员考试《常识》同步训练试卷(解析版)
- 民生银行成都市锦江区2025秋招信息科技岗笔试题及答案
- 招商银行长春市绿园区2025秋招结构化面试15问及话术
- 招商银行长春市绿园区2025秋招半结构化面试15问及话术
- 广发银行沈阳市沈北新区2025秋招群面案例总结模板
- 恒瑞医药简介课件
- 甲午中日战争情景剧
- 石油行业安全培训课件
- 国开电大组织行为学任务四调查报告
- 事业单位医学基础知识名词解释
- 施工现场安全监理危险源清单一览表
- GB/T 233-2000金属材料顶锻试验方法
- FZ/T 74003-2014击剑服
- 颈椎DR摄影技术-
- 功能材料概论-课件
- 一点儿有点儿课件
评论
0/150
提交评论