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

温馨提示:内容为网友见解,仅供参考
无其他回答

XML有什么作用
XML不是为了显示数据而设计的,主要是用于交换数据,可以从HTML中分离数据,也可以用于存储数据,大量的数据可以存储到XML文件中或者数据库中,应用程序可以读写和存储数据,一般的程序可以显示数据。通过XML可以在HTML文件之外存储数据使用,也可以充分利用数据,可以用于创建新的语言XML是WAP和WML语言的母亲。

XML的应用分析
1998年2月万维网协会(W3C)发布了XML1.0 标准,XML是一种元标注语言,该语言提供一种描述结构数据的格式,是W3 C 定义的用于优化Web 上的传输的SGML (通用标记语言标准 ISO8879:1986)的子集,XML 确保结构数据是一致的并独立于应用程序或供应商,可编码各种情况(从简单至复杂)的内容,是语义和架构的数据标准。 2.2 X...

XML是什么,有什么作用
XML与Access,Oracle和SQL Server等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。XML的简单使其易于在任何...

XML是什么
XML,全称为Extensible Markup Language,是一种强大的、可扩展的标记语言。它主要用于数据交换和存储,常用于配置文件、文档结构和数据交换等场景。要打开XML文件,有多种方法和软件可供选择,比如使用Excel、Netscape 6浏览器,或者通过"XML源"任务窗格在Excel中导入。在Excel中,你可以将XML文件导入为XML...

什么是“xml”,如何使用?
XML应该可以在互联网上直接使用(*就象HTML那样好用)。XML应该支持各种不同的应用方式(*不但包括浏览,还包括对内容的分析)。XML应该与SGML兼容(*子承父业嘛,后面我们会讲到,SGML是XML的直接先驱)。处理XML文件的应用程序应该容易编写(*计算机系的研究生花上两周的工夫就该差不多了)。XML中的可...

web.xml的详细分析
例如,XML头必须是文件中的第一项,DOCTYPE声明必须是第二项,而web- app元素必须是第三项。在web-app元素内,元素的次序也很重要。服务器不一定强制要求这种次序,但它们允许(实际上有些服务器就是这样做的)完全拒绝执行含有次序不正确的元素的Web应用。这表示使用非标准元素次序的web.xml文件是不可...

msxml文本
XML文档每次分析的结果都一致,并且解析程序无需重建不完整的文档,从而提高了性能和稳定性。XML是SGML语言的子集,它保留了SGML的主要功能,但简化了复杂性。XML系统的目标是不仅仅表示文档内容,还表示文档结构,使得信息能够同时被人类理解和机器解析。XML文档遵循特定的标准,确保了文档的格式一致性。与...

xml的优点
XML在Web风险描述中的应用通用漏洞发布(CommonVulnerabilityExposures,CVE)推出了漏洞的XML格式文档;OASIS和OWASP分别提出了各自的基于XML漏洞描述语言。若在这些漏洞描述中增加有关风险的发现信息,风险的危害信息和风险的解决信息。这样在漏洞查找和描述的基础上增加了风险性质(发生概率、攻击成本等)的量化分析和策略的自动...

XML技术与数据库的发展趋势分析
XML技术自出现以来发展非常迅速 在许多领域内得到广泛的支持而有着广阔的应用前景 例如电子数据交换 电子商务等更是将XML作为一种基础性 支柱性的技术来看待 数据库简史 数据库系统是随着计算机技术的不断发展 在特定的历史时期 特定的需求环境下出现的 在 年的第一台计算机到 世纪 年代这漫长的 年里 计算机操作...

xml是什么
XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML...

相似回答