(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf_第1页
(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf_第2页
(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf_第3页
(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf_第4页
(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(通信与信息系统专业论文)idlxml信息模型映射的研究和实现.pdf.pdf 免费下载

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

文档简介

北京交通大学硕+ 论文y $ 7 9 9 主8 摘要 随着w e b 技术的发展,w e bs e r v i c e 逐渐成为实现企业计算的 基础,同时,基于w e bs e r v i c e 的网管系统逐渐成为电信网络管理 系统的发展趋势。另一方面,出于安全的考虑,防火墙往往阻塞了 除h t t p 以外的所有协议。x m l ( 可扩展标记语言) c o r b a ( 通用对 象请求代理体系结构) 网关由i d l w s d l 翻译器和s o a p c o r b a 网关 两部分组成,克服了将c o r b a 服务应用于i n t e r n e t 的困难。 t m n 的信息体系结构主要包括管理信息模型及管理信息交换 两方面;对应网关主要包括这二个方面:信息模型的映射和通信协 议的转换。本论文侧重于信息模型的映射,以朔黄铁路的s d h 综合 网管系统开发和四川联通传输网管系统开发为背景,重点是研制将 i d l 语法结构表述的c o r b a 接口的信息模型用x m l 描述出来,实现 i d l 到w s d l 的转换,最后通过w e bs e r v i c e s 技术集成不同的网络 管理平台,提供给用户应用单一映象存取,以实现大规模异构系统 的综合维护。论文的主要内容包括以下几点: 1 研究和比较用于综合网络管理系统的多种中间件 2 比较和分析了i d l 和w s d l 的差别,详细描述了二者之间的 每一种情况下的映射策略 3 基于编译原理,设计了i d l w s d l 翻译器的结构,并利用开 源的解析器生成工具j a v a c c 来实现i d l 的词法、语法分析及语法 树的生成,最后实现这个翻译器。 关键词:x m lc o 髓aw e bs e r v i c ei d lw s d l 能索交通戈掌硕圭溶文 a b s l r a c t w i t ht h ed e v e l o p m e n to fw e bt e c h n o l o g y ,w e bs o r v i c e b e c 鑫搬et h ee o r n e rs 专o n eo fe n 专e r p r i s ec o 秘p u t i n g 。nt h eo t 歉e r h a n d ,b e e a u s eo fs e c 娃r i t yi s s u e s ,f i r e w 嚣i l s 珏s 让a l l yb l o e ka i i p r o t o c 0 1 se x c e p tf o rh t t p t h ex m l ( e x t e n s i b l e m a r k u p 1 a n g u a g e ) c o r b a ( g 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 ) g 疆t o 鞋a yi se o 擞p o s eo f王d l ,晖d le o 粥p i l e ra n ds 潞p e 0 r 嚣矗 g a 之e 撵a y ,释囊i e ho v e r e o 臻簪st 囊蠢i s a 鑫v & 玎t 拄g e so fo x p o s 萎睦ge 禳转a s e r v i c e st oi n t e r n e t i tw a sd e s i g n e dt os e n dr e q u e s t st o g o r b ao b j e c t s8 n dg 静tr e s u l ti nt h ef o r mo fx 弑lv i 8h t p p r o t o c o l s t 重ni n f o i m l a t i o na r c h i t e c t u r em a i n l yc o n t a i n2 p a p t :癌l a n a g e 臻e n t i n f o r 瑚8 t i o n 豫o d e j8 n d糙n a g e m 磅n t i n f o r 翔a t i o ne x c h 8 n g e : c o r r e s p o n d i n gg a t e w a ye 。n t a i n2 p a r t :m a p p i n g o fi n f o r m a t i o nm o d e la n d c o n v e r t i n go f c o m m u n i c a t i o np r o t o c 0 1 p a p e rm a i n l yf o c u st oi n f o r m a t i o n m o d e l 珀8 p p i n g ,t h er e s e a r c h sb a e 靶g r o u n di st h ed e v e l o i n g 。fs 强 董u a n gr 8 il 髓ys 瓒i n 毫e g r a t i v en e 专w o r k 越8 n 鑫g es y s t e 藏鑫n 鑫 s i c h u nu n i c o mt r a n s p o r tn e t w 。r km a n a g es y s t e m t h ek e y p o i n t o fp a p e ri s : c o i i i p a r ea n da n a l y s et h ed if f e r e n tb e t w e e ni d la n d _ l j f s d l , d e $ e r i b ed e t a i l 掰a p i n gs t r 鑫t e g y 。 d e s i g na n di m p l e 鞠e n ti d 己鬻s d 己e o 嘲p il e r 。 k e y w o r d s :) ( 哦。c o r l ;aw e bs e r v i c ei e lw s d l h 北京交通人学坝小论文 第一章绪论 1 1 课题研究背景和意义 随着由于铁路通信信号系统复杂度的增加以及对自动化管理 的要求,迫切需要一种网络管理方法,以便对不同类型的电信网络、 设备和业务进行有效的管理。传统的c o r b a d c o 叭j 2 e e 等中间件技 术难以解决大规模的复杂异构的多管理域的铁路遴信信号系统豹 综合维护管理工作。基于x m l 的w e bs e r v i c e s 技术非常适合解决 铁路通信信号系统不同予系统之间互连、互通、互操作闯题 无论采翊什么样的技术,多厂商嚣境下的圈管系统必须能够支 持多种网管接口( 私有接口、s n m p 、c m i p 和c o r b a ) 的接入,从而 对多种网络设备进行管理,w e bs e r v i c e s 与c o r b a 相比是松耦台 的、异步通信豹和大颗粒度文档传输。w e bs o r v i c e s 为i n t e r n e t 上共享资料和功能提供了手段,通过w e bs e r v i c e s 包装各种待麸 享的资源,集成和协作,解决各种信息孤岛。基于x 批信息处理技 术、辩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 存取电信网络资源,实现网络资源管理和控制。系 统的结构如下图l 所示。 鲤何将c o r 酞、勰i p 和s n 醛p 不同网络管理接口以冉e bs e r v i c e s 北京交通人学碳l : 它义 形式掇供给用户是需要解决的问题。 综台维护舒l 系缆软倦自构 倒1 1 综合维护管理系统软荆:缩构 1 。2 谂文研究内容和章节安舞 本论文主要研究的怒i d l w s d l 映射器的设计和实现,分以下 几个部分实现: 1 分辑比较当口威鲻广泛浆中鄹馋技术,重点讨论了电信嘲 终鞫铁爨逶蕊廷终中纛麓广泛静e 0 r 激中润终羧零裁帮舅。主豢懋 第二寒。 2 + 讨论w e b s e r v i g e 榻关技本包括x 礼技术基础、辩e bs e r v i e e 技术基础和c 0 r b a 与w e bs e r v i c e 的比较与融合。主要是第三滞 2 北京交通人学硼i :论文 3 设计与i d l 腭邬l 编译器,包括i 跣到轷s 乩的映射策略, 编译器前端后端设计和实现,是论文的主要部分。主要是第四章。 4 结束语总结了论文的内容和应用前景。 北京交通人学坝。 j 论义 第三章中间件技术 2 1 中间件介绍 中帕j 件技术是伴随网络而发展起来的一种面向对象的技术。 中渊 孛是位于操作系统和应嗣软 牛之闰的逶爰服务,它的主要 作用楚用来屏蔽网络硬件平台的差异性和操作系统与网络协议的 昴构性,使应用软件能够比较平滑地运行于不同平台上。同时中问 佟在负载平衡、连接管理和调度方匿起了很大的 乍用,使企业级应 用的性能得到大幅提升,满足了关键业务的需求。 中问件分类有很多方式和很多种类,由底向上从中间件的层次 上来划分,可分为以下三个大的层次: a 通用型中间件:主流技术有c o r b a ,j 2 e e ,m o m 等,代表产 品:1 0 n ao r b i x ,b e aw e b l o g i c ,i b mm q s e r i e s 等 b 集戏型中间 牛:在透周型中闽伟产品之上整合了 a p p l c a t i o n ,p o r t a l ,b u s i n e s sp r o c e s s 等技术,主流技 术:w o r k f l o w ,e a i 等,代表产品:b e a | | v e b l o g i ci n t e g r a t i o n 等 c 基础型中问件主流技术:j v l ,c l r ,a c e 等,代表产品:s u n j v m ,m i c r o s o f tc l r 等 在这个大的层次划分下,中润释还可以缎化为以下一些哥孛类: 分布式对象中间件:如0 r b i x ,t a 0 j 2 e e 应用服务器:如w e b l o g i c ,j b o s s 4 鳇谢交涯太举琰l ? 论文 溺息中闽馋:懿m q s e r i e 8 ,j 磋s 事务( 交易) 中间件:如t u x e d o ,t x s e r i e s ( e i c s ) 应用集成中闯件:如b 卧w e b 己o g i ci n t e g r a t i o n 数据库中闺辞:如j 0 窝 安全中闻俘:魏东方逶懿稻n g s e e 茏线穆动中阕臀 c 王i ( 浮涮中心) 书剡串 以下图2 可以说明层次的关桊: n 集成型m 州j ? 1 i l f ! 心l :二 l 。_ f 厂- = - :_ 一 川通用型m l 删嘤。纠= i l 。j f f 一 川基础型删蛾嬲f ek := = 二 糕2 , 中潮p l 缮次荧系鞫 2 2 主流中间件的比较 豢前圭流静分奄诗舅技术平台,主要鸯酬g 熬c o r 双、s u n 豹 。 2 e e 秘麓i e r o s o f t 测盎2 0 鼹。它翻舒是支持援务器端中闽传技术 碉:发豹平惫,各自鸯囊己分匆式襁譬,即e o r b ac c m ( c o r b a e 。m p 。n e n tm 。d e l ) 披爿 、s u n 的e j b ( e n t e r p r i s ej a v a b e a n ) 技术和 d n a2 0 中的c 翎d c 铡e 翎技术。 北京交通人学坝1 j 论史 对于以上三个分布计算平台,常用的做法是从以下三个方面进 行分析: a 集成性:集成性主要反映在基础平台对应用程序互撮作能 力的支持上。它要求分布在不同机器平套和操作系统上、 采用不同的语言或翥开发工具生成的各类商业应用必须能 集成在一起,构成一个统一的企业计算框架。这一集成框 架必须建立在网络的基硪之上,并且其备对于遗髫旋用的 集成能力; b 可用性:要求所采硐的软件构件技术必须是成熟的技术,相 应兹产品也毖须是成熟的产品,在至关重要驰企业应用中 能够稳定、安全、可靠地运行。另外,出于数据库在企业 计算中扮演着重要角色,软件构件技术应能与数据库技术 紧密集成; c 可扩展性:集成框架必须是可扩展的,能够协调不同的设 计模式和实现策略,可以根据企业计算的需求进行裁剪, 并能迅速反应枣场器变化和技术的发鼹趋势。通过保涯当 前应用的可重用性,最大程度地保护企业的投资。 下图3 从集成性,可用性,可扩展性三个方面,给出了上述三 种主流分匆计算平台的比较结果。 6 北京交通人学顿小论文 c o r b a ( c c m e j bd c o m 嘉瘫筏 踌语言性能差( 限于j a v a ) 好 好 黯平台性畿 好羞( 限于 好瑚n a 0 黼) 同络道讯 好一般 好 公共靛务构 好 般 件 好 可翔往 事务处理 一般 一股 好 消息服务 一般 一般 一般 安全显务 好 一般 好 目录重务 一敲 一般 好 容措性 一黢 一般 一般 较捧开发商支 好好 持匿一般 产品威熟性 一般一般好 l 可扩纛链好一般 好 图2 2 三种主流中间纠:髂性能比较 c 0 r b ac c m 是一种集成技术,而不是编程投术。它提供了对各 种功能模块进行构件化处理并将它们捆绑在一起的黻会剂。e j b 和 c 0 r b a 在很大的程度是可以看作为互补的。这个适应w e b 应用的发 7 北京交通人学颤i :论文 展要求,许多厂商多非常重视促进e j b 和c o r b a 技术的结含,将来 刚r 可能建立在i i o p 之上。c o r b a 不只是对象请求代理o 黼,也是 一个a s 常完整的分稚式对象平台。e o r b a 可以扩展e j b 在赋络、语 言、组件边界、操作系统中的各种应用。目前许多平台都能实现 e j 8 构件和e o r b a 构件的互操作。同e j b 和c o r b a 之问相互之间方 便的互操作性相比,d o c m 和c o r b a 之间的互操作性要媚对复杂些, 虽然d c o m 和c o r b a 极其类似。d o c m 的接口指针大体相当于c o r b a 的对象引用。为了实现c o r b a 和d c o m 的互操作,o 斟g 在c o r 8 a 3 。0 f 勺规范中。加入了有关的c 0 r b a 和d c 侧互操作的实现溉范,并提供 了接口方法。 2 。3c o r b a c o r b a 分靠计算技术是删g 缎织基于众多玎放系统平台厂商提 交的分布对象互操作内容的基础上制定的公共对象请求代理体系 规范。c o r b a 分布罐。算技术,是由绝大多数分柿计算平台厂商所支 持和遵循的系统规范技术,具有模型完熬、先遴,独立于系统平台和 丌发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标 准。 e o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务 和公共设施。最底屡是对象请求代理o r b ,规定了分布对象的定义 ( 接口) 和语言映射,实现对象间的通讯和互操作,是分布对象系 统中的”软总线”;在0 r b 之上定义了缀多公共服务,可以提供诸如 并发服务、名字服务、事务( 交易) 服务、安全服务等各种各样的服 北京交通人学碳十论文 务;最上层的公共设施则定义了组件框架,提供可直接为业务对象 使用的服务,规定韭务对象有效协作所需的拚定规翔。 从体系结构上讲,c o r b a 出四部分缌成,它们分别是: 1 对象请求代理o r b 。o r b 是c o r b a 参考模型的核心,它保证 在分南式异构环境中透明地向辩象发送和接收请求,帮助实现应 用组件之间的互操作。 2 公共对象服务( c o m m o no b j e c ts e r v i c e s ) 。公共对象服务是 一些最有可能被用来支持分布式对象环境下构造应用的标准化缀 l 牛。日翦通过的公菇对象服务包括对象命名服务、事件服务、对象 生存期服务、永久对象服务、对象关系服务以及事务服务、并发控 制服务等等。 3 。公共设施( c o m m o nf 8 c i l i t i e s ) 。公共设施楚毖公共对象服 务粒度更大的可重用的构件块,它主要用来帮助构造跨多个应用域 的应用程序。典型的公共设施包括用户接口、信息管理、系统管理 和任务管理等。 4 应用对象( a p p u i c a t i o no b j e c t s ) 。应用对象是指供应商或 用户借助于o r b 、公共对象服务及公共设施而开发的特定产品它 不在c o r 熬体系结构中标准化。 c 0 r b a 规范的近期发展,增加了面向i n t e r n e t 的特性,服务质 量控南4 和c o r b a 构件模型( c o r b ac o m p o n e n tm o d e l ) 。 i n t e r n e t 集成特性包括了针对i i o p 传输的防火墙( f i r e 鞋a 1 1 ) 和可内部操作的,u r l 命名格式的命名服务( n a m i n gs e r v i c e ) 。 服务质麓控制包括能够具有质量控制的异步消息服务,一组针 砖嵌入系统的c o r 馘定义,一组关于实辩r 默与容错c o r 凇的谗 9 北京交通入学坝。 :论文 求方案。 e o r b ac c 赫( c o r 醣e o m p o n e n tm o d e l ) 技术,是在支持p o a 的 c o r b a 规范( 舨本2 3 以后) 基础上,结台e j b 当i $ 规范的基础上发 展起来的。c o r b a 构件模型,是0 m g 组织制定的一个用于丌发和配 置分稚式应用的服务器端中闯件模型规范,它主要包括如下三项内 容: 1 抽象构件模型,描述服务器端构件结构及构件间互操作的结 构: 2 构件容器结构,用以提供通用的 勾件运行和管理环境,并支 持对安全、事务、持久状念等系统服务的集成: 3 构件的配置和打包观范,c c m 使用打包技术来管理构件的二 进制、多语言版本的可执行代码鞠配置信息,井制定了构j 孛包的具 体内容和基于x m l 的文档内容标准。 c o r 8 a 波用程序的开发可分为c o r b a 服务的开发和c o r b a e l i e n t 的开发。其开发过程各可划分为羞于阶段。 c o r b a 服务的丌发过程: 1 使用i d l 以接口的形式定义服务 2 编译i 跣生成客户端s t u b 和服务器端s k e l e t o n 3 实现服务,并利用p o a ( p o r t a b l e0 b j e c ta d a p t e r ,可移 植对象适配器) 将其与s k e l e t o n 关联 4 。逶过禽名服务( n a m i n gs e r v i c e ) 或者交易照务( 羊r a d i n g s e r v i c e ) 或者其他形式发靠服务, c o r 卧c 1 i e n t 的开发过程 1 从余名服务或者其他渠道得到篷标对象的引耀 o 北京交通人学坝,i j 论文 2 。利用i 睫编译器生成的s t u b 对国标对象进行操作。 3 处理返回的响应或者异常 幽2 3c o r b a 体系结构示意幽 c o r b a 的特点是大而全,互操作性和丌放性非常好。c 。r b a 的 缺点怒庞大丽复杂,弗置技术和标准的更新相对较愎,由于其良好 的性熊,广泛应用于电信、银行、医疗等行业。 北京交通人学坝: :论立 第三章w e bs e r v i c e 相关技术 3 1x m l x 肌( 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 ( 物f l d 瓤d e l f o b c o n s o r t i 8 m ,互联网联合组织) 于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 d m a r k u p l a n g u a g e ,标准通用置标语言) 的一个简化子集。由于它将 s g 醅l 麴丰富功能与h t 她的易羽蛙结合到了w e b 的应罔中,以一 种丌放的自我描述方式定义了数据结构,在描述数据内容的闹时能 突出对结构的描述,从而体现出数据之间的关系。这样所组织的数 据对予应用程序手曩用户都是友好的、可操作豹。垂煳l 雄出以柬, 迅速得到软件丌发商的支持和程序开发人员的喜爱,盟示出强大的 生命力。 3 1 1x m l 的由来 传统的h t m l 由于自身特点的限制,不能有效地解决上述问题: 作为一种简单的表示性语言,它只能显示内容而无法表达数据内 容。嚣这一点俭恰是电予巍务、智携搜索弓 擎绣必需鲍。另辨,h 罩魅 语言不能描述矢量图形、数学公式、化学符号旃特殊对象,在数掘 旺示方面的描述能力也不尽如人意。最蘑要的是:h t m l 只是s g m l ( s t 鑫n d a r d g e n e r 8 l i z e d 醚a r k u p l a n g u 8 9 e ,标准逶用摄标语富) 豹 一个实例化的子集,可扩展性差,用户根本不能自定义有意义的置 北京交通大学坝i 堍史 标供他人使用。这一切都成为w e b 技术进步发展的障碍。 s g m l 题一种通用的文档结构描述置标语言,为语法髯标提供 了异嚣强大的工具,冠时其有极好的扩展性,疆此褒数据分类和索 引中非常有用。但s g m l 复杂度太高,不适合网络的闩常应用,加 上丌发成本高、不被主流浏览器所支持等原因,使得s g 瓶在w o b 上的推广受到阻碍。在这种情爨下,开发一种兼县s g 虬斡强大功 能、可扩展性以及h t m l 的简单性的语言势在必行。凼此诞生了x m l 语言。 脱胎于s g 她的x 扎( 可扩展标汜语言e x t e n s i b l em a r k u l a n g u a g e ) 对s g m l 和h t m l 的改造是简单的。这种简单继承了s g m l 的高度概括和h t m l 的易懂易读使之自然平滑地过渡,为工程师 和测览器的升级创造了很好的技术“接口”;阉对,这种改造的影 响是臣大的,x m l 将w e b 信息的组织结构彻底改写。x m l 。已经不 满足于h t 札的“所见即所得”,它通过上下文的数掘关联、规范 化的数据格式和灵活的自定义,蠖w e b 具备了表达网页中的元素 究竟“是”什么的能力。这种能力对于人脑柬说也许仅仅需要瞬问 逻辑的判断,但对于尚处于非智能化阶段的p c 来说。无疑是一次 “学习的革众”。 与s g m l 相关标准的体系相似,x m l 相关标准也可分为元语 言标准、基础标准、应用标准三个层次 1 元语言标准( m e t a l a n g u a g e ) :定义豹是用莱接述标准躲元 语言,在x m l 标准体系中就是删l 标准。x m l 标准在x m l 标准体系 中与s g m l 标准在s g m l 标准体系中的地位相似,是整个体系的核心, 其他x 札相关标准都是震它测定的或为其服务的。 北京交通人学碳i :论文 2 基础标准( f o u n d a t i o ns t a n d a r d s ) :这一层次的标准是为 x 滟的遂一步实用亿截定的标准,规定了采用x 乩制定标准时的一 些公用特征、方法或规则。在第一小节中讨论的标准基本都属于这 一层次。 3 应用轹准( a p p l i c 8 t i o ns t a n d a r d s ) :x 黼l 已歼始被广泛 接受,大量的应用标准,特别是针对i n t e r n e t 的应用标准,纷纷 采用x m l 进行制定。有人甚至认为,x m l 标准是i n t e r n e t 时代的 a s c i i 标准。在这个i n t e r n e t 时代,几乎所有的行业领域都与 i n t e r n e t 有关。丽这些行业一旦与i n t e r n e t 发生关系,都必然要 有其行业标准,这些标准往往是采用x m l 来制定的。当前较为重要 的应用标准囊要包括: 1 用于x m l 显示的标准:x h t m “采用x m l 对h t m l 的重新定义) 、 s v g ( 有关矢量图形的) 、s m i l ( 有关多媒体同步显示的) 、m a t h m l ( 有关数学公式符号的) ; 2 用于移动设备的标准:c c p p ( 移动设备的内褰协藏与信息 交换) 、h d m l ( 手持设备) 、w a p ( 无线应用设备) 、v o i c e x m l ( 通 过语啬进行w e b 访闯) ; 3 。用于电子商务领域的标准:m i c r o p a y m e n t s ( _ i i 3 c 肯定的) 、 b i z t a l k ( m i c r o s o f t 发起的电子商务的s c h e m a 库) 、e b x m l ( 联 合国u n c e f a e t 小组和o a s i s 共问发起的) 、p i p ( 出诸多i t 业的 匿子组成的一个标准毒匕组织r 。s e tt a n e 的应罔网络标准。) ,c x 跹、 x c b l 、t p a m l 等等: 4 其他领域的标准:t v w e b ( w e b 电视) 、o e b ( 电子图书) 、 w a i ( 方便残簿人遴行w e b 访闳) 。 4 北京交通大学坝一| :论文 3 1 2x m l 的特点 x m l 是以文本形式柬描述的一种文件格式。出于列l 是以文本 形式描述的,所以适合于各种平台环境的数掘交换。同样出于使用 文本涞描述内容,可以越过不同平台的障碍遴行正常的数据交换。 但是文本形式也会因为文字代码的不同造成不能溯读的阏题,在 这一点上x m l 有着非常完美的解决方案。 x m l 使用有意义的标记( t a g ) 在l 中文件是囱一个个称之 为元索( e l e m e n t ) 的部l 牛构成。使用标记( t a g ) 柬描述元素。出 于使用了标记的描述方法,可以保持原数据的意思和构造在互联网 上进行数据交换,进而可以保持不同系统之间数据交换的灵活性。 为什么具有上述的伐点呢? 酋先是使用标记描述数据的话,可以具体指出丌始元素( 丌始 标记) 、结泶元素( 结束标记) ,在开始和结束元素之问楚要表现 的元索数据。这就是用元素表现数据的方法。标汜可以作为子元素 x m l 中用标酩符号化的元素可以作为予元素形成数据嵌套。 x m l 的标记名和关系可以自吐 定义。可以这样认为,“x m l 是 蹋标泡攒述的语言”,两且x 扎的标汜名括汜的层次结构等都可以 由用户定义。也就是浣,根据x m l 语法可以定义用户特殊用途的标 记集合形成一个全新的符号化语言。这就是x m l “可扩充 ( e x e n s i b l e ) ”名字的来源。 可以说,x m l 是“定义语言的语言”,也即是一种元语言。由 于x 溉具有元语言的功能,所以可以成为描述电子商务数据、多媒 体演示数据、数学公式等备秘各样数据应用语言的基础语言。就像 北京交通人学坝1 论文 我们使用的自然语言,讲这种语苦的人多了就会把它当作不认识的 入之间的初次交流时的工典。同样,在特定的企业之阉或在、韭界内 归纳出一套标汜集台,即约定用一套特定的x m l 应用语言作为交流 工具是很有价值的。但是,许多x 札用户都是用业界或集团标准化 以后豹应用语言,很少有人自己翎作一套新的x 池应用语言。 3 1 3x m l 模式与x m l 格式 x m l 模式是指用来描述x m l 结构、约束等因素的语言,例如x m l s c h e m a 、x 擀ld 伯、x d r ,s o x 等等。x 弧格式则是x 眦文档本身所 具有的格式。本文以删ls c h e m a 来代表w 3 c 所推荐的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 肼d 都属于语法 模式。与概念模式不同,语法模式在对嗣一事物描述时,可以采用 不同的语法,例如在对关系模式描述时,无论是使用x m ls c h e 眦 还是x 乳d t 0 ,都既可以用元素氇可以用属性来描述关系模式的列。 模式必须以某; 申格式来表示,x m ls c h e m a 的格式与x 姚d t d 的格式有着非常明显的区别,x m ls c h e m a 事实上也是x m l 的一种 应用,也就是说x m ls c h e m a 的格式与x 札的格式是完全相同的, 两作为s g 她d t d 的一个子集,删ld t d 具有麓与涮l 格式宠全不 同的格式。这种区别会给x m ls c h e m a 的使用带来许多好处: 1 x m l 用户在使用x 弧s c h e m a 的时候,不需要为了理解x 札 s c h e m 8 丙重新学习,节省了时糍; 2 出于x m ls c h e m a 本身也是一种x m l ,所以许多的x m l 编辑 6 北京交强大学项i 论文 工其、a p i 开发包、x 忱谣法分析器可以直接的应用到x m ls c h e 腿, 而不需要修改。 3 作为x m l 的一个应用,x m ls c h e m a 理所当然的继承了x 眠 的自搂述性和可扩展性,这使褥燃ls c h e 腿更吴鸯可读性秘灵援 性。 4 出于格式完全与x 札一样,x 札s c h e m a 除了可以像x m l 样处瑷钋,也可以网它所描述的x 鹾l 文档以同样豹方式存储在一 起,方便管理。 5 x 札s c h e m a 与) ( m l 格式的一致性,使得以x m l 为数据交换 的应用系统之闻,也可以方便的进行模式交换。 6 x m l 有非常高的合法性要求,x m ld t d 对x m l 的描述,往往 也被用作验证x m l 合法性的一个基础,但是x m ld t d 本身的合法性 却缺少较好的验涯机制,必震独立处理。x m ls c h e 瓣a 则不圈,它 与) ( m l 有着同样的合法性验证机制。 3 1 4 数据类型 或许,对于许多开发人受寒讲,x 扼s c h e 隐与x 乳b t d 相比 的一个最显著的特征,就是其对数掘类型的支持了。这完全是因为 x m ld t d 提供的数据类裂只有c d a t a 、e n u m e r a t e d 、n m t o k e n 、 心t o k 雕s 等卡耱肉嚣( b u i l t i n ) 数据类型。这样少豹数据类型 通常无法满足文档的可理解性和数掘交换的需要。x m ls c h e m a 则 不同,它内簧了三十七种数据类跫,如1 0 n g 。i n t ,s h o r t ,d o u b l e 等常用的数据类型,弗通过将数据类獾表示为出v a l u es p a e e 、 7 北京交通人学硕 论文 1 e x i c a ls p a c e 和f a c e t 三部分组成的三元组而获得更大的灵活 性。但是,x 艇s c h e m a 数掘类型的奏疆灵活性来自于其黯用户自 定义类型的支持。x m ls c h e 腿提供两种方式来实现数据类型的定 义。 1 ) 簿荦类型定义( s i 限p l e t y p e ) ,帮在x 甩s c h e m a 内是的数 据类型基础上或其它出x s c h 鲫a 内鼹的数据类型继承或定义所 得到的简单的数据类型( s i m p l e t y p e ) 基础上,通过r e s t r i c t i o n , l i s t 或者u n i o n 方式定义新的数据类蒸。蜘如: 源码3 1r e s t r i c t i o n 方式的定义 厂一 j s 1 l r e e 8 t r i c t j 。n ) “9 1 8 下9 。 源码3 2l i s t 方式的定义 北京交通人学碾b 论文 派硝3 。3u n i o n 方式麴定义 2 ) 复合类型定义( c o m p l e x t y p e ) 。该方法提供了一种功能强 大的复杂数据类型定义机制,可以实现包括结构描述在内的复杂的 数据类垄。下面是一个潋c o m p l e x 羊y p e 定义实现关系模式中衷结构 的例子,设有表t c t y p e ( p s i g n ,c o u n t ) ,其中p s i 酣为c h a r 9 苎璺奎塑查兰堡:! :鎏= 塞: 数握类型,e o u n t 必n u 聃b e r 数据类型。烈毒: 源码3 4c o m p l e x t y p e 定义 不仅如j 鲍,x 眠s c h e m a 还允许元素鹣内容取空值,这一点可 馘扩大x m ls c h e m a 澍数据情况的掰述范阑,丽x 乳d t d 尉花能为 力。例如: 北京交通人学颂”l 论立 源码3 5x m ls c h e m a 元素取空值的定义 3 。1 5 命名空间 在x m l 中弓| 入命名空黼的目的是为了能够在一个x m l 文档中使 用其它x 文档中的一些具有通用性的定义( 通常是一些元素或数 据类型等的定义) ,并保证不产生语义上的冲突。x m ld t d 并不能 支持这一特性,这进一步限制了x 札d t d 的适稍范困。而x m ls c h e m a 则很好的满足了这一点。 3 1 6x m l j 应用程序接目 x m l 应用程序接口用于对x m l 文档的解析、定位和查询,目前标 准的x 她应罔程序接口有鼹个:d 测( d o c h m 。n to b j e c t d e l ,嚣 文档对象模型) 和s a x ( s i m p l ea p i sf o rx m l ,即x m l 简单应用 程序接口) 。d o m 是w 3 c 提出的接口规范,而s a x 是出x m l d e v 部 件列表中豹成员根据应用的霰求垂发定义的一套对x 魁文档进行 操作的接口规范。这两种接口规范侧重点不同,互有长短。 3 。1 6 1 文档对象模型( d o m ) x m l 实际上是将数据组织为一棵树,d 伽解析x 她的原理就是 对这棵树的对象描述。换言之,就是通过解析x m l 文档,为x m l 2 | | 一 一 | | _ 一 面 k 一 一 i 一 = 一 叭 r ;p 北京交通人学颂1 j 论文 文档在逻辑上建立一个树模型,树的节点是一个个对象。通过存取 这些对象就能存取x m l 文档的内容。d o m 的基本接口有5 个: d o c u f l l e n t 、n o d e 、n o d e l i s t 、e l e m e n t 和a t t r 3 1 。6 。2x m l 简单废用程淳接口( s a x ) s a x 提供了一秘对x 骶文档进行颇净访问的模式,这是一耱快 速读写x m l 数据的方式。当使用s a x 分析器对x m l 文档进行分析时, 会触发一系列事件,并激活响应的事件处理函数,从而完成对x m l 文档的访问,所以s a x 接列也称 乍事件驱动接弱。 s a x 接口解析x m i 。文件的基本原理为:首先获得一个实现了s a x 接口的解析器,这个解析器通常是由第三方软件公司提供的,然后 鑫己写一个符合s a x 标准的处理器类,并且把这个类注j l | 到刚雕做 好的解析器,解析x m l 文件。解析器会把x m l 文件作为一个流读出 来,然后再把文件流转换成一个事件流,这个事件流中的内容包括 “文挡开始”、“文档结束”、“元素玎始”、“元紊结束”等。 根据事件调用注册到解析器晕的处理器墨面的相应的方法,在解析 器进行x m l 文件解析的同时,应用程序可以调用解析器提供的方 法,对解拆器的行为进行控毒或获取解析器的状态。 3 1 7x m l 的不足 x m l 作为数据描述语言是非常优秀的,但是并不是所有的电子 数据都是转换翻x 乩是最套效豹。钢如x 乳的文本表现手法、标记 的符号化等会导致x m l 数据比二进制表现方法数据量增加,尤其当 北京交通人学碳l 论文 数撮爨很大时,会成为很大的闯题。也就是说,x 她的导入要根攥 具体需求,比较其优缺点,在充分发挥x m l 优点的领域进行。尽管 x m l 舆备了作为通糟数据描述语吉的优秀特征,但是x m l 不是编程 语言,滋到底它是一秘数据撼述的技拳。因此x m l 文件的显示、文 件结构的变更、应用程序的操作等x m l 相关技术也是非常熏要的。 3 。2w e bs e r v i c e 定义一: w e bs e r v i c e s 是自包含的、模块化的应用程序,它可以 在网络( 通常为w e b ) 中被描述、发布、查找以及调用。 定义二: w e bs e r v i c e s 是基于网络的、分布式的模块化组件,它 执行特定的任务,遵守具体的技术规范,这些规范使得 w e bs e r v i c e 能与其他兼容的组传进行互操作。 定义三: 所谓w e b 服务,它是指由企业发布的完成其特别商务需求的在 线应用服务,其他公司戴应用软 牛能够透过i n t e r n e t 来访问共使 用这项应用服务。( u 叻i 规范2 o ) w e b 服务是由u r i 标识的软件应用程序,其接口和绑定可以 逶过x 池构件进行定义,搂述和发现,弹e b 服务支持遥过基于因特 网的协议使用基于x m l 的消息与其他软件应用程序直接交互 这些定义告诉我们:w e b 服务可咀不需要s o a p :w e b 服务可 以不蒿要孵弹然丽,w e b 服务( 按照w 3 e 携定义) 确实需要可以 北京交通火举坝。i :论史 用来撩叠蠡服务的形式和功髓的浆种基于x 瓶的摇述枫镪( 如 w s 跣) 。肖关w e b 服务技术的这释她界范嚣静稻议的背景嘏架是 一个露巍缀务静体系缝椽( s e r v i e e o r i e n t o d8 r e h i t e e t u r e , s o a ) 因此,一个基予释x m 乙酶擒述机制( 如l 馘) 将使s o a p 实 现更复杂且开放程度鼹低 鞋曲鼹务( w e bs e r v i c e s ) 是袋援竣下三令主要技术类剐中熬 一些特定技术开发的软件缀件: l ,蕊予x m l 的描述格式( 侧如,w s d d 2 疯耀程痔消息传递拯议( 鳓麴,s 皴黔 3 一组传输协议( 例如,h t t p ) 在上述每个类别中,都有专谢( 特定于供应商或平台的) 技术和 开敖( 冬供应囊或乎袋嚣关鳃) 技零可供健焉 1 。蕊向服务的应用程序( s e r v i c e o r i e n t o da p p l i c a t i o n ) 包 括可能葺习翊w e b 服务技术( 如s o a p ) 偿可能不包括w s d l 溅箕他 基于潮0 稳缮透鲶斑弱程毒。遮群数痤援狴洚被餐 乍是类戳予 w e b 服务的,但从技术上讲它们不烧w e b 服务。 2 筒向服务的体系结构( s e r v i c e o r i e n t e da r c h i t e c t u r e , s 溅) 楚设计蠢椽建松教藕合魏软 串解决方案翁方法,这个瓣决方寨 能够黻程序化的可访问的软件服务的形式公开娩务功能,瞄使其他 应用程序可以通过澄发布的和可敬流的接口来使用这些服务,通过 虚曩s 燃,蔓2 务瘟弱系统霹鞋搜嬲一经分- 彝式擐务寒穆成并缀缓 应用稔潆,就能通过熏用自己的资产和他们伙伴的业务功能来构造 新的成用程序和修澈现有的应用稷序w e b 服务代表了丽向服务 弱落系续梭戆一释安燃,筑并不能谈为辑有懿s 激应瑗程j 擎都是 北京交通人学坝小论文 w e b 服务 我们可以说,使用某种基于x m l 的描述机制描述的软件的任 何部分都可以成为w e b 服务即便这样的应用程序使用了任何其 他w e b 服务技7 l 芒也没有关系使焉与编程语言框关的消息传递协 议( 例如,j m s ) 和专有传输协议( 例如,m q s e r i e s ) 的应用程序,只需 提供该应用程序接口的w s d l 橘述,就完全可以成为一个究全符合 定义的w e b 服务。反之,通过h p 发送s o a p 消患毽不提供 w s d l 描述的应用程序则不能成为w e b 服务,尽管它将被肴作类似 于w e b 服务的并且被视为面向服务的应用程序 3 2 1w e b 服务的基本分类 1 e n t e r p r i s ew e bs e r v i c e s 是肯定提供了w s d l 描述但可能 使用专鸯应用程序消息传递1 办议或传输携议的w e bs e r v i c e s 使 用j m s 通过i b mm q s e r i e s 发送s o a p 消息的w e bs e r

温馨提示

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

评论

0/150

提交评论