‘壹’ xml的优点
XML具有以下特点:
(1) XML可以从HTML中分离数据。即能够在HTML文件之外将数据存储在XML文档中,这样可以使开发者集中精力使用HTML做好数据的显示和布局,并确保数据改动时不会导致HTML文件也需要改动,从而方便维护页面。
XML也能够将数据以“数据岛”的形式存储在HTML页面中,开发者依然可以把精力集中到使用HTML格式化和显示数据上。
(2) XML可用于交换数据。基于XML可以在不兼容的系统之间交换数据,计算机系统和数据库系统所存储的数据有多种形式,对于开发者来说,最耗时间的工作就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。
(3) XML可应用于B2B中。例如在网络中交换金融信息, 目前XML正成为遍布网络的商业系统之间交换信息所使用的主要语言,许多与B2B有关的完全基于XML的应用程序正在开发中。
(4)利用XML可以共享数据。XML数据以纯文本格式存储,这使得XML更易读、更便于记录、更便于调试,使不同系统、不同程序之间的数据共享变得更加简单。
(5) XML可以充分利用数据。XML是与软件、硬件和应用程序无关的,数据可以被更多的用户、设备所利用,而不仅仅限于基于HTML标准的浏览器。其他客户端和应用程序可以把XML文档作为数据源来处理,就像操作数据库一样,XML的数据可以被各种各样的“阅读器”处理。
(6) XML可以用于创建新的语言。比如,WAP和WML语言都是由XML发展来的。WML(Wireless Markup Language,无线标记语言)是用于标识运行于手持设备上(比如手机)的Intemet程序的工具,它就采用了XML的标准。
XML 无所不在,XML 标准突飞猛进的开发进度,以及大批的软件开发商采用这个标准的日新月异的速度时,真的是不禁感叹这真是令人叹为观止。目前,XML 在 Web 中起到的作用不会亚于一直作为 Web 基石的 HTML。
XML 无所不在。XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。
(1)xml技术哪里好扩展阅读:
XML 与 HTML 的主要差异:
1、XML 不是 HTML 的替代。
2、XML 和 HTML 为不同的目的而设计:
3、XML 被设计为传输和存储数据,其焦点是数据的内容。
4、HTML 被设计用来显示数据,其焦点是数据的外观。
5、HTML 旨在显示信息,而 XML 旨在传输信息。
XML的意思:
1、XML 指可扩展标记语言(EXtensibleMarkupLanguage)
2、XML 是一种标记语言,很类似 HTML
3、XML 的设计宗旨是传输数据,而非显示数据
4、XML 标签没有被预定义。您需要自行定义标签。
5、XML 被设计为具有自我描述性。
6、XML 是W3C 的推荐标准
‘贰’ 常用的XML解析技术有哪些
常用的XML解析技术有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降非常厉害问题由DOM树结构所造成种结构占用内存较多而且DOM必须解析文件之前把整文档装入内存,适合对XML随机访问SAX:现于DOM,SAX事件驱动型XML解析方式顺序读取XML文件需要次全部装载整文件当遇像文件开头文档结束或者标签开头与标签结束时会触发事件用户通过其回调事件写入处理代码来处理XML文件适合对XML顺序访问
STAX:Streaming
API
for
XML
(StAX)
‘叁’ XML的应用分析
杜富殿
(海南省国土环境资源信息中心,海口,570206)
摘要:数据交换存在于“金土工程”相关的系统、数据、上下级信息传递中,以 XML 作为基础的数据交换形式,可以解决数据交换的安全性、可靠性、灵活性和开放性,为“金土工程”提供简捷和高效率的数据交换方式。
关键词:“金土工程”;XML;数据交换;数据总线
“金土工程”是国土资源信息大厦的框架工程,数据将是该工程的核心内容之一,由于“金土工程”所牵涉的数据内容、数据类型和数据格式等方面的异构问题,数据交换必然是“金土工程”中不可或缺的组成部分。以 XML 为技术基础的数据总线方式,将为“金土工程”各系统、数据、上下级,甚至系统和数据内部的交换提供松散耦合、明码、界线明晰的可扩充性、易维护性、开放性和统一性的数据交换平台。
1 “金土工程” 的数据交换体系
“金土工程”将采用面向服务的技术构架及电子政务平台思想,强调技术的实用性、通用性、可靠性、安全性,保障系统的可扩充性、易维护性、开放性和统一性。
在数据资源建设方面,采用主流 GIS 平台、面向对象型数据库等技术,按照统一标准建设与整合各类数据库,通过集中与分布式管理相结合、多级备份和相对独立的数据管理机制实现数据的统一管理与维护。
在应用系统建设方面,统筹规划,通过电子政务平台搭建国土资源业务应用系统。
无论在数据资源和应用系统的内部或之间都必须进行数据交换,形成数据交换体系。数据交换体系包括面向基础数据库同步与备份的交换系统、面向各级业务信息传递的交换系统、面向外部数据共享的交换系统,甚至面向系统内部模块间的数据交换。
面向基础数据库同步与备份的交换系统,主要实现将下级数据库的更新及时地、自动地同步更新到上级数据库。
面向各级业务信息传递的交换系统,主要是用来实现垂直业务系统上下业务流程间的业务数据交换、统计数据上报、材料上报或下发等。
面向外部数据共享的交换系统,主要实现国土资源系统与外部门间基础数据有关业务数据的交换。
面向系统内部模块间的数据交换,主要实现模块之间数据计算、处理等过程中数据的交换。
数据交换体系必须解决数据交换的安全性、可靠性、灵活性和开放性,采用 XML 技术作为“金土工程”数据交换体系的基础是一种较佳的选择。
2 XML 的发展和特点
2.1 XML 的发展
到目前为止,采用 HTML 编写的 Web 页面占相当比例。HTML 简单易学又通用,句法简明紧凑,加上其扩充的表格、帧、脚本等功能,使得它在 Web 主页上大显身手。但是随着 Web 应用的越来越广泛,HTML 过于简单的弱点也越来越明显了。
(1)链路丢失后不能自动纠正 由于许多页面的 URL 地址经常变化,浏览这些页面时就会遇到烦人的404 URL 地址未找到的信息。不得不手工一个个地更改链接相关页面的 URL地址,这大大加重了 Web 页面的维护工作量。
(2)动态内容需要下载的部件太多 用 HTML 建立的页面目前还不能对其页面的外观属性,例如色彩、字体、背景等实现更新,只能重新下载一个新的页面或 Java 部件。但 Java保存的数据搜索引擎是无法访问的,所以在 HTML 页面中使用 Java 来显示动态内容也不是灵丹妙药。
(3)搜索时间长 由于 HTML 页面没有类似于数据库的结构,在这样的文档资料中搜索目标时需要对全部页面的所有内容扫描,往往检索出一大堆与主题词无关的内容,这是因为HTML 无法区分信息与元信息而造成的。而且 HTML 不支持信息嵌套体系结构,因而限制了全文检索功能。
(4) HTML 缺乏对双字节或多国文字的支持,或者说支持不够。例如中文信息页面在不同的平台下会出现格式不齐等问题。
(5)HTML 可扩展性差 科学家无法用 HTML 书写数学公式、化学方程式以及分子晶体结构。
为解决这些缺点,可扩展标记语言——Extensible Markup Language,简称XML应运而生。
1998年2月万维网协会(W3C)发布了XML1.0 标准,XML是一种元标注语言,该语言提供一种描述结构数据的格式,是W3 C 定义的用于优化Web 上的传输的SGML (通用标记语言标准 ISO8879:1986)的子集,XML 确保结构数据是一致的并独立于应用程序或供应商,可编码各种情况(从简单至复杂)的内容,是语义和架构的数据标准。
2.2 XML 的特点
XML 自从出现以来,以其标准化、接口协议、简化和封装等优点,被誉为信息标准化过程的有力工具,基于 XML 的标准将成为以后信息标准的主流。
2.2.1 标准化
与其他服务技术相比,标准化是 XML 特色之一。XML 提供了系统之间传输数据的标准格式。万维网联盟(W3C)管理 XML 标准并发布给全球的 XML 技术提供者,这就确保了 XML 产品的兼容性。除了 XML 引擎和产品外还有 XML 文法(grammar)。每一个XML语法都是一种在某个特定问题领域进行数据格式化的标准方法,遵循并采用 XML 文法,任何人都可以使两个应用系统间通信的数据格式标准化。
2.2.2 接口协议
在对接口进行编程时经常将它称之为协议。从编程的角度出发,接口在没有暴露实现的情况下提供了编程结构。如果使用 DTD (文件类型定义)和大纲(schema),那么XML 就有类似的特性。DTD 和大纲都用来描述 XML 文档的结构以及 XML 文档的建立规则,可以用一个(或者多个)相关 DTD (或者大纲)组织这样的规则集合,称之为 XML文法。
XML 文法不仅可以用于应用程序之间通信的标准化,还可以为开发者提供一个接口协议。换句话说,开发者在创建一个需要使用 XML 文档结构的应用程序时,不需要知道文档是如何实现的(即实际的 XML 文档)。DTD 以及大纲描述了文档的结构,可以作为开发的接口协议,对 DTD 的任何改动同时也改变了协议。
2.2.3 简化
XML 文档的另一个重要方面就是它的简化特性,而是说 XML 的概念和一般方法简单。例如,XML 是基于文本文档的,这就简化了打开 XML文档并查看其内容的过程。
用 XML 简化 Web 服务模型很方便,这一点也很重要。Web 服务天然就比单独的XML要复杂。假设 XML和CORBA同样复杂,而且其他Web服务技术的复杂度相同,那么Web服务技术就会变得非常笨重。但是通过使用简单的搭积木的方法,如XML、SOAP等等,可以控制 Web 服务的复杂度在一个可以容忍的范围之内,这样用它创建的应用程序不至于难以控制。
2.2.4 封装
封装是XML特性之一,在开发Web服务的时候尤其如此。从本质上来说,封装指的是获得一个或者多个数据块(chunks of data)并把它们集合成一个简单对象(而不是几个独立对象)的概念。封装与集合(aggregation)类似,但是它们之间有一个重要的差别,即封装一般意味着它没有外部依赖性。
可以创建带有外部依赖性的 XML 文档,但是在事务 Web 服务模型(transactional Webservices model)中,利用封装会显得更加明智。通过设计包装了依赖性的 XML 解决方案,一般都可以消除事务处理过程中的问题。尤其是在外部数据常常发生变动的情况下,强迫在事务处理中定位外部数据并使其与 XML 数据一致的方法是有害的。如果把数据封装到XML文法中去,就交易获得正确的数据。
3 XML 数据总线应用分析
3.1 XML 为 “金土工程” 的数据交换搭建总线
“金土工程”的各系统和层次之间的数据交换通过开放的 XML 数据总线技术实现,XML数据总线由四部分的内容组成:发布、集成、分布和自动化,如下图所示。
XML 数据总线图
发布数据总线是将同一数据内容在客户端根据不同的用户需求进行不同形式展现的数据交换。通过数据总线方式将数据显示与内容分开,XML 定义的数据允许指定不同的显示方式,使数据更合理地表现出来。XML 补充了 HTML,逐渐被广泛地用来描述用户界面,形成了 HTML 描述数据的外观,而 XML 描述数据本身。
本地的数据能够以客户配置、使用者选择或其他标准决定的方式动态地表现出来,CSS和 XSL 为数据的显示提供了公布的机制。通过 XML,数据可以粒状地更新。每当一部分数据变化后,不需要重发整个结构化的数据。变化的元素必须从服务器发送给客户,变化的数据不需要刷新整个使用者的界面就能够显示出来。改变了 HTML 方式,只要一条数据变化了,整一页都必须重建,这严重限制了服务器的性能。
另外,通过 XML 总线方式发布的数据还允许加进其他数据,加入的数据能够进入存在的页面,不需要浏览器重新发一个新的页面。
集成数据总线是系统之间的两个或更多异质数据库之间进行数据交换。
系统之间与这些有各自不同的复杂格式的数据库间通过 XML 标准语言进行交互,这是由于 XML 的自定义性及可扩展性,使其足以表达各种类型的数据。系统收到数据后可以进行处理,也可以在不同数据库间进行传递。XML 解决了数据交换的统一接口问题。
XML 给系统赋予了强大的功能和灵活性。比如进行更有意义的搜索,并且数据被XML 唯一地标识。没有 XML,搜索工具必须了解每个数据库是如何构建的,但这实际上是不可能的,因为每个数据库描述数据的格式几乎都是不同的。由于不同来源数据的集成问题的存在,现在搜索多样的不兼容的数据库实际上是不可能的。通过 XML 数据总线的方式能够使不同来源的结构化的数据很容易地集成在一起,可以在中间层的服务器上对从后端数据库和其他系统来的数据进行集成,然后,数据就能被发送到客户或其他服务器做进一步的集合、处理和分发,达到数据库之间的数据交换。
分布数据是通过数据总线方式将大部分处理负载从服务器发布转到客户端的数据交换方式。
客户可根据自己的需求选择和制作不同的应用系统以处理数据,而服务器只需发出同一个XML文件。如按传统的“Client/Server”工作方式,客户向服务器发出不同的请求,服务器分别予以响应,这不仅加重了服务器本身的负荷,而且网络管理者还须事先调查各种不同的用户需求以做出相应不同的程序,但假如用户的需求繁杂而多变,则仍然将所有业务逻辑集中在服务器端是不合适的,因为服务器端的服务系统可能来不及满足众多的应用需求,也来不及跟上需求的变化,双方都很被动。应用 XML 数据总线的方式则将处理数据的主动权交给了客户,服务器所作的只是尽可能完善、准确地将数据封装进 XML 文件通过总线方式进行交换,形成各取所需、各司其职。利用了 XML 的自解释性使客户端在收到数据的同时也理解数据的逻辑结构与含义,从而扩展了广泛、通用的分布式计算方式。
自动化数据总线是遵循共同的数据交换标准,使得应用程序具有一定的自动处理能力,以便实现对所取得的信息进行编辑、增减以适应用户的需要,从而提高工作效率的方式。开发一个典型的国土资源管理应用智能代理程序的步骤如下:①该程序向下一级国土资源管理部门的数据交换系统发出一个数据更新的请求,在得到应答后,自动连接答复中提供的所有所在级国土资源部门的站点;②搜索预定数据的信息,并对获取到的不同站点针对该内容的信息按一定的规则进行比较;③得出所需要的结果,并自动向所在站点的国土资源管理部门发数据更新的通知。
3.2 XML 数据总线的特点
3.2.1 数据交换的安全性
在数据交换中心的设计中采用了 XML 文档作为数据交换的媒体。对于文档的加密现在有非常成熟的方法,所以可对 XML 文档整篇加密,并经过数字签名认证后安全地发送给一个或多个接收方,数据接收方接收到 XML 数据文档后经过解密即可使用。
3.2.2 系统的可靠性
在数据交换中心的设计方案中,考虑整个数据交换中心作为一个独立的应用服务组件存在于国土资源管理部门的信息系统环境中,而不依赖于任何独立的信息系统,则系统不会受到信息系统意外崩溃的影响。
交换中心与数据库脱离,即在正常情况下数据交换中心不与任何信息系统或其他专业系统的数据库进行互操作,所有的数据处理都经由数据的拥有者和请求者进行处理。这种设计方式既保证了各系统的独立性和安全性,又保证了系统之间的交互性。
数据交换中心存在于应用服务器环境中,可以利用应用服务器环境提供的动态负载均衡和失败恢复功能,保证数据交换中心长期可靠的运行。
3.2.3 系统的灵活性
数据交换中心提供基于消息的数据交换方式和由数据交换中心直接进行数据读写两种数据交换方式,以适应各种系统环境。
基于消息的数据交换方式是数据交换中心的首选方式,在该方式下数据交换中心与支持消息机制方式的系统进行异步数据交换。数据交换的发起方向数据交换中心提交 XML形式的消息后继续执行其他任务,直到从数据交换中心收到数据交换完成的消息后,再对要求的数据进行处理。在基于消息的数据交换方式下,数据交换中心对消息进行全程管理,保证消息的接收顺序及数据的正确性。
数据交换中心还提供由数据交换中心直接进行数据读取的数据交换方式,在此方式下,数据交换中心主要与被动提供数据的系统进行交互,那些系统只需要提供数据而不会要求数据,同时系统的构成相对简单。
3.2.4 系统的开放性
数据交换中心对外提供消息控制 API 和数据转换协议定制工具,使得任何系统只要通过数据转换协议定制工具往数据交换中心中添加数据转换协议,就可以使用数据交换中心提供的消息控制 API 与数据交换中心进行数据交换。
由于 XML 标准具有可扩展性,并且有很强的自描述功能改进了传统的数据表示方法,不仅非常适于数据交换与信息发布,而且将日益成为显示、索引等的基础。现在的数据库基本都已提供了 XML 转换工具,因此 XML 文档非常适合用作跨系统、跨平台的“金土工程”中数据交换,随着 XML 作为在交换数据的一种标准方式的出现,基于 XML基础的应用将会更简捷和拥有更高的效率。
参考文献
[1]国土资源部.国土资厅发[2004]23 号关于印发《全国金土工程建设总体方案》的通知.2006
[2]Won Kim,Ki-Joon Chae.“Component-Based Knowledge Engineering Architecture.”JOOP,1999
[3]Ritter,D.The Missing Link for D2B E-Commerce.Intelligent Enterprise,1999
[4]高波,王琰,Ben Chang.Oracle,XML 开发手册,北京:机械工业出版社,2001
[5]XML 中国论坛.“XML 实用进阶教程”.北京:清华大学出版社,2001
[6]王仲,陈晓鸥.基于 XML 的数据交换与存取技术研究.计算机工程与应用,2001
[7 ]徐天昕,金烨,李柳玲.基于XML的对称式Web-EDI 系统的设计与实现,计算机集成制造系统-CIMS,2001
[8]何蓉,方旭明.基于 XML 的电子商务定单处理管道设计.计算机应用,2002