




已阅读5页,还剩82页未读, 继续免费阅读
(计算机应用技术专业论文)xml和web+service在企业电子商务中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 传统分布式计算技术c o r b a 、d c o m 和r m i 不适合于在松散耦合、异构的、 有防火墙的i n t e m e t 网络环境下进行电子商务应用系统的殴计秀发,而基于 x m l w e b 服务的分布式电子商务系统则满足了远程的数据交互、异擒平台上不同 应用间相互通讯以及穿越防火墙等一系列复杂的功能需求。 一种耨型的,具有自描述、开放、可扩展、简单和灵活等特性的标准技术体系 一x m l ,由于它在数据交换、数据传输和发商等方蠢其有独特的优势,可以满足 电子商务集成构造的多种技术要求。x m l 已经成为互联网 二数据发稚 u 数据交换 的事实标准。x m l 格式不仅可以保存数据,还可以保存数掘间的结构。利用标准 的x m l 数掘格式,网络中结构不同的节点可以互遂信息、调用彼此的功能达到信 息共享、资源共享的目的,从而充分发挥i n t e m e t 的作用。同时肇f x m l 的潮络 1 1 ;j 、议可以把x m l 格式的数据安全有效的发送到翻的地。冈此x m l 技术成为w e b s e r v i c e 发展的基石。w e bs e r v i c e 得到迅速发展,深入到日常生活中的每一个领域。 w 如服务基于x m l 、s o a p 、w s d l 和u d d i 等i n t e r n e t 标准。在w e b 服务中, 服务提供者通过服务中介者配置和发布服务,麒务请求者通过服务巾介者查找所 申请的服务,并绑定到这些服务上,以建立服务提供者和请求者之间的联系。在 发布、查找、绑定三种操作中,发布操作使用u d d i 技术,查找操诈使用u d d i 和w s d l 技术的组合,丽绑定操作使用w s d l 和s o a p 技术的组合。其中,绑定 操作最重要,它是应用服务的具体实施和应用服务间的交互操作。 本文首先深入研究了x m l 各主要技术,分析其原理,包括x m l 数据文件的 结构,格式的定义、校验,x m l 数据文件的解柝,基于x m l 技术的网络传输技 术。分析其优劣。接蓿深入分析了w e b 服务系统的背景、设目的、优势、相关 开发技术和基于w e b 服务系统的应用系统,重点列论了w e b 服务系统的设计思想 和方法。最后在分析的基础上,将w e b 服务技术引入x m l 应用系统中,这样l 叮 以很好地将w e b 服务强大的信息交换能力和x m l 的灵活性结合起来,从丽大大 提高系统的可管理性、可伸缩性、可维护性和可集成性,为摹于i n t e r n e t 的分布式 应用提供更强大的功能。结合w e b 服务系统的特点和应用平台我们没计了一个使 用w e b 缀务的企业简单报馀和审核系统,实现了w e b 服务系统和s q ls e r v e r 电子科技大学颈士学位论文 2 0 0 0 鼗攥簿整合,共通过基予x m l 瓣s o a p 傍议戆应用,实凌w e b 鞭务豹跨平 台溅务。 获键谲:w e b 瓣务,x m l , 电子裔务,s o a p 协议,w s d l t l a b s t r a c t a b s t r a c t t r a d i t i o n a ld i s t r i b u t e dc o m p u t i n gt e c h n o l o g yc o r b a ,d c o mm a dr m ia r en o tf i t f o rd e v e l o p m e n to fe l e c t r o n i cb u s i n e s sa p p l i c a t i o ni ni n t e r n e tw h i c hi sl o o s e c o u p l i n g a n dh e t e r o g e n e o u sn e t w o r ke n v i r o n m e n tw i t hf i r e w a l l an e wd i s t r i b u t e da p p l i c a t i o n d e s i g nm e t h o dw h i c hi sb a s e do nx m l a n dw e bs e r v i c ef o ri n t e m e te l e c t r o n i cb u s i n e s s a p p l i c a t i o nc o n s t r u c t i n gr e a l i z e st h er e m o t ei n t b r m a t i o ne x c h a n g e ,c o m m u n i c a t i o n b e t w e e nd i f f e r e n ta p p l i c a t i o no nt h eh e t e r o g e n e o u sp l a t f o r ma n dg o e st h r o u g ht h e f i r e w a l lt r a n s p a r e n t l y x m li san e wt y p et e c h n o l o g yc r i t e r i o nt h a th a st h en a t u r eo fs e l f - d e s c r i b i l i t y , o p e n n e s s ,e x t e n s i b i l i t y , s i m p l i c i t ya n df l e x i b i l i t y d u et oi t su n i q u ep r e d o m i n a n c ei n s o m ea s p e c t ss u c ha sd a t ae x c h a n g e ,t r a n s m i s s i o na n di s s u a n c e 、x m ls y s t e mc a n s a r i s f yt h ed e m a n di ne l e c t r o n i cc o m m e r c ei n t e g r a t i o nc i r c u m s t a n c e x m li s f a s t e m e r g i n ga st h es t a n d a r df o rd a t ar e p r e s e n t a t i o na n de x c h a n g eo nt h ew o r l dw i d ew e b f i l e su n d e rt h es t a n d a r do fx m lc a nn o to n l ys a v et h ed a t ab u ta l s ot h es t r u c t u r eo ft h e d a t ai t s e l f t h en o d e sw i t hd i f f e r e n tp h y s i c a ls t r u c t u r e ,d i f f e r e n to p e r a t i n gs y s t e m d i f f e r e n td a t as t r u c t u r e ,c a ne x c h a n g ed a t af r e e l yw i t he a c ho t h e ro nt h ei n t e r n e t ,u s i n g t h et e c h n o l o g yo fx m l + t h e yc a na l s oc a l lt h ef u n c t i o n so nt h eo t h e rn o d e t h e yc a n s h a r et h es o u r c eo f t h en o d eo nt h ei n t e m e t t h ew e bs e r v i c ec a nu s et h ep r o t o c o lb a s e d o nx m l t e c h n o l o g yt ot r a n s p o r td a t ai nx m l d o c u m e n t s s ox m l t e c h n o l o g yp l a y sa n i m p o r t a n tr o l ei nt h ei m p l e m e n t a t i o no fw e bs e r v i c e w e bs e r v i c ei sd e v e l o p i n gf a s t a n dg o i n gi n t oe v e r yf i e l do f o u rl i v e s w e bs e r v i c ei so nt h eb a s i so ft h ei n t e m e ts t a n d a r d ,s u c ha sx m l ,s o a p , w s d l , a n du d d i o nw e bs e r v i c e ,s e r v i c ep r o v i d e rc o n f i g u r ea n dr e l e a s et h ew e bs e r v i c eb y s e r v i c eb r o k e r , a n dt h a ts e r v i c er e q u e s t e rs e e kf o rt h ea p p l i e ds e r v i c eb ys e r v i c eb r o k e r a n db ei nb i n d i n gw i t ht h e s es e r v i c e s ,s ot h a ti tc a nc o n s t i t u t et h ea f f i l i a t i o nb e t w e e n s e r v i c e p r o v i d e ra n ds e r v i c er e q u e s t e r i nt h r e eo p e r a t i o n so fr e l e a s e ,s e e k i n ga n d b i n d i n g ,r e l e a s em a k eu s eo fu d d it e c h n o l o g y , s e e k i n go p e r a t i o nu s et h ec o m b i n a t i o n o fu d d i t e c h n o l o g ya n dw s d lt e c h n o l o g y , m o r e o v e rb i n d i n gu s et h ec o m b i n a t i o no f i i i 电子科技大学硕士学饨论文 w s d lt e c h n o l o g ya l ls o a pt e c h n o l o g y i m p o r t a m ,i ti s t h ea l t e r n a t i n go p e r a t i o n a c t u a l i z eo f a p p l i e ds e r v i c e t h e r e i n t o ,b i n d i n go p e r a t i o n i st h eb e s t b e t w e e na p p l i e ds e r v i c ea n di d i o g r a p h i c f i r s t l y , ih a v er e s e a r c h e dm o s t l yd a t ae x c h a n g et e c h n o l o g yb a s e do nx m l i nt h i s t h e s i sa n da n a l y z e dt h ep r i n c i p l e ss u c ha st h es t r u c t u r eo fx m ld o c u m e n t s ,t h em e t h o d s o fv a l i d a t et h es t r u c t u r eo f x m l ,d o c u m e n t s ,t h ep a r s i n go fx m ld o c u m e n t s , s e c o n d l nih a v ea n a l y z e dt h eb a c k g r o u n d ,d e s i g nt a r g e t ,a d v a n t a g ea n dr e l a t i v e d e v e l o p i n gt e c h n o l o g i e so ft h ew e bs e r v i c e w ed i s c u s st h ei d e aa n dm e t h o do fw e b s e r v i c e sd e s i g n i n go nt h i sb a s i so f w e bs e r v i c e sa p p l i c a t i o ns y s t e m f i n a l l y , u s i n gw e bs e r v i c ei nx m ls y s t e m sw i l lc o m b i n ew e l ls t r o n gt r a n s p o r t c a p a b i l i t yo fw e bs e r v i c ea n da g i l i t yo fx m l ,t h e nm a k et h es y s t e m se a s i e rt om a n a g e , e a s i e rt oe x t e n d ,e a s i e rt om a i n t a i na n de a s i e rt oi n t e g r a t i o na n ds op r o v i d eg r e a t e r f u n c t i o n c o m b i n i n gw i t ht h ec h a r a c t e ro fx m la n dw e bs e r v i c e w ed e s i g naw e b q u o t i n ga n da c c e s s i n gs y s t e m ,i nw h i c hw ei n t e g r a t et h ew e bs e r v i c ea n ds q ld a t a b a s e , t h r o u g ht h es o a pp r o t o c o la p p l i c a t i o n ,w er e a l i z et h ec r o s s p l a t f o r ms e r v i c e t h r o u g h t h eu s a g eo f x m lw e bs e r v i c es t a n d a r d ,t h ea p p l i c a t i o ns o f t w a r ec a nc r o s st h ep l a t f o r m p r o g r a n m f i n gl a n g u a g ea n di n t e r o p e r a t i o n k e y w o r d s :w e bs e r v i c e ,x m l ,e l e c t r o n i cb u s i n e s s ,s o a pp r o t o c o l ,w s d l 独创性声明 本人声睨所呈交的学位论文是本人在导师指导下进行的研究工 作及敬褥的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教舞机构的学位或证书面使用过的材料。 与我陌工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:一型燧 网期:钿口夕年肛月;f 日 关于论文使用授权的说明 本学位论文 乍者完全了解电子科技大学有关像留、使用学位论文 的规定,有权傈留并向国家有关部门或机构送交论文的复e l 件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位沧文 的全部或部分内容编入有关数攒库进行检索,可以:采用影印、缩印或 扫摇等复制手段保存、汇编学位沦文。 ( 保密的学位论文在勰密后应遵守此规定) 签名:至塑盘导师签名:三越 日期:印o j ,年l 月7 f 日 第一章绪论 1 1 引言 第一章绪论 在互联网应用刚开始的时候,我们浏览的网页只是静态的,不可交互的。而 现在随着技术的日益发展,将提供给网页浏览者一个可编程的w e b 站点。这些站 点将在组织、应用、服务、驱动上更加紧密的结合在一起,这些站点将通过一些 应用软件直接连接到另一个w e b 站点,这些可编程的w e b 站点相比传统的w e b 站点来说,将变得更加能重复使用,也更加智能化! 目前,大多数的w e b 应用程序使用分层模型进行创建,该模型包含了用户接 口、组件和数据库。组件将业务规则、其他具体功能以及对数据库的所有访问进 行封装。而w e b 服务可以提供企业级的集成,而且还对i n t e r n e t 上的任意设备连接 n i l e 务器上提供支持。w e b 服务从根本上说就是一个分布式解决方案,是分布式 计算机技术的一大飞跃。w e b 服务的设计目的是便于升级到下一代的i n t e r n e t ,使 用w e b 服务,更易于开发对等和分布式应用程序,其方法是提供连接的w e b 应用 程序可以共享的公共协议,w e b 服务的设计依赖于诸如h t t p 和x m l 这些i n t e r n e t 标准。在w e b 服务之前,公司通常是购买c o m :组件,然后在每台需要这些功能 服务器上进行安装,以便在自己的客户解决方案中使用这些组件。而w e b 服务的 出现使得第三方厂家通过w e b 服务提供这些功能。在w e b 服务升级时,你就可以 访问它们,因为w e b 服务就位于i n t e r n e t 上的中心位置,在需要升级时,你只需通 过w e b 服务内部功能的改变即可完成工作。w e b 服务还解决了长期以来困扰c o m 开发人员的同一台计算机中存在多个版本的c o m 组件的问题【”。 现在电子商务需要摆脱以往独立解决方案的实现模式,需要舍弃复杂系统连 接的实现方法,从而解决传统的电子商务的创建、维护和定制的代价及复杂度等 问题。一个有效的电子商务应用绝对不应该是仅仅基于程序员以及那些复杂的代 码的。对于电子商务而言,传统的由程序员主导的由里向外的开发模式应当被由 用户主导的由外向里的开发模式取代。冗长的串行的开发循环应当被即时的,快 速的应用装配所取代。同时这样的应用应当天生就具备高可定制性。如果探究其 商业本质,这是来自经过时问考验的商业技术橛念:”即时制造”以及”规模可伸 电子科技大学硕士学位论文 缩等概念,我们需要做的就是将传统的商业概念延伸到电子商务中去。基于x m l 技术的w e b 服务正是解决这一问题的最佳手段。 w e b 服务的使用将改变目前的开发模式和应用部署的费用规模。各种w e b 服 务分别实现了一定的电子商务功能,通过将各种电子商务的w e b 服务进行组合和 集成以创建动态电子商务应用。w e b 服务能够统一地封装信息、行为、数据表现 以及商务流程,而无需考虑应用所在的环境是使用何种系统和设备。通过使用w e b 服务,企业能够以以前所不可能的方式通过抽象和混合将自身的电子商务组件化。 当一个企业的核心竞争力被组件化之后,那么这些核心竞争力就能够很方便地在 不同的企业之间共享,同时架构跨企业的电子商务应用,形成商务w e b 。 1 2 本文的工作 本文将综合分析各主要技术,研究其原理,将相关技术进行研究对比,分析 优劣。最后自行设计一套用于w e bs e r v i c e 中的基于x m l 技术的企业电子商务解 决方案并在一个具体的案例中加以应用。论文的组织内容如下: 第二章:简要介绍x m l ,介绍其产生的背景,使用前景,它在电子商务中的 应用,x m l 语法,x m l 在数据定义,文件解析,数据显示方面的技术。d t d ,x m l s c h e m a 用于定义x m l 文件的存储格式、元素类型。d o m ,s a x 用于文件的解析, 文件解析是影响性能的关键所在,在此会详细分析对比相关技术,以及x s l t 技术。 第三章:介绍w e bs e r v i c e 系统的产生背景、发展以及w e bs e r v i c e 系统的相 关主要关键技术s o a p 、w s d l 、u d d l 。 第四章:综合前面几章讨论x m l 和w e bs e r v i c e 技术提出一套用于企业电子 商务的解决方案。在本文中,使用v i s u a ls t u d i o n e t 开发工具实现了w e bs e r v i c e 的具体应用系统,分析w e bs e r v i c e 实现方案的优越性,并针对其中关键性的问题 提出了相应的解决方案。通过对该应用的分析,验证了w e bs e r v i c e 作为一种全新 的w e b 开发模式的简单性、通用性和互操作能力,其开发和实现模式以及相关的 技术解决方案具有推广意义。 第二章x m l 及其处理方式 2 1x m l 产生的背景 第二章x m l 及其处理方式 w 曲使我们能够与任何地方的任何人通讯。广泛接受的标准( 这对完全使用 w e b 的潜力是至关重要的) 允许w e b 在多种交互操作的技术层上通讯。一个重 要层是可视化显示和用户界面,例如h t m l 、g i f 和j s c f i p t 之类的现有标准。这 些标准允许创建一次页面,并且在不同时间向众多接收者显示。 在x m i _ ( e x t e n s i b l em a r k u pl a n g u a g e ) 出现以前,i n t e m e t 上主要是通过h t m l 进行数据交换,它为推动w w w 的蓬勃发展、推动信息和知识的网上交流发挥了不 可取代的作用。尽管可视化和用户界面标准是必要层,但它们并不足以表示和管 理数据。 当前,i n t e r n e t 只是文本和图片的访问媒体。并没有智能搜索、数据交换、自 适应表示和个人化的标准。i n t e r n e t 必须超出设置信息访问和显示标准的限制。 i n t e r n e t 必须设置信息理解标准( 表示数据的通用方式) ,以便软件能够更好地搜 索、移动、显示和处理上下文中隐藏的信息。由于h t m l 是一种描述如何表示 w e b 页的格式,所以h t m l 并不能完成以上处理:h t m l 并不表示数据,它能够 也只能够描述数据的显示格式。例如,h t m l 不能做下面的事情: 允许医药实验室以所有接收者均能分析的格式发表统计信息。 以所有接受者均能解码和处理的表格描述电子支付。 提供搜索法律图书馆中有关某一主题的所有诉讼文档的标准方式。 指定以何种方式传送公司目录中的信息,以便销售人员可以脱机工作、向 客户显示目录、接受定单并以标准格式上载这些定单。 随着w e b s :件变得越来越复杂,又由于h t m l 是一种标记语言,强调的是如 何显示,缺乏数据信息含义表达。因此m a v l t 在可扩展性、交互性、描述数据内容 等方面有明显缺陷,不能满足网络时代的电子商务、远程医疗、远程教育等领域 的多态信息的交互、传输和再现的需求。 简而言之,尽管h t m l 提供了用于显示的丰富工具,但h t m l 并没有提供 任何基于标准的管理数据的方式。正如数年前用于显示的h t m l 标准扩展了 3 电子科技大学硕士学位论文 i n t e m e t 一样,数据标准亦将扩展i n t e m e t 。数据标准将是商业交易、公布个人喜 爱的配置文件、自动协作和数据共享的工具。将以此格式编写制药研究数据、半 导体部件图以及采购定单。这将开创众多新用途,这些新用途均基于在w e b 上到 处移动结构数据的标准表示,正如当前我们移动h t m l 页一样容易。数据标准是 x m l 和x m l 扩展名。 x m l 和h t m l 一样是s g m l 的精简子集。x m l 于1 9 9 8 年2 月成为w 3 c 的 正式标准。w 3 c 采取了简化s g m l 的策略,s g m l 中所有非核心的、未被使用的 和含义模糊的部分都被删除,剩下的就成为短小精悍的置标工具一) ( 】l 。在 i n t e r n e t 中x m l 的用途主要有两个,一是作为元置标语言,定义各种实例置标语 言标准;二是作为标准交换语言,担负起描述交换数据的作用。 x m l 强调的是结构描述,可以由用户自定义标签来组织数据格式,增强对信 息涵义的表达能力。由于电子商务平台大多由各个厂商自行开发,许多商业信息 和标准不同,虽然e d i 解决了机器之间无歧异性的信息识别和处理,但是e d i 的 成本高以及购买确保商业信息安全的v a n 限制了它的普及,而x m l 的自描述特 性使它成为将文件和结构化数据一起移动和沟通的最佳机制,只要双方遵循同一 x m l 数据格式,可以在不同的用户、不同的系统之间利用x m l 作为媒介进行数 据交换,尤其是在电子商务中,服务器与服务器之间、服务器与浏览器之间有大 量的数据需要交换,方便了数据在i n t e r n e t 上的交流。因此x m l 已经被广泛用于 解决应用程序之问的数据交换问题,它特别适合基于w e b 松耦合的应用程序【2 1 。 在系统内部的消息传递中,x m l 的大量采用是必然的趋势。n e t f r a m e w o r k 从框架的底层提供对x m l 的支持,包括a d o n e t 等技术都可以和x m l 紧密地 集成,从而便于系统内部和系统间的不同格式的消息交换和信息系统对消息的自 动化处理。n e t 提供了全面的d o m 对象模型的支持,并提供了类似于s a x 的 x m l 访问机带0 。 2 2x m l 的使用前景 随着x m l 在i n t e r n e t 应用中的普及,x m l 从w e b 网站的内容管理、内容描 述起步,逐渐发散到其他基于i n t e m e t 的应用中。相关的应用如下f 2 4 】【2 6 】: ( 1 ) 电子商务应用 x m l 的丰富标注完全可以描述不同类型的单据,例如信用证、保险单、索赔 4 第二章x m l 及其处理方式 单以及各种发票等。结构化的x m l 文档发送至w e b 的数据可以被加密,并且很 容易附加上数字签名。因此,x m l 有希望推动e d i ( e l e c t r o n i c d a t a i n t e r c h a n g e ) 技术在电子商务领域的大规模应用。 ( 2 ) 信息发布 信息发布在企业的竞争发展中起着重要作用。服务器只需发出一份x m l 文 件,客户可根据自己的需求选择和制作不同的应用程序以处理数据。加上x s l ( e x t e i t s i b l e s t y l e s h e e t l a n g u a g e ) 的帮助,使广泛的、通用的分布式计算成为可能。 ( 3 ) 智能化的w e b 应用程序和数据集成 x m l 能够更准确地表达信息的真实内容,其严格的语法降低了应用程序的负 担,也使智能工具的开发更为便捷。来自不同应用程序的数据也能够转化到x m l 这个统一的框架中,进行交互、转化和进一步加工。 ( 4 ) 应用层集成 当x m l 在经历了电子商务应用的经验之后,人们逐渐地1 i 仅在数据层上完成 应用系统( 尤其是商务系统) 的连接,同时希望在业务层或者函数层上完成系统 的互联,这也是人们常说的i n t e r n e t 环境的广泛互联。本文所使用的w e bs e r v i c e s 技术这是这方面的技术。 ( 5 ) 系统配置信息描述 随着x m 陆各种应用开放中的延伸,原先系统软件、应用软件中使用文本文 件、p r o f i l e 文件或者是i n i 文件形式进行系统、应用配置信息管理的方式逐渐被使 用x m l 文档的管理方式所代替。 2 3x m l 应用于电子商务的优点 x m l 具有内容和形式分离,良好的可扩展性,良好的跨平台移植性和良好的 自描述性等特点,它适合动态电子商务系统发展的需求: ( 1 ) 异构应用间的数据共享:x m l 的灵活性,扩展性以及自我描述等特性, 使异构应用问的数据共享成为可能。 ( 2 ) 数据检索:随着商务嘲站信息化的发展,强大的数据检索已成为其内在 的需求。x m l 的扩展性和灵活性允许它描述不同种类应用软件中的数据,从描述 搜集的w e b 页到数据记录,从而通过多种应用得到数据。如果没有x m l ,搜索软 件必须了解每个数据库是如何构建的,但这实际上是不可能的,因为每个数据库 件必须了解每个数据库是如何构建的,但这实际上是不可能的,因为每个数据库 电子科技大学硕士学位论文 描述数据的格式几乎都是不同的。x m l 能够使不同来源的结构化数据很容易地结 合在一起。软件代理商可以在中间层的服务器上对从后端数据库和其它应用处来 的数据进行集成。然后,数据就能被发送到客户或其他服务器做进一步的集合、 处理和分发。 ( 3 ) 集成不同数据源:x m l 能够将不同来源的结构化的数据结合在一起, 通过在中间层的服务器上对后端数据库和其他应用处来的数据进行集成。 ( 4 ) 数据本地计算和处理:基于x m l 的数据被传送到用户后,客户端可以 对这些数据进行解析和操纵,完成应用系统要求的功能。这些本地计算不需要与 服务器的额外通信,这样就减轻了服务器的压力,有利于在服务器和客户之间合 理分配计算的比例。 ( 5 ) 数据长久保存:x m l 基于开放的技术和行业标准,摆脱了s g m l 的过 分复杂,却继承了它的保值特性。采用x m l 作为资料数据的长久保存格式,其意 义非常重大。 ( 6 ) 数据的多样显示:x m l 把数据内容与它们的表现形式分开。这样既可 以只关心数据的逻辑结构,也可以通过样式表来格式化数据的表现。甚至定义自 己的个人样式表来显示各种不同的x m l 数据。【2 4 】 2 5 】 ( 7 ) 提供多语种支持:x m l 规范中对多语种的支持,包括u t f 7 、u t f 一8 、 u n i c o d e 、g b 2 3 1 2 、b i g 5 等,这一特点使得x m d 常有利于多语种的应用开发。 2 4x m l 数据存储机制 x m l 数据源多种多样,根据具体的应用,大概可分为下面三种: 一种是x m l 纯文本文档:即x m l 纯文本文档是最基本的也是最为简单 的,将数据存储于文件中,其最大的优点在于可以直接方便地读取,或者加以样 式信息在浏览器中显示,或者通过d o m 接口编程同其他应用相连。 第二种是关系型数据库:该数据源是对第一种来源的扩展,其目的是便 于开发各种动态应用,其优点则在于通过数据库系统对数据进行管理,然后再利 用服务器端应用( a s p 、j s p 、s e r v l e t ) 等进行动态存取。这种方式最适合于当前 最为流行的基于三层结构的应用开发。 第三种则来源于其他各种应用数据,如邮件、目录清单、商务报告等。 第三种数据由于来源广泛,因此需要具体情况具体对待。 第二章x m l 及其处理方式 2 5x m l 的语法 2 5 1x m l 文档的基本成分 x m l 文档自q 基本单元一元素。 它由起始标签、元素内容和结束标签组成。 它的语法格式为: 文本内容 。用户把要描述的数据对象放在起 始标签和结束标签之问。无论文本内容有多长或者多么复杂,x m l 元素中还可以 再嵌套别的元素,这样使相关信息构成等级结构。 处理指令 处理指令给x m l 解析器提供信息使其能够正确解释文档内容。常见的x m l 声明就是一个处理指令: 处理指令还可以有其它的用途,比如定义文档的编码方式是g b 还是u n i c o d e 编码方式,或是把一个样式单文件应用到x m l 文档上用以显示。 注释 注释是x m l 文件中用作解释的字符数据。 根元素和子元素 如果一个元素从文件头的序言部分之后开始一直到文件尾,包含了文件中所 有的数据信息,我们称为根元素。 x m l 元素是可以嵌套的,那么被嵌套在内的元素为子元素。 属性 属性给元素提供进一步的说明信息,它必须出现在起始标签中。属性以名称 取值对出现,属性名不能重复,名称与取值之间用等号“= ”分隔,并用引号引起 来。例如: 2 5 0 0 上例中的属性说明了薪水的货币单元是美元。 电子科技大学硕士学位论文 2 5 2 格式正规的x m l 文档 一个格式正规的x m l 文档包括序言、文档主体、尾声三部分。序言包括x m l 的处理指令等,文档主体由一个或多个元素组成,它的定义形式是一个层次树, 可选的尾声包括了注释、处理指令或紧跟元素树后面的空白。每个文档有且仅有 一个根结点。它被称作文档的根( d o c u m e n tr o o t ) 。这个结点总是包含子元素树。 这个树中有被称为文档元素( d o c u m e n td e m e m ) 的结点,它包含了文档中其他所 有元素。所有的元素构成了一个简单层次树,元素之间唯一的直接关系就是父子 关系。兄弟关系经常能够通过x m l 应用程序内部的数据结构推断出来,但由于元 素可能被插入到某元素的子元素之间,所以它是不可靠的。 x m l 是一种格式正规的标记语言,对语法有严格的限制,数据对象如果满足 下列条件就是格式正规的x m l 文档: ( 1 ) 文件的第一条语句必须是有关版本的声明。 ( 2 ) 元素构成一个层次树,只有一个根结点。 ( 3 ) 标记必须配对使用,不能交差引用,属性值必须用引号括起来。 ( 4 ) 特殊字符必须用x m l 中特定的编码来表示。 ( 5 )没有对外部实体的引用,除非提供了d r d 或x m l s c h e m a 。 2 - 1 x m l 文档树结构o l a e s t r u c t u r eo fx m ld o c u m e n tt r e e ) 任何x m l 解析器如果发现x m l 数据存在格式不正规的结构,就会向应用程 序报告致命错误,它不一定导致解析器终止操作,但不会再以正常方式向应用程 序传递x m l 结构和数据。 2 5 3 文档类型定义d t d 文档类型定义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 l 及其处理方式 则。它规定在文档中使用哪些标记,这些标记按什么顺序出现,哪些标记可以出 现在其他标记中,哪些标记有属性等等。d t d 最初是为了使用s g m l 而开发的, 它可以是x m l 文档的一部分,但它通常是一份单独的文档或者系列文档。 一个有效的x m l 文档首先应该是一个格式良好的x m l 文档,除此以外,它 还必须遵守文档定义d t d 中已声明的种种规定。d t d 实际上描述了一个置标语言 的语法和词汇表,也就是定义了文档的整体结构以及文档的语法。它定义了一个 语法分析器,用于解释一个“有效的”x m l 文档所需要知道的所有规则细节。这 个“规则”可以非常简单,仅仅列出所有有效的元素,例如元素、标记、属性、 实体;也可以非常复杂,不但列出这些元素,还指出这些元素之问的内在联系。 2 5 4x m l 模式( x m ls c h e m a ) 为了验证x m l 文档的有效性,可以使用d t d ,但是d t d 有很大的局限性: ( 1 ) 在涉及包含到可以包含的实际数据类型时,d t d 有很大的局限性。比如 d t d 不能约束数据是数字还是日期。数据的有效性,如整型、布尔型、字符串型 等,不能用d t d 来表述。属性可以约束成唯一的i d ,但是d t d 没有任何方式确 定它们的数据类型是什么。 ( 2 ) 局限性也体现在排序子元素上。此外,一个名字只能一个元素使用,因 此我们不能在不同的上下文中为同一个元素创建不同的定义( 比如两个不同父元 素的子元素) 许多常用的限制不能用d t d 来表述,这就促使了s c h e m a 的产生。与d t d 相 比,s c h e m a 不但功能上更强大,而且s c h e m a 本身也是x m l 文档,而不像d t d 那样是一种特殊的格式。 2 5 5 命名空间n a m e s p a c e s 在x m l 中,用户可以自己定义t a g 和元素,但是如果把多个x m l 文件合并 为一个时,就很可能出现冲突。为了避免在不同情况下具有相同标记名的元素或 属性之间的冲突,通过名称空间限定元素名或属性在w e b 上的唯一性。由于通用 资源识别符u r i 在i n t e m e t 上是独一无二的,因此经常把些u r i 确定为名称空 间,名称空间可以用显示声明或缺省说明。有了n a m e s p a c e s ,用户就可以保证在 他的文件中使用的名称是独一无二的。 电子科技大学硕士学位论文 2 6x m l 文档的解析 x m l 解析器是分析x m l 文档是否有语法错误,文档的结构和标记使用是否 合法的一种应用程序,通常意义上该程序输入的是x m l 文档,输出的是对该文档 语法分析的结果。非验证型的解析器仅仅保证数据对象是正规的x m l ,验证型解 析器使用d t d 保证格式正规的数据对象的形式和内容的有效性。一些解析器配有 判定数据对象是否需要验证文档的开关,同时支持以上两种类型。 处理x m l 数据的两种方法是: 使用基于树的解析器:它能够对树结构的文档进行操作,一旦树被生成, 应用程序就可以通过相关的a p i 来访问文档。微软开发的解析器m s x m l ,i e 5 内 置的x m l 解析器属此类。 使用基于事件驱动的解析器:解析器为每类数据( 指令、元素等) 执行 到应用程序的回调来处理x m l 标记,在解析之后并不维护元素的树结构,这是一 种对x m l 数据结构的低层次访问,它处理比较灵活,消耗系统资源较低。 2 6 1d o m 文档对象模型 d o m 即d o c u m e n to b j e c tm o d e l ,是对w e b 文档进行应用开发、编程的应用 程序接口( a p i ) 。它把x m l 文档的内容实现为一个对象模型,就是说应用程序如 何访问x m l 文档。当一个x m l 处理器解析了一个x m l 文档后,处理器把该文 档保存到一个内存空间树中。d o m 是访问该树的程序化接口,通过它你可以读、 添加、删除和编辑树中的节点。作为w 3 c 公布的一种跨平台、与语言无关的接口 规范,d o m 提供了在不同环境和应用中的标准文档的内容和结构,即利用对象把 文档模型化。这种对象模型实现的基本功能包括: 描述文档表示和操作的接口: 接口的行为和属性; 接口之间的关系以及互操作; d o m 对结构化的x m l 进行解析,文档中的指令、元素、实体、属性等所有 内容个体都用对象模型表示,整个文档的逻辑结构类似一棵树,生成的对象模型 就是树的节点,对象同时包含了方法和属性。其后对文档的所有操作都是在对象 树上的进行。 1 0 第二章x m l 及其处理方式 d o m 解析器将x m l 文档一次性解析,生成一个位于内存中的对象树用以描 述该文档,d o m 定义了一系列的对象和方法对d o m 树的节点进行各种随机操作。 从对象模型的角度来看,d o m 树中的所有节点都是从n o d e 对象继承而来的。n o d e 对象定义了一些最基本的属性和方法,利用方法可以实现对树的遍历,而根据属 性可以得知节点的名称、取值并判断其类型。 利用d o m ,开发人员可以动态地创建x m l 、遍历文档、增、删、改文档内 容。其面向对象的特性,使人们在处理x m l 解析x m l 相关的事务时节省大量精 力,是一种符合代码重用思想的强有力编程工具。d o m 提供的a p i 与编程语言无 关,所以对一些d o m 标准中没有明确定义的接口,不同解析器的实现方法也可能 有所差别。 2 6 2x i i l 简易应用程序编程接口( s a x ) 当分析x m l 文档时,某些事件一如文档的起始和某个元素的字符数据的起始 一将触发回调方法。通过使用执行逻辑所需的数据,可以实现这些事件的代码。 要弄清这种方法不能全靠直觉;开发人员通常要花费一段时间来理解和掌握回调 模型的使用。s a x 是用于x m l 的一种简单a p i ,是这种x m l 使用方法的事实上 的标准。 s a x 优点: 可以解析任意大小的文件,因为s a x 不需要把整个文档加载到内存,所 以对内存的占用比d o m 小的多。 适合创建自己的数据库,可以在事件发生的时候保存和组织需要的数据。 能随时根据找到信息的情况终止文档解析,避免了无谓的文档遍历。 能用高层对象从文档中非常简单快速地创建出新文档,采用d o m 则只能 利用底层的元素、属性和处理指令来构造新文档。 简单、高效。 , s a x 是属于底层的a p i ,给程序员更多的控制权。 s a x 速度快,消耗内存少,但是操作灵活性不够,不能保存文档的上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孕期离婚协议模板定制与婚姻财产分割指导合同
- 离婚房产归女方协议书:女方权益保障范本
- 离婚协议书范本:无子女双方协议书
- 石家庄市二手房买卖交易合同终止后权益保障协议
- 离婚协议6865I版:财产分割及债务处理细则
- 城市综合体物业管理与能源采购合同
- 食品企业生产信息保密及食品安全责任合同
- 班组级安全培训内容模板课件
- 小班教学水果课件
- 2025年病理生理学乳腺组织病理变化模拟考试卷答案及解析
- 不交社保劳动合同模板
- 2024年云南省中考数学试题(含答案)
- GB 14102.1-2024防火卷帘第1部分:通用技术条件
- 越野跑策划方案
- 《光学含沙量测量仪率定规范》
- 高考日语应用文写作失物招领寻物启事课件
- 产值计算方案
- 冬季抢工措施方案
- 运用PDCA循环降低急诊科医护人员职业暴露发生率
- 充电桩施工组织设计
- 静脉治疗护理技术操作标准2023
评论
0/150
提交评论