(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf_第1页
(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf_第2页
(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf_第3页
(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf_第4页
(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)基于xml和java+ee的物流数据交换技术的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 物流在现代社会中起着很重要的作用,为了实现高效物流管理必须做到物 流企业间信息流的快速畅通。各物流企业信息化建设程度和方式的差异,导致 各信息系统间的数据交换产生诸多问题。中小物流企业无法承受传统数据交换 系统( e d i 等) 高昂的软硬件成本及通信费用,可中小物流企业的数据交换需求 却很大。本文在对现有数据交换系统分析和参阅了大量文献基础之上,针对中 小物流企业数据交换面临的主要问题,提出了一个基于j a v a e e 和采用x m l 为 消息格式的数据交换模型。本文的主要研究内容和成果如下: 1 1 提出了数据交换模型,并对模型进行了总体模块设计。该模型是以j a v a e e 数据交换服务器为中心的星型结构,客户之间进行数据交换都是通过服务器 进行传递。 2 1 对数据转化模块、x m l 转换模块和接收发送消息数据模块这三个主要 模块进行了设计。 3 ) 本文结合物流数据交换系统的特点,提出以数据对象为中间层实现非 x m l 数据与x m l 数据之间的相互转换。 4 ) 对x m ls c h e m a 、u m l 和关系模式间的相互转化规则进行了研究。并以 符合国家标准的订单报文为例说明上述规则。 5 ) 分析了本地x m ls c h e m a 与国家标准x m ls c h e m a 之间可能存在的数据 和结构冲突,并使用x m l 描述匹配规则来解决数据模式问的冲突。 关键词:物流;数据交换;j m s ;x m l ;j a v ae e a b s t r a c t l o g i s t i c sp l a y sa ni m p o r t a n tr o l e i nm o d e ms o c i e t y i no r d e rt oa c h i e v e e f f e c t i v el o g i s t i c sm a n a g e m e n t , i n f o r m a t i o nf l o wb e t w e e nl o g i s t i cc o r p o r a t i o n sm u s t b ef a s ta n df l u e n t n 埠d i f f e r e n c e so fi n f o r m a t i o n b a s e db u i l de x t e n ta n dm a n n e r b e t w e e nl o g i s t i cc o r p o r a t i o n s ,r e s u l ti nd a t ae x c h a n g eb e t w e e ni n f o r m a t i o ns y s t e m s b r i n gag o o dm a n yp r o b l e m s m i d - a n ds m a l l s c a l ee n t e r p r i s ec a n te n d u r ee x p e n s i v e s o f t w a r ea n dh a r d w a r ec o s ta n dc o r r e s p o n de x p e n d i t u r eo ft r a d i t i o nd a t ae x c h a n g e s y s t e m ,s u c ha se d i ,w h i l et h ed a t ae x c h a n g er e q u i r e m e n t so ft h e s ee n t e r p r i s e sa r e q u i e tg r e a t t h i sp a p e ri s o nf o u n d a t i o no fl o g i s t i c sc o r p o r a t i o n s d a t ae x c h a n g e s y s t e ma n a l y s i s ,a n dr e f e r e n c el o t so fl i t e r a t u r e s i nv i e wo ft h em a i np r o b l e m s w h i c hm i d a n ds m a l l - s c a l ee n t e r p r i s e sc o n f r o n t ,p u tf o r w a r dad a t ae x c h a n g e m o d u l eb a s e do nj a v ae ea n dm e s s a g ef o r m a ta sx m l t h em a i nr e s e a r c hi s s u e s a n da c h i e v e m e n t si nt h i sp a p e ra sf o l l o w s : 1 ) t h ep a p e rp u t sf o r w a r dad a t ae x c h a n g em o d e l ,a n dp r o g r e s s e so v e r a l l m o d u l ed e s i g nt ot h i sm o d e l t h i sm o d u l ei sas t a rs t r u c t u r ea st h ec e n t r eo f j a v ae e d a t ae x c h a n g es e v e r s ,a n dd a t ae x c h a n g ea m o n gc l i e n t si st h r o u g ht h i ss e r v e r 2 ) t h r e ep r i m a r ym o d u l e sw h i c ha r ec a l l e dd a t at r a n s f o r m a t i o nm o d u l e ,x m l t r a n s f o r m a t i o nm o d u l ea n dr e c e i v e t r a n s m i s s i o nm e s s a g ed a t am o d u l e ,h a v eb e e n d e s i g n e di nt h i sp a p e r 3 ) c o m b i n i n gt h ec h a r a c t e r i s t i c so fl o g i s t i c sd a t ae x c h a n g es y s t e m ,t h i sp a p e r p r o p o s e st oa c h i e v ed a t ao b j e c ta sa ni n t e r m e d i a r yb e t w e e nn o n - x m l d a t aa n dt h e x m ld a t ac o n v e r s i o n 4 ) t h ep a p e rr e s e a r c h e st h er o l e so f c o n v e r s i o na m o n gx m ls c h e m a , u m l a n d r a t i o n a ls c h e m a a n da so r d e rm e s s a g e ,w h i c hs h o u l db ea c c o r d i n gw i t hn a t i o n a l s t a n d a r d ,f o ra ne x a m p l et oi l l u m i n a t et h er o l e sa b o v e 5 1a n a l y s e dt h ec o n f l i c to fd a t aa n ds t r u c t u r ew h i c hm a yb ee x i s t e n tb e t w e e n l o c a lx m ls c h e m aa n dx m ls c h e m ao fn a t i o n a ls t a n d a r d , t h ep a p e ru s e sx m l d e s c r i p t i o nm a t c h i n gr o l e st or e s o l v et h ec o n f l i c tb e t w e e nd a t as c h e m a k e yw o r d s :l o g i s t i c s ;d a t ae x c h a n g e ;j m s ;x m l ;j a v ae e 学位论文独刨性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得直昌杰堂或其他教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名( 手写) :荷云乞签字日期:v 6 7 年。月巧日 i 学位论文版权使用授权书 本学位论文作者完全了解南昌大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权直昌太堂可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编本学位论文。同时授权中国科学技术信息研究 所将本学位论文收录到中国学位论文全文数据库,并通过网络向 社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:街走包 导师签名: 签字日期:埘刁年j 1 月矿 日 哮憎卅气 签字日期:加d 年胆月升日签字日期:渺年胆月订日 第1 章绪论 1 1 背景 第1 章绪论 物流指的是物品从供应地向接收地的实体流动过程。根据实际需要,将运 输、储存、装卸、搬运、包装、流通加工、配送、信息处理等基本功能实施有 机结合【l j 。物流在现代社会中起着很重要的地位,国家将其作为提升综合国力 的重要举措,并且物流与人们的生活紧密联系在一起。在生产及流通过程中, 涉及将产品或服务提供给最终用户活动的上游与下游企业,形成了网络结构。 现代信息技术的飞速发展为现代物流的发展带来了巨大发展空间,互联网 的发展推动现代物流的巨大发展。随着信息技术和电子商务的快速发展,全球 市场竞争也日益加剧【2 】。贸易伙伴间总在寻求如何通过供应链管理降低成本并 简化商业流程,因此高效的供应链管理在今天的商业中变得至关重要。然而为 了实现高效供应链管理,必须做到物流企业间信息流的快速畅通。但是由于在 进行企业或部门信息系统设计的时候没有考虑到和其它系统的整合问题,所以 信息系统间的信息表示方式往往也是不同的【3 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 ) 1 4 】的特点使得 x m l 得到了快速发展,并成为了数据交换的事实标准,因此有必要对基于x m l 的物流企业间的数据交换进行研究。企业信息系统间进行数据交换时往往先把 非x m l 文档数据转化为x m l 文档数据,再把转化后的x m l 文档通过消息服 务机制发送给对方。在没有统一数据定义标准的情况下,不同的数据源对同一 概念会选择不同的表达方式,或者采用相同的表达式表示不同的意思1 5 j 。因此 在它们之间进行数据交换就要求把源数据转化为目标数据源能识别的表达方 式。对x m l 数据的处理还是比较容易,并且可以借助当前的很多优秀的x m l 解析器。i n t e m a t e 的发展和标准化传输协议的完善使得企业间数据交换变得容 易。j a v a 的跨平台性等特点使其在近十年得到了迅猛发展。j a v a e e ( j a v a p l a t f o r m 第1 章绪论 e 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 【6 j 和开源的j b o s s 等j a v ae e 服务器。异地企业间信息的传递可以通过 j a v a e e 规范中的消息服务机制得到较为容易的解决。 因此有必要研究,在不改变物流企业原应用系统的情况下,通过基于x m l 和j a v ae e 规范的数据交换系统,有效传递物流企业间的数据,将分布在不同地 区的不同物流企业连接起来。 1 2 研究现状 在不同应用系统中传递信息会因为应用系统的数据模式不相同而造成数据 交换诸多问题。针对该问题解决的主要方法有: 1 ) 抛弃所有原来的应用系统。根据当前的需求,重新进行规划和设计统一 的信息标准,并且开发符合信息标准要求的新信息系统。新系统的开发与设计 需要大量的资金支持,而且随着需求的不断更新,信息标准也要不断地完善, 按照当i i 标准开发的系统也就会随着时间的推移而变得不符合新标准。因此该 方法很少采用。 2 ) 专门开发数据交换接口。该方法是根据用户自己的具体要求及用户的具 体应用系统,通过手工编程开发专用的接口来实现它们之间的数据交换。但是 这种方法的开发工作量是巨大的,且如果某个单位的信息应用系统发生了变化, 则相应的接口都要进行调整。根据一项统计调查,世界上每年花在应用接口上 的开发与维护费就占全球i t 投资的3 0 以上【7 】。 3 ) 基于统一信息交换模型。统一元信息模型是利用元数据建立信息交换系 统的统一外部表示。当一个应用系统需要集成到基于该模型的信息交换系统时, 就可以用这样一个外部表示的模型作为自己的元数据的基础,通过调用一个导 入映射过程将这个形式化的过程翻译成它自己的元数据的实例。同理,一个应 用系统可以通过一个将它自己内部元数据翻译成一个与平台无关的形式化模型 的导出映射过程,将它所有的元数据显示给其他应用系统【8 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 年代,第一 2 第1 章绪论 个e d i 标准出现于1 9 7 5 年。国际上流行的二大主要e d i 格式化标准1 9 1 :在欧洲和 亚洲广泛使用的u n 厄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 m e t 。传统e d i 数据交换虽然在目前已经取得了一定的应用,尤其是大 型跨国集团更是积极使用e d i 系统。我国早在二十年前开始采用和研究e d i ,可 是e d i 的复杂性和高昂的软硬件成本及通信费用,使得中小企业无法承受,只有 少数大型企业和海关、金融等部门采用了e d i 。这也使得e d i 在我国并没有得到 广泛地使用。 2 1 互联网技术的发展也带动了e d i 的发展,现在基于i n t e m e t 的e d i 有i n t e m e t m a i l 、s t a n d a r di c 、w e b e d i 和x m l e d i 等f 2 】。特别是w e b e d i 可以使企业只需 通过浏览器与i n t e m 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 1x i v i l 的发展促进了物流企业间数据交换技术的发展。基于x m l 的数据 交换成了现在研究的热点。利用x m l 格式描述基本的商业流程和商业元素, 形成了一些在一定范围内的标准,实现了局部的信息交流和资源共享1 2 】,但并 未实现真正的标准化。 现在国际上已经有一些基于x m l 的电子商务标准,如e b x m l 【l o 】等,它底 层通信基于h 1 v r p 协议,消息格式采用x m l 格式。国内对这部分也有相关的 研究成果,如中科院软件研究所的电子商务研究中心提出了c n x m l 【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 m l 检索语言。万维网联盟w 3 c ( w o r l dw i d e w 曲c o n s o r t i u m ) 为了规范这些语言推出了x m ls c h e m a 作为国际推荐标准的 3 第1 章绪论 l 模式描述语言【1 2 l 以及x q u e r y 为国际推荐标准的x m l 检索语言 4 1 。由于x m l s 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 使用特殊工具i “j 。x m l s c h e m a 简单易懂,懂得x m l 语法、规则的人都可以立刻理解它。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 n 报文实施指南的 x m l s c h e n l a ( x s d ) 生成规则l j “。 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 为消息格式的数据交换模型。该模型 是以j a v ae e 数据交换服务器为中心的星型结构,客户之间进行数据交换都是通 过服务器进行传递。本文给出了该模型的总体架构,客户端和服务器端的模块 结构,并对各模块的功能进行了说明。 2 ) 本文对数据转化模块、x m l 转换模块和接收发送消息数据模块这三个主 要的模块进行了设计并进行了测试。在设计数据转化模块时,本文借鉴关系数 据库的三级模式和二级映射,提出了以数据对象为中介实现非x m l 数据与x m l 数据相互转换,并以数据对象为中介实现x m l 数据与关系数据之间的相互转换。 3 ) 本文结合物流数据交换系统的特点,提出实用、方便的关系模式、x m l 4 第1 章绪论 s c h e m a 和u m l 模式三者之间相互转化技术。 钔分析了数据模式间数据和语义冲突,并使用讧l 描述匹配规则来解决数 据模式间的数据冲突和模式冲突。 1 4 本文的组织结构 本文的组织如下: 第1 章绪论:简述了课题的研究背景和物流数据交换的研究现状、本文的 主要工作和组织结构。 第2 章x m l 规范与j a v ae e 规范:介绍了x m l 及常见的a p i ,并且对 x m ls c h e m a 进行了介绍;简单介绍了j a v ae e 规范:较为详细地介绍了j m s 规范,并且依据文献 1 4 , 1 5 l 介绍了扩展j m s 功能策略以便更好地支持x m l 消息 的传递。 第3 章数据交换系统模型:本章提出了一种基于j a v ae e 和采用x m l 为 中间数据模型的星型结构的数据交换模型;设计了客户端和服务器端的模块结 构,并对各模块的功能进行了说明。 第4 章主要模块的设计:对三个主要模块进行了设计并给出了u m l 设计 图。这三个模块构成了数据交换系统的原型。 第5 章模式间的转化:本章对常见的三种数据模式u m l 模式、x m l s c h e m a 和关系模式之间的转化规则结合物流数据交换系统的特点进行了研究 与讨论。 第6 章模式问语义冲突及处理:本章对不同数据模式间的语义冲突进行了 分类,并且使用x m l 描述匹配规则来解决语义冲突问题。 第7 章总结:对本论文的工作进行总结,指出了进一步研究的方向。 5 第2 章x m l 规范与j a v ae e 规范 第2 章x m l 规范与j a v ae e 规范 本章对x m l 其a p i 进行了简单的介绍,并且对d t d 和x m ls c h e m a 进行 了介绍和比较;简单介绍了j a v ae e 规范,并较为详细的介绍了j m s 规范。本 章主要参考了w 3 c 组织推荐的x m l 规范【4 】和x m ls c h e m a 规范1 1 2 , 1 6 , 17 1 ,s u n 公司网站公布的j a v ae e5 和j 2 e e l 4 手册 1 5 , 1 9 】。 2 1x 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 ) 的一 个重要分支 4 】。x m l 具有可扩展性,允许用户按照x m l 规则自定义标记,突 破了h t m l 固定标记集合的约束。这样可以使 :导x m l 文件能够更好地体现数 据地结构和含义,也使得文件的内容更加显而易懂,使得网上数据交流更方便。 现在,x m l 的优势使得x m l 成为了数据交换的事实标准。 2 1 1x m l 主要特点和文档结构 x m l 主要特点如下: 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 中,显示样式从数据文档中分离出来,放 在样式表单文件中,如果需要改动数据的表现方式,只需更改样式表单而不必 改动数据文档本身。在x m l 中数据搜索可以使用x p a t h 简单高效的进行,不 必遍历整个x m l 文档,而只需找相关标记下的内容即可 4 1 。 3 ) 平台独立性。x m l 文档是纯文本,独立于各种开发平台。 x m l 文档结构【2 0 】: 6 第2 章x m l 规范与j a v a e e 规范 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 文档的 实例,该实例截取于文献i ”1 的报文实例,全文请见附录a 。 1 2 8 7 5 7 6 b y 2 1 2 常见x m l a p i 的介绍 7 第2 章x m l 规范与j a v a e e 规范 由于订l 的普遍使用,l a p l 也得到了迅猛的发展,现在有很多x m l a p i ,其中以d o m 、t d o m 和d o m a j 为最常见1 1 6 1 。 文档对象模型d o m ( d o c u m e n to 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 接口具有并行访问功能。为支持所有这些功能,a o m 4 j 使用接口和抽象 基本类方法。d o m 4 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 的性能,常见文献【1 6 】对此进行了详细说明,本文也是以 此为依据。因为d o m 4 j 使用方便且性能优越,本文采用d o m 4 j 解析x m l 文档。 2 1 3x m ls c h e m a 的介绍 对x m l 文档的有效结构进行描述比较常见的两种方式是:使用文件类型 定义d t d ( d o c u m e n tt y p ed e f i n i t i o n ) 和x m ls c h e m a 模式( 2 ”。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 的标准模式【1 2 1 。x m ls c h e m a 如同d t d 一样是负 责定义和描述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 本身就是 8 第2 章x m l 规范与j a v ae e 规范 一个x m l 文档,因此有定义它的订ls c h e m a 定义。ls c h e m a 规范中定 义了一些基本的数据类型【1 2 1 ,用户可以扩展这些基本数据类型来创建自定义的 数据类型。本文并不打算全面的介绍x m ls c h e m a 规范,只是为了本文后面的 需要进行简单的介绍,了解更多的x m ls c h e m a 知识参见文献12 1 7 盈】。x m l s c h e m a 文档的组成部分。 1 1 模式元素: x m ls c h e m a 本身就是就是x m l 文档,因此也应具有良好的和规范的格 式。x m ls c h e m a 的根元素总是名字空间中的模式元素。 2 1 简单元素: 简单元素基本格式: 。 模式的主体是元素,每个元素都与一种数据类型关联。x m ls c h e m a 已经 定义了基本数据类型,用户可以基于这些数据类型进行扩展。简单元素不包含 子元素和属性,它的数据类型是简单数据类型。定义简单元素的时候还可以通 过该元素标签包含d e f a u l t 属性来定义默认值 1 4 1 。 3 1 属性: 属性的基本格式: 。 属性还可以使用a t t r i b u t e 标签的f i x e d 属性、d e f a u l t 属性和u 属性。f i x e d 表明 该属性值固定为某个值,d e f a u l t 用来设定属性的默认值,u 辩来定义该属性是否 是必需的。 4 1 限制: 如果对某个属性值设定了类型,那么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 到12 的数字,则可以创建一个简单的月份数据类型,该类型 扩展了i n t e g e r 类型。 5 1 复杂元素: 复杂元素是内部含有子元素或者属性的元素。定义复杂元素所使用的语法 与简单元素的类似,基本格式如下: 9 第2 章x m l 规范与j a v ae e 规范 附录b 给出了一个完整的x m l s c h e m a 例子,它是与附录a 中x m l 文档 相对应的,该x m l s c h e m a 参照了国家标准1 3 】。本文使用a l t o v a x m l s p y 2 0 0 6 工具验证了附录a 中x m l 文档与附录b 中的x m l s c h e m a 是相符的。 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 支持用 户自定义类型,这就极大的增加了数据类型的灵活性( 12 1 。 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 1 命名空间 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 两种引用命名空间的方法。 2 2 j a v a e e 规范 2 2 1j a v ae e 规范简介 j a v a 2 平台有3 个版本:j a v a 2 平台标准版( j a v a2p l a t f o r ms t a n d a r de d i t i o n , j 2 s e ) ,j a v a 2 平台m i c r o 版( j a v a2p l a t f o r mm i c r oe d i t i o n , j 2 m e ) ,j a v a 2 平台企 1 0 第2 章x m l 规范与j a v ae e 规范 业版( j a v a2p l a t f o r me n t e r p d s ee d i t i o n , j 2 e e ) 。2 0 0 5 年6 月,j a v a o n e 大会召开, s u n 公司公布j a v a s e 6 。此时,j a v a 的各种版本已经更名,取消其中的数字”2 ”, j 2 e e 更名为j a v a e e j 2 s e 更名为j a v a s e ,j 2 m e 更名为j a v a m e 。 j a v a e e ,是s u n 公司为企业级应用推出的标准平台,最新版本是j a v a e e5 。 它是在j a v as e 的基础上增加了功能,能对于企业提供一个完整的可靠的安全 的j a v a 平台。j a v ae e 显著地减少了开发和部署多层结构的费用和复杂度,使 得服务能被快速地部署。j a v ae e 规范是为解决这些新的多层w e b 应用程序的 需求而制定的【1 4 1 ,j a v a e e 是一系列技术标准所组成的平台。常见j a v a e e 多层 体系结构【1 4 ,1 研包含四层:客户层、w e b 层、应用层和e i s 层。 2 2 2j a v ae e 的核心a p i 与组件 j a v ae e 平台由一整套服务、应用程序接口和协议构成,它以解决多层w e b 应用系统为目标,该规范来自j a v ac o m m u n i t yp r o c e s s ( j c p ) 。下面列出了j a v ae e 中部分技术规范,具体的可以参阅s u n 公司的网站公布的手册【t s a 9 1 。 1 1j d b c :( j a v ad a t a b a s ec o n n e c t i v i t y ) 2 、j n d i :( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) 3 、e j b :( e n t e r p r i s ej a v ab e a n s ) 4 、j a v as e r v l e t 5 1j s p :( j a v as e r v e rp a g e s ) 6 、j m s :( j a v am e s s a g es e r v i c e ) n j t a :( j a v at r a n s a c t i o na p i ) 8 、j a a s ( j a v aa u t h e n t i c a t i o na n da u t h o r i z a t i o ns e r v i c e ) 9 1j a x p ( j a v a a p if o rx m lp a r s i n g ) 2 3 j m s 规范 2 3 1j m s 规范简介 可移植的传输机制j m s 结合可移植的数据表示x m l 被证实是企业应用程 序集成和数据交换领域中的一个强大的工具 坫1 。j m s ( j a v am e s s a g es e r v i c e ) 是 第2 章x m l 规范与j a v a e e 规范 s u n 公司提出的j a v a 消息服务规范,被用来支持开发面向消息的分布式计算系 统。j a v a m e s s a g es e r v i c e 规范声称:j m s 是一组接口和相关语义,它定义了j m s 客户如何访问企业消息的功能【1 9 】。企业消息通常指得是面向消息的中间件 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 ) ,也是构建企业应用必须的组成部分。 j m s 不仅提供了同步消息传递机制,还支持异步消息传递机制。为了消息的可 靠性,j m s 也可以持久地存储消息。j m sa p i 是在m o m 中整合了j a v a 技术, 是j a v a e e 平台的重要组成部分。j m s 体系结构【”1 如图2 1 。 图2 1j m s 体系结构图 j m s 提供了两种类型的消息传递模型:发布订阅( 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 目的是用于一对一的消息传 递,也就是说让一个应用程序发送一个消息,并且这唯一的消息消费者接收消 息。p t p 模型让消息传递客户机通过称为队列( q u e u e ) 的虚拟信道发送和接收消 息。 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 服务器上断开时服务器会存储订阅程序丢失的消 1 2 第2 章x m l 规范与j a v a e e 规范 息,直到所有消息消费者接收到消息 2 4 】。 确认是通知提供者已经成功接收到消息的种机制。如果被处理的是接收 消息的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

温馨提示

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

评论

0/150

提交评论