已阅读5页,还剩72页未读, 继续免费阅读
(计算机应用技术专业论文)基于java+ee和xml的数据交换技术的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 物流在现代社会中起着很重要的作用,为了实现高效物流管理,必须做到 物流企业间信息流的快速畅通。各物流企业信息化建设程度和方式的差异,导 致各信息系统间的数据交换产生诸多问题,同时也存在信息传输到数据交换中 心时相对重要的信息没有及时的到达目的地的问题。本文在对现有数据交换系 统分析和参阅了大量文献基础之上,针对物流企业数据交换面临的这些问题, 提出了一个基于j a v ae e 和采用x m l 为消息格式的数据交换模型,而在数据交 换服务器上采用了e j b 技术对信息流程进行了有效的控制。本文的主要研究内 容与创新点有以下几个方面: 1 ) 提出了数据交换模型,并对模型进行了总体模块设计,并予以实现。该 模型是以w e b l o g i c 服务器作为数据交换中心的星型结构,客户之间进行数据交 换都是通过服务器进行传递。整合s t r u t s 2 x 、s p n n 9 2 x 和h i b e r n a t e 3 x 这三个框 架,用于实现系统中的应用系统。 2 ) 对数据转化模块、安全构件和接收发送消息数据模块这三个主要模块进 行了设计。 3 ) 利用s p f i n g d m s 技术对信息进行发送,对信息的发送进行了简化。 4 ) 以一定的粒度对交换的信息进行封装,避免频繁发送信息,从而减少系 统的负担。 5 ) 信息到达数据中心,根据不同操作被分离后重新封装,同时为重新封装 的信息赋予优先级,然后根据优先级别对信息进行重新发送。 6 ) 接收方设计了提示功能,显示相关信息的紧急程度。 关键词:j a v ae e ;x m l ;j m s ;消息驱动b e a n ;数据交换; a b s t r a c t a b s t r a c t l o g i s t i c sh a sp l a y e da ni m p o r t a n tr o l ei nm o d e ms o c i e t yi naw a yt h a tt h e e x p e d i t i o u sa n ds m o o t hi n f o r m a t i o nf l o wm u s tb eg u a r a n t e e di no r d e rt oa c h i e v e e f f i c i e n tl o g i s t i c sm a n a g e m e n t b e s i d e s ,t h ed i f f e r e n c e sa m o n gl o g i s t i c sb u s i n e s s e s 、矾t hr e s p e c tt ot h ee x t e n tt oa n dm e a n so fi n f o r m a t i z a t i o nh a dl e dt o l a r g eq u a n t i t i e s o fp r o b l e m so v e rd a t ac h a n g ea m o n gi n f o r m a t i o ns y s t e m s ,a n da l s ob r o u g h ti n t o q u e s t i o nt h a tt h er e l a t i v e l yi m p o r t a n tp a r to fi n f o r m a t i o nf a i l st or e a c ht h ed e s t i n a t i o n i nt i m ew h e ni ti st r a n s m i t t e dt ot h ed a t ac h a n g ec e n t e r i nt h i st h e s i s ,i nt h ec o n t e x to f t h ea n a l y s i st ot h ee x i s t i n gd a t ac h a n g e s y s t e ma n dr e f e r e n c eo ft h ep r e v i o u s l i t e r a t u r e s ,ad a t ac h a n g em o d e lw i t ht h ex m l m e s s a g ef o r m a ta n db a s e do nt h ej a v a e ei s p r o p o s e d ,f a c i n gt h ei s s u e so fd a t ac h a n g ea m o n gl o g i s t i c sb u s i n e s s e s i n a d d i t i o n ,t h ei n f o r m a t i o nf l o wi s e f f e c t i v e l y c o n t r o l l e d b ya d o p t i n gt h ee j b t e c h n o l o g yo nd a t ac h a n g es e r v e r s t h em a i ni n n o v a t i o n sa n dr e s e a r c hf i n d i n ga r e l i s t e db e l o w : 1 ) ad a t ac h a n g em o d e li s p r o p o s e da l o n gw i t ht h eo v e r a l ld e s i g na n d i m p l e m e n t a t i o no fi t t h em o d e li sah u b a n d s p o k eo n e ,a n dt h ed a t ac h a n g ec e n t e r o fi ti st h ew e b l o g i cs e r v e rt h r o u g hw h i c hc l i e n t st r a n s m i tt h ed a t a a n ds t r u t s 2 x s p r i n 9 2 xa n dh i b e r n a t e 3 xa r ei n t e g r a t e di no r d e rt oi m p l e m e n tt h ea p p l i c a t i o n s y s t e mo ft h em o d e l 2 ) t h r e em a i nm o d e l sh a db e e nd e s i g n e d ,i e t h ed a t ac o n v e r s i o nm o d e l t h e s a f e t yc o m p o n e n t sm o d e la n dt h er e c e i v e s e n dm e s s a g ed a t am o d e l 3 ) t h e s e n d i n go fm e s s a g e sh a sb e e ns i m p l i f i e db y m a k i n gu s eo ft h es p r i n g - j m s t e c h n o l o g y 4 ) i n f o r m a t i o nb e i n gc h a n g e dh a sb e e np a c k e du n d e rt h ec e r t a i ns i z e a v o i d i n g s e n d i n gi n f o r m a t i o nt o of r e q u e n t l yi no r d e rt or e d u c et h eb u r d e no nt h es y s t e m 5 ) w h e na r r i v i n ga tt h ed a t ac e n t e r , t h ei n f o r m a t i o ni s s e p a r a t e di nt e r m so f d i f f e r e n to p e r a t i o n sa n dt h e nr e p a c k e dw i t hb e i n gg i v e nap r i o r i t y , b a s e do nw h i c h t h a ti n f o r m a t i o ni sr e s e n t 6 ) t h er e m i n d i n gf u n c t i o nh a sb e e n e x t e n to fu r g e n c yo fr e l e v a n ti n f o r m a t i o n d e s i g n e di nt h er e c e i v e r , i n d i c a t i n gt h e k e yw o r d s :j a v ae e ;x m l ;j m s ;m e s s a g e d r i v e nb e a n ;d a t ac h a n g e ; i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌太堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :槲翮哮 签字日期:pg 年肛月j 多日 学位论文版权使用授权书 本学位论文作者完全了解直昌太堂有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:刮加 | ;聋 签字日期:扩2 年fz 月哆日 导师签名 签字日期 哆日 第1 章前言 第1 章前言 1 1 背景 现在已经进入了信息时代,世界上的各行各业的企业都有了自己的信息平 台,但是这些平台只对自己的公司内部进行通信,而各公司之间的通信还停留 在各种相对“原始的状态,这些信息平台就像一个个信息“孤岛”一样存在, 彼此之间没有相应的联系,还没有真正达到信息化,随着x m l 和j m s 技术的 出现,各个信息“孤岛 之间通过基于x m l 和j m s 的技术的信息交换模型进 行通信。 企业中的数据交换以物流企业为代表,因此本文以物流企业的数据交换为 蓝本进行研究与设计。物流指的是物品从供应地向接收地的实体流动过程。根 据实际需要,将运输、储存、装卸、搬运、包装、流通加工、配送、信息处理 等基本功能实施有机结合【1 1 。物流在现代社会中起着很重要的地位,国家将其作 为提升综合国力的重要举措,并且物流与人们的生活紧密联系在一起。在生产 及流通过程中,涉及将产品或服务提供给最终用户活动的上游与下游企业,形 成了网络结构。 现代信息技术的飞速发展为现代物流的发展带来了巨大发展空间,互联网 的发展推动现代物流的巨大发展。随着信息技术和电子商务的快速发展,全球 市场竞争也日益加剧【3 】。贸易伙伴间总在寻求如何通过供应链管理降低成本并简 化商业流程,因此高效的供应链管理在今天的商业中变得至关重要。然而为了 实现高效供应链管理,必须做到物流企业间信息流的快速畅通。但是由于在进 行企业或部门信息系统设计的时候没有考虑到和其它系统的整合问题,所以信 息系统间的信息表示方式往往也是不同的【3 】。导致使用不同应用系统的企业间往 往因为信息系统的数据模式不相同而造成数据交换上的诸多困难。此外重要信 息和相对不太重要的信息没有区分开来而出现重要的信息不能及时到达目的地 的问题,当前物流企业间的数据交换的研究成果对这些问题的研究很少。 可扩展标记语义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 得到了 快速发展,并成为了数据交换的事实标准。企业信息系统间进行数据交换时往 往先把非x m l 文档数据转化为x m l 文档数据,再把转化后的x m l 文档通过 第1 章前言 消息服务机制发送给对方。x m l 的数据定义的标准也在逐渐的形成,因此在它 们之间进行数据交换就要求把源数据转化为标准数据的表达方式,然后将标准 数据的表达示转换成目标数据,可以实现在不知道目标数据表达示的情况下进 行数据交换。对x m l 数据的处理还是比较容易,并且可以借助当前的很多优秀 的x m l 解析器。i n t e m a t e 的发展和标准化传输协议的完善使得企业间数据交换 变得容易。j a v a 的跨平台性等特点使其在近十年得到了迅猛发展。j a v ae e ( j a v a p l a t f o r me n t e r p r i s ee d i t i o n ) 是基于j a v a 语言的一个开发分布式企业级应用的规 范,是近几年来研究和应用领域的热点,出现很多相关技术和产品,例如b e a 公 司的w e b l o g i c 和开源的j b o s s 等j a v ae e 服务器。异地企业间信息的传递可以通 过j a v ae e 规范中的消息服务机制得到较为容易的解决。 1 2 研究现状 在不同应用系统中传递信息会因为应用系统的数据模式不相同而造成数据 交换诸多问题。针对该问题解决的主要方法有: 1 ) 抛弃所有原来的应用系统。根据当前的需求,重新进行规划和设计统一 的信息标准,并且开发符合信息标准要求的新信息系统。新系统的开发与设计 需要大量的资金支持,而且随着需求的不断更新,信息标准也要不断地完善, 按照当前标准开发的系统也就会随着时问的推移而变得不符合新标准。因此该 方法很少采用。 2 ) 专门开发数据交换接口。该方法是根据用户自己的具体要求及用户的具 体应用系统,通过手工编程开发专用的接口来实现它们之间的数据交换。但是 这种方法的开发工作量是巨大的,且如果某个单位的信息应用系统发生了变化, 则相应的接口都要进行调整。根据一项统计调查,世界上每年花在应用接口上 的开发与维护费就占全球i t 投资的3 0 以上1 7 。 3 ) 基于统一信息交换模型。统一元信息模型是利用元数据建立信息交换系 统的统一外部表示。当一个应用系统需要集成到基于该模型的信息交换系统时, 就可以用这样一个外部表示的模型作为自己的元数据的基础,通过调用一个导 入映射过程将这个形式化的过程翻译成它自己的元数据的实例。同理,一个应 用系统可以通过一个将它自己内部元数据翻译成一个与平台无关的形式化模型 的导出映射过程,将它所有的元数据显示给其他应用系统【4 7 1 。该方法具有灵活 2 第1 章前言 性、可扩展性与高效性等许多优点,现阶段得到了大量的研究与应用。对于物 流企业间的数据交换的研究主要体现在以下几个方面。 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 ) 始于美国6 0 年代,第一 个e d i 标准出现于1 9 7 5 年。国际上流行的二大主要e d i 格式化标准:在欧洲和 亚洲广泛使用的u n e d i f a c t 标准( u n i t e dn a t i o n sd i r e c t o r i e sf o r e l e c t r o n i cd a t a i n t e r c h a n g ef o ra d m i n i s t r a t i o n c o m m e r c ea n dt r a n s p o r t ) ,和美国的a n s ix 1 2 标准 ( a m e r i c a nn a t i o n a ls t a n d a r d si n s t i t u t e ) 。我国采用的是u n e d i f a c t 标准。e d i 的应用主要有两种类型,一种是基于增值网v a n ( v a l u ea d d e dn e t w o r k s ) ,另一 种是基于i n t e r n e t 。传统e d i 数据交换虽然在目前已经取得了一定的应用,尤其 是大型跨国集团更是积极使用e d i 系统。 2 ) 互联网技术的发展也带动了e d i 的发展,现在基于i n t e r n e t 的e d i 有 i n t e r n e tm a i l 、s t a n d a r di c 、w e b e d i 和x m l e d i 等。特别是w 曲e d i 可以使 企业只需通过浏览器与i n t e r n e t 的连接执行e d i 交换。在这环境中e d i 软件和 映射费用则花在服务器端,从而大大节省了通信费用,对中小企业简单经济地 实现电子数据交换具有重要意义。可是,它对信息格式的支持有限,此外发送 方无法对数据发送前进行加密,这样安全并不能得到很好的保证。x m l e d i 是 e d i 结合了x m l 的优势,改善传统e d i 成本过于昂贵的状况,有利于e d i 的应 用推广。 3 ) x m l 的发展促进了物流企业间的数据交换技术的发展。基于x m l 的数 据交换成了现在研究的热点。利用x m l 格式描述基本的商业流程和商业元素, 形成了一些在一定范围内的标准,实现了局部的信息交流和资源共享,但并未 实现真正的标准化。 由于x m l 技术的广泛应用,出现了d t d 、x m ls c h e m a 等很多种x m l 模 式描述语言以及x m l q l 、x q u e r y 、x p a t h 等x m l 检索语言【3 9 4 0 1 。万维网联盟 w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 为了规范这些语言推出了x m ls c h e m a 作为国 际推荐标准的x m l 模式描述语言以及x q u e r y 为国际推荐标准的x m l 检索语 言。由于x m ls c h e m a 和x q u e r y 的复杂性和发布为标准的滞后性,使得很多研 究都是基于d t d 、x m l q l 等非标准语言。x m ls c h e m a 相对于d t d 的明显好 处是x m ls c h e m a 文档本身也是x m l 文档这就方便了用户和开发者,因为可以 使用相同的工具来处理x m ls 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 语法、规则的人都可以立刻 3 第1 章前言 理解它。x m l s c h e m a 近几年才成为w 3 c 的推荐标准,相应的应用支持尚未完 善,但采用x m ls c h e m a 已成为x m l 发展的一个趋势。我国也出了些相关的国 家标准,比如:2 0 0 5 年出版了用于行政、商业和运输业电子数据交换基于 e d i ( f a c t ) 报文实施指南的x m l s c h e m a ( x s d ) 生成规则 2 5 】。 1 3 本文主要工作 x m l 是数据表示和交换的事实标准。利用x m l 为中间数据模型,可以方 便地实现多种数据源的相互数据转换。j a v ae e 中的j m s 消息机制能够非常容易 地实现各系统或者模块之间的松散耦合,并且能够通过消息服务提供商实现可 靠和健壮的消息传递,解决了数据传输问题。 在广泛地参考国内外文献的基础上,本文结合x m l 和j m s 等j a v ae e 技术, 为实现网络环境下物流企业间的数据交换提供了一种有效的解决方法。本文的 主要工作体现在以下几个方面: 1 ) 提出了一个基于j a v ae e 和采用x m l 为消息格式的信息交换模型【1 2 2 1 ,4 6 1 。 该模型是以j a v ae e 信息交换服务器为中心的星型结构,客户之间进行信息交换 都是通过服务器进行传递。同时整合s t r u t s 2 x 、s p r i n 9 2 x 和h i b e r n a t e 3 x 这三个 框架,用于实现系统中的应用系统。 2 ) 本文将客户端分为四个功能模块,即:消息转换模块、消息签名a n 密模 块、模式匹配模块和消息发送接收模块,对四个模块进行可详细的设计和测试。 在消息发送接收模块中,采用了s p r i n g - j m s 对消息进行异步处理,也使消息的 发送接收得到简化。 3 ) 本文对服务器端的功能采用了e j b 技术,使消息的整个流程按照不同的 优先级别进行控制和转发,同时对不能及时处理的消息进行服务器端持久化。 1 4 本文组织结构 本文组织结构如下: 第一章前言部分简述了课题的研究背景和物流数据交换的研究现状、本文 的主要工作和组织结构。 第二章相关技术以及开发环境的简介部分简单介绍j a v ae e 规范、x m l 规 范、j m s 以及e j b ,最后简单介绍了一下开发环境。 4 第1 章前言 第三章系统分析部分从系统的需求分析出发,总结出系统的总体功能,然 后通过对系统的功能模块进行分析。 第四章系统设计部分从总体系统框架开始进行设计,然后对各功能模块进 行设计,这就包括客户端设计、服务器端的设计等的设计。本章通过u m l 建模 进行详细设计,同时使用r o s e 2 0 0 3i 具建模绘图。 第五章系统实现部分通过类中的功能性的方法进行介绍以及代码的介绍 来说明整个系统的实现细节,同时运用具体的运行界面以及传递的x m l 信息片 段等进行辅助说明。 第六章结论与展望:对本论文的工作进行总结,指出了进一步研究的方向。 5 第2 章相关技术以及开发环境的简介 第2 章相关技术以及开发环境的简介 本系统基于j a v a e e 和x m l 技术进行研究与设计。因此先介绍x m l 技术、 对x m l 文件进行操作的d o m 4 j 技术以及j m s 规范等技术,在最后一节介绍开 发环境。 2 1 j a v a e e 规范 j a v a e e 是s u n 公司为企业级应用推出的标准平台,最新版本是j a v a e e5 n 它是在j a v as e 的基础上增加了功能,能对于企业提供一个完整的可靠的安全的 j a v a 平台。j a v a e e 显著地减少了开发和部署多层结构的费用和复杂度,使得服 务能被快速地部署。j a v a e e 规范是为解决这些新的多层w e b 应用程序的需求而 制定的,j a v ae e 是一系列技术标准所组成的平台。常见j a v ae e 多层体系结构 包含四层:客户层、w e b 层、应用层和e 1 s 层。 j a v a e e 平台由一整套服务、应用程序接口和协议构成,它以解决多层w e b 应用系统为目标,该规范来自j a v a c o m m u n i t yp r o e e s s ( j c p ) 。下面列出了j a v a e e 中部分技术规范,具体的可以参阅s u n 公司的网站公布的手册。j a v a e e 规范的 组成如图2 1 。 u 豳霞霞霞鳓k 。嚣。2 。p ,l a l f 。o “。 | ; 鞲囊爨h l 圜 匿塑憨 匿盔鎏圈 匿霆匦 匿錾l 图21j a v a e e 规范的组成 一般情况下,遵循j a v a e e 开发的应用在各j a v a e e 服务器之间是可移植的 第2 章相关技术以及开发环境的简介 j a v a e e 规范是前言的j a v a 技术平台,为服务器的计算提供了所有范围的企业级 功能。此平台的设计,使它能够为创建企业级n 层j a v a 应用程序提供集成的j a v a 应用环境。 j a v ae e 平台规范包括使用j a v a 技术开发企业应用程序的a p i 与编程方法, 例如,e j b 、j s p 、s e r v l e t s 、j t s 和j m s 。j a v a e e 平台规范的组成如图2 , 2 所示: 豳 圈 图2 2j a v a e e 平台规范的组成 j a v a e e 是一种功能完各、稳定可靠、安全快速的企业级计算平台,它由多 种基于j a v a 的技术组成,包括e n t e r p f i s oj a v a b e a r t s ( e j b ) 、j a v a s e r v e rp a g e s ( j s p ) 、 s e r v l e t s 、j a v a n a m i n ga n d d i r e c t o r y i n t e r f a e e ( j n d l ) 、j a v a t r a n s a c t i o n a p i ( j t a ) 、 c o r b a 以及j d b cd a t a a c c e s s a p i 等。f f a v a e e 具有以下优点: 平台无关性 j a v a e e 通过j a v a 虚拟机来消除平台差别。跨平台是j a v a e e 的一大特点, 也是在选择企业应用卡法平台时的一个重要参考因素,几乎所有的主六操作系 统都提供了对j a v ae e 的支持。实际上如果要构建跨u a i x 、w i n d o w s 等多个操 作系统平台,j a v a e e 几乎是唯一的选择。 一可移植性 j a v a e e 作为一种组件技术,已经完成的组件能方便地移植到其他任何地方。 - 功能强大 j a v ae e 作为中间件,提供了强大的功能,使开发人员只需要关注商业逻辑, 因而能加快开发速度,提高系统的运行的效率和稳定性。 保护用户投资 当用户更换平台时,由于基于j a v ae e 的系统能方便地移植到其他平台上, 7 第2 章相关技术以及开发环境的简介 而无需重新开发,因此能有效地保护用户的投资。 一广泛的支持 j a v ae e 技术规范得到了从国际性大公司到自由软件开发人员的广泛支持。 多层架构体系 基于三层或多层分布式计算结构已经成为当今企业应用的主流模式,多层 架构可以有效地分离数据库层、逻辑层和表示层。j a v ae e 构架允许开发人员将 精力集中到应用的业务逻辑上,而不必关系系统的性能等问题。 保留现有的i t 资产 由于企业必须适应新的商业需求,利用已有的企业信息系统方面的投资, 而不是重新制订全盘方案就变的很重要,这样,一个以渐进的方式建立在已有 的系统上的服务器端平台机制的公司所需求的。 高效的开发 j a v ae e 允许公司把一些通用的、很烦琐的服务端交给中间件供应商去完成, 而开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。 2 2x m l 技术 x m l 是由万维网协会w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ) 于1 9 9 8 年推出的一 组规范,是通用标记语言标准s g m l ( s t a n d a r dg e n e r a lm a r k u pl a n g u a g e ) 的一个 重要分支【2 0 1 。x m l 具有可扩展性,允许用户按照x m l 规则自定义标记,突破 了h t m l 固定标记集合的约束。这样可以使得x m l 文件能够更好地体现数据 地结构和含义,也使得文件的内容更加显而易懂,使得网上数据交流更方便。 现在,x m l 的优势使得x m l 成为了数据交换的事实标准。 x m l 主要特点如下 4 , 3 0 , 4 8 1 : 1 ) 可扩展性和开放性。x m l 允许不同的组织和个人开发与自己特定领域相 关的标记,并且该x m l 标记库可以迅速的投入使用。从而弥补了h t m l 不具 有扩展性的缺点。x m l 的开放性促使它成为异构系统之间进行交流的媒介,只 要各系统装有x m l 解析工具,便可处理由其它系统传递过来的x m l 信息,而 不必使用特殊的软件。这有力地促进了数据交换的发展。 2 ) 内容与形式的分离。在x m l 中,显示样式从数据文档中分离出来,放 在样式表单文件中,如果需要改动数据的表现方式,只需更改样式表单而不必 8 第2 章相关技术以及开发环境的简介 改动数据文档本身。 3 ) 平台独立性。x m l 文档是纯文本,独立于各种开发平台。 x m l 文档结构: 1 ) 文档以x m l 声明 开始,如: 。 2 ) x m l 元素:元素是x m l 文档最为重要的组成部分,每个元素说明了一 些数据。元素由开始标记、内容和介绍标记组成。在元素的内容中还可以包含 以下内容:属性,用以描述元素的一些特性,一个元素可以含有多个属性。子 元素,必须是嵌套的也就是说子元素的开始标记和结束标记必须位于同一个父 元素的内容中,一个元素可以拥有多个子元素。文本内容,在元素开始和结束 标记之间可以包含任何合法的u n i c o d e 字符,但不能包含x m l 标准中的保留 字( 如& 、 等) 。如果要拥有解决方法之一是引用,如在” ”的地方使用”& i t ”来 代替;另外就是使用c d a t a ,x m l 处理器不解析c d a t a 中的字符信息。 3 ) 注释:注释文本是为了x m l 的可读性,x m l 处理器不与解析。 4 ) 处理指令:处理指令以” ”结束,中间是处理指令信息,作用 是为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 ls c h e m e 的介绍: 9 第2 章相关技术以及开发环境的简介 对x m l 文档的有效结构进行描述比较常见的两种方式【2 6 】是:使用文件类型 定义d t d ( d o c u m e n tr y p ed e f i n i t i o n ) 和x m ls c h e m a 模式。d t d 是早些年x m l 技术领域所使用很广泛的一种模式。d t d 的主要限制在于它缺乏数据类型的表 达和对文档结构、属性、数据类型等约束的描述。2 0 0 1 年5 月w 3 c 正式推荐 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 文档的结构和内容模式。它可以定义x m l 文档中存在哪些元素和元 素之间的关系,并且可以定义元素和属性的数据类型。就定义x m l 而言,x m l s c h e m a 功能更强,并且更加的灵活。由于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 ls c h e m a 规范,只是为了本文后面的需要进行简单的介 绍,了解更多的x m ls c h e m a 知识参见文献。x m ls c h e m a 文档的组成部分。 1 ) 模式元素: x m ls c h e m a 本身就是就是x m l 文档,因此也应具有良好的和规范的格式。 x m ls c h e m a 的根元素总是名字空间中的模式元素。 2 ) 简单元素: 简单元素基本格式: 。 模式的主体是元素,每个元素都与一种数据类型关联。x m ls c h e m a 已经定 义了基本数据类型,用户可以基于这些数据类型进行扩展。简单元素不包含子 元素和属性,它的数据类型是简单数据类型。定义简单元素的时候还可以通过 该元素标签包含d e f a u l t 属性来定义默认值。 3 ) 属性: 属性的基本格式: 。 属性还可以使用a t t r i b u t e 标签的f i x e d 属性、d e f a u l t 属性和u s e 属性。f i x e d 表明 该属性值固定为某个值,d e f a u l t 用来设定属性的默认值,u s e 来定义该属性是否 是必需的。 4 ) 限制: 如果对某个属性值设定了类型,那么s c h e m a 可以确保x m l 文档不会写入 与定义不符的数据。比如把属性类型定义为i n t e g e r ,那么如果传递了非i n t e g e r 数据就无法通过验证,这就是限制【1 4 1 。有时需要对数据进行更为严格的限制, 比如月份只是1 到1 2 的数字,则可以创建一个简单的月份数据类型,该类型扩 l o 第2 章相关技术以及开发环境的简介 展了i n t e g e r 类型。 5 ) 复杂元素: 复杂元素是内部含有子元素或者属性的元素。定义复杂元素所使用的语法 与简单元素的类似,基本格式如下: x m ls c h e m a 对d t d 进行了改进和扩充,因此本文采用x m ls c h e m a 描述 x m l 文档。下面讲述它们的特点和主要不同之处。 1 、) 本身的格式 x m ls c h e m a 的格式与x m l 的格式是完全相同的,但d t d 的格式与x m l 格式不同。这点就使得使用x m ls c h e m a 会比使用更加的方便。 2 ) 数据类型 x m ls c h e m a 增加了对用户自定义类型数据的支持,这是x m ls c h e m a 与 d t d 相比的一个显著的特征,也是x m ls c h e m a 一个很大的优势。d t d 提供的 数据类型很有限,如c d a t a 、e n u m e r a t e d 、i d 、i d r e f 等十种内置数据类型。 x m ls c h e m a 内置了更多的数据类型,更为关键地是x m ls c h e m a 支持用户自 定义类型,这就极大的增加了数据类型的灵活性。 3 ) 元素次序的描述 d t d 与x m ls c h e m a 都支持对子元素节点顺序的描述。但d t d 没有提供 对于无序情况的描述。也就是说如果使用d t d 来描述元素的无顺序出现情况, 那么必须采用穷举元素各种可能出现的排列顺序的方式来实现。x m ls c h e m a 支持了这种无序情况的描述。 4 ) 命名空间 x m l 中引入命名空间的目的在前文中已经说明。x m ls c h e m a 则很好的满 足了x m l 的名字空间,而x m ld t d 没有支持这特性。进一步体现了x m l s c h e m a 比x m ld t d 有更广的适用范围。x m ls c h e m a 提供了i n c l u d e 和i m p o r t 两种引用命名空间的方法。 常用的x m la p i 的介绍【3 4 】: 由于x m l 的普遍使用,x m la p i 也得到了迅猛的发展,现在有很多x m l a p i ,其中以d o m 、j d o m 和d o m 4 j 为最常见。 第2 章相关技术以及开发环境的简介 文档对象模型d o m ( d o c u m e n t0 b j e c tm o d e l ) 是w 3 c 制定的一套标准【4 j ,是 用与平台和语言无关的方式表示。对于任何j a v a 特定的模型,它是很好的对照。 d o m 定义充分利用了x m l 文档不同组件的接口和继承性。j d o m 的目的是成 为j a v a 特定文档模型,它简化与x m l 的交互并且比使用d o m 实现更快。j d o m 与d o m 主要有两方面不同。首先,j d o m 仅使用具体类而不使用接口。 d o m 4 j 是一个易用的、开源的库,用于x m l ,x p a t h 和x s l t 。它应用于j a v a 平台,采用了j a v a 集合框架并完全支持d o m 、s a x 和j a x p 。但最初,它是j d o m 的一种智能分支。它合并了许多超出基本x m l 文档表示的功能,包括集成的 x p a t h 支持、x m ls c h e m a 支持以及用于大文档或流化文档的基于事件的处理。 它还提供了构建文档表示的选项,它通过d o m 4 ja p i 和标准d o m 接口具有并 行访问功能。为支持所有这些功能,d o m 4 j 使用接口和抽象基本类方法。d o m a j 大量使用了a p i 中的c o l l e c t i o n s 类,但是在许多情况下,它还提供一些替代方 法以允许更好的性能或更直接的编码方法。直接好处是,虽然d o m 4 j 付出了更 复杂的a p i 的代价,但是它提供了比j d o m 大得多的灵活性。 关于常见x m l a p i 的性能,常见文献对此进行了详细说明,本文也是以此 为依据。因为d o m 4 j 使用方便且性能优越,本文采用d o m 4 j 解析x m l 文档。 2 3j m s 规范 可移植的传输机制j m s 结合可移植的数据表示x m l 被证实是企业应用程 序集成和数据交换领域中的一个强大的工具。j m s ( j a v am e s s a g es e r v i c e ) 是s u n 公司提出的j a v a 消息服务规范,被用来支持开发面向消息的分布式计算系统。 j a v am e s s a g es e r v i c e 规范声称:j m s 是一组接口和相关语义,它定义了j m s 客 户如何访问企业消息的功能。企业消息通常指得是面向消息的中间件 m o m ( m e s s a g i n go r i e n t e dm i d d l e w a r e ) ,也是构建企业应用必须的组成部分1 3 。 j m s 不仅提供了同步消息传递机制,还支持异步消息传递机制。为了消息的可 靠性,j m s 也可以持久地存储消息。j m sa p i | 3 6 l 是在m o m 中整合了j a v a 技术, 是j a v ae e 平台的重要组成部分。j m s 体系结构如图2 3 所示: j m s 提供了两种类型的消息传递模型【2 。7 j :发布订阅( p u b l i s h a n d 。s u b s c r i b e , p u b s u b ) 以及点到点( p o i n t t o p o i n t ,p t p ) 。p t p 目的是用于一对一的消息传 递,也就是说让一个应用程序发送一个消息,并且这唯一的消息消费者接收消 1 2 第2 章相关技术以及开发环境的简介 息。p t p 模型让消息传递客户机通过称为队歹1 ( q u e u e ) 的虚拟信道发送和接收消 息。 图2 3j m s 体系结构图 p u b s u b 目的是用于一对多的消息广播式传递。p u b s u b 模型通过t o p i c 来 提供,消息的生产者通过被称为t o p i c ( 主题) 的虚拟信道将消息发送到多个订 阅此主题的消息的消费者。消息生产者被称为t o p i c p u b l i s h e r ,消费者被称为 t o p i c s u b s c r i b e r 。每个消息消费者会自动接收到每个消息的副本,而不必向主题 发出请求或对主题进行轮询以获得新消息。p u b s u b 模型支持持久订阅,也就是 说当持久订阅程序从j m s 服务器上断开时服务器会存储订阅程序丢失的消息, 直到所有消息消费者接收到消息。 确认是通知提供者已经成功接收到消息的一种机制。如果被处理的是接收 消息的s e s s i o n ,则确认的处理是自动的。如果被处理的不是s e s s i o n ,则在创建 s e s s i o n 时确定确认的类型。有三种的确认类型见表2 1 。 表2 1 消息确认类型 确认类型确认类型说明 消息发送的延迟回执,它通过最小化工作的重复来减 d u p s o k a c k n o w l e d g e少开销,只有在可以预计和处理重复消息时,才可以 使用这种确认。 a u t o a c k n o w l e d g e 在完成接收消息的方法时自动确认消息的发送。 通过调用m e s s a g e 的a c k n o w l e d g e ( ) 方法显式确认消息 c l i e nc 石c k n o w l e d g e 发送。 j m s 消息对象用于封装消息传递客户机发送或接收的消息。它包含三个部 件:头h e a d e r 、属性h e a d e r 和消息数据即有效负载。h e a d e r 是一组标准字段, 客户机和提供者都用它们来标识和路由消息。p r o p e r t i e s 提供了一个给消息添加 可选标题字段的实用工具。如果应用程序需要用标准标题字段没有提供的方法 1 3 第2 章相关技术以及开发环境的简介 对消息进行归类或分类,那么可以为消息添加一个属性来实现这种归类和分类; 提供了s e t p r o p e r t y ( ) 和g e t p r o p e r t y ( )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于神经网络的网络流量预测:模型构建、应用与挑战
- 古汉语常用词汇语义解析
- 赞助合同范本及法律风险分析
- 部编版三年级语文导学案(第一单元)
- 职业病防治方案及健康检查报告
- 初三政治试题与测评标准参考
- 初中语文古诗词常用字词详解
- 幼教课程开发与特色活动设计
- 足球运动基本技能训练计划
- 财会人员电子发票使用规范
- 《逻辑的力量》 统编版高中语文选择性必修上册
- 天津子牙循环经济产业区规划
- 受人威胁写遗书范本
- 人力资源解决方案-
- 300MW机组七漏治理方案及消漏方案
- 第十章蜜蜂授粉
- GB/T 5231-2001加工铜及铜合金化学成分和产品形状
- GB/T 28864.2-2012软磁铁氧体磁心术语定义第2部分:尺寸标注
- GB/T 16714-2007连续式粮食干燥机
- 最新《工会基础知识》试题库及答案1000题【完美打印版】
- 行政事业单位无形资产管理办法模板
评论
0/150
提交评论