XML的优势及应用领域

 

XML的优势及应用领域

XML探讨

XML的优点

我们在介绍XML基本概念时已经提到了XML语言的诸多优点,这里更加具体系统地总结XML的优点,列举如下:
1)XML文档的内容和结构完全分离
这个特性为XML的应用带来了很大的好处。基于这样的特点,企业系统可以轻松地实现内容管理和流程管理的彻底分离,例如系统架构师可以只关注流程运转中各环节的接口定义,而各部门则可以专注在内容发布和维护之上。
举例来说,微软公司的产品Biztalk正是利用了XML内容和结构分离的特点来实现内容和流程定义的分离。另外一个广泛的应用是XSL技术,由于XML文件的内容和结构分离,XSL才可以在不影响内容的情况下改变XML文件结构。
2)互操作性强
大多数纯文本的文件格式都具有这个优点。纯文本文件可以方便地穿越防火墙,在不同操作系统上的不同系统之间通信。而作为纯文本文件格式,XML同样具有这个优点。
3)规范统一
XML具有统一的标准语法,任何系统和产品所支持的XML文档,都具有统一的格式和语法。这样就使得XML具有了跨平台跨系统的特性。作为对比,同样作为文本语言,JavaScript的标准就远没有XML这样统一,以至于经常出现同一静态页面在不同的浏览器中产生不同的结果,而脚本程序员往往需要在程序的入口处费力地判断客户端所支持的脚本版本。
4)支持多种编码
相对于普通文本文档而言,XML文档本身包含了所使用编码的记录,这方便了多语言系统对数据的处理。
5)可扩展性
XML是一种可扩展的语言,可以根据XML的基本语法来进一步限定使用范围和文档格式,从而定义一种新的语言。例如:MathML(数学标记语言)、CML(化学标记语言)和TecML(技术数据标记语言),每种语言都用于其特定的环境。

使用XML的一些场合
1、数据交换
用XML在应用程序和公司之间作数据交换已不是什么秘密了,毫无疑问应被列为第一位。那么为什么XML在这个领域里的地位这么重要呢?原因就是XML使用元素和属性来描述数据。在数据传送过程中,XML始终保留了诸如父/子关系这样的数据结构。几个应用程序可以共享和解析同一个XML文件,不必使用传统的字符串解析或拆解过程。
相反,普通文件不对每个数据段做描述(除了在头文件中),也不保留数据关系结构。使用XML做数据交换可以使应用程序更具有弹性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取XML数据。

2、Web服务
Web服务是最令人激动的革命之一,它让使用不同系统和不同编程语言的人们能够相互交流和分享数据。其基础在于Web服务器用XML在系统之间交换数据。交换数据通常用XML标记,能使协议取得规范一致,比如在简单对象处理协议(Simple Object Access Protocol, SOAP)平台上。
SOAP可以在用不同编程语言构造的对象之间传递消息。这意味着一个C#对象能够与一个Java对象进行通讯。这种通讯甚至可以发生在运行于不同操作系统上的对象之间。DCOM, CORBA或Java RMI只能在紧密耦合的对象之间传递消息,SOAP则可在松耦合对象之间传递消息。

3、内容管理
XML只用元素和属性来描述数据,而不提供数据的显示方法。这样,XML就提供了一个优秀的方法来标记独立于平台和语言的内容。
使用象XSLT这样的语言能够轻易地将XML文件转换成各种格式文件,比如HTML, WML, PDF, flat file, EDI, 等等。XML具有的能够运行于不同系统平台之间和转换成不同格式目标文件的能力使得它成为内容管理应用系统中的优秀选择。

4、Web集成
现在有越来越多的设备也支持XML了。使得Web开发商可以在个人电子助理和浏览器之间用XML来传递数据。
为什么将XML文本直接送进这样的设备去呢?这样作的目的是让用户更多地自己掌握数据显示方式,更能体验到实践的快乐。常规的客户/服务(C/S)方式为了获得数据排序或更换显示格式,必须向服务器发出申请;而XML则可以直接处理数据,不必经过向服务器申请查询-返回结果这样的双向“旅程”,同时在设备也不需要配制数据库。
甚至还可以对设备上的XML文件进行修改并将结果返回给服务器。想像一下,一台具有互联网功能并支持XML的电冰箱将会给市场带来多么大的冲击吧。你从此不必早起去取牛奶了!

5、配制
许多应用都将配制数据存储在各种文件里,比如.INI文件。虽然这样的文件格式已经使用多年并一直很好用,但是XML还是以更为优秀的方式为应用程序标记配制数据。使用.NET里的类,如XmlDocument和XmlTextReader,将配制数据标记为XML格式,能使其更具可读性,并能方便地集成到应用系统中去。使用XML配制文件的应用程序能够方便地处理所需数据,不用象其他应用那样要经过重新编译才能修改和维护应用系统。

XML在Web应用中的安全性描述

XML风险描述的优势在Web风险中的应用

1. Web中的风险

Web中的风险从技术方面主要分为安全漏洞和威胁攻击。安全漏洞主要包括硬件缺陷、软件缺陷和配置不合理;威胁攻击则是利用安全漏洞对系统实施破坏。风险不是孤立的,一个威胁往往由几个威胁组成,一个攻击可以导致其它攻击的发生。这些需要更好的风险描述工具。

2. XML风险描述的优势

传统的风险描述主要包括适于规范数据,较为规范数据的关系数据库描述和适宜于非规范知识的本体描述。关系数据库不方便扩展,风险间的关系不易用二元关系表达且关系表难于设计,本体描述难度大,概念间的关系难确定且一致性差。
XML结合了关系数据库和个体描述,并有效地解决了传统风险描述的缺点。同时,XML Schema易于确定XML文档的格式,使得风险描述更易实施和见效。

3. XML在Web风险描述中的应用

通用漏洞发布(Common Vulnerability Exposures,CVE)推出了漏洞的XML格式文档;OASIS和OWASP分别提出了各自的基于XML漏洞描述语言。若在这些漏洞描述中增加有关风险的发现信息,风险的危害信息和风险的解决信息。这样在漏洞查找和描述的基础上增加了风险性质(发生概率、攻击成本等)的量化分析和策略的自动选择的条件为系统自动防御和策略自动实施创造了可能性。

XML开放性的优势在Web服务中的体现

1. Web Service的特点

Web Service是一种新的面向函数和方法的应用集成技术;它是一种标准的、开放的应用集成技术。它基于XML文档进行服务描述、服务请求和反馈结果,基于HTTP协议进行信息传递易于被访问和返回结果,基于WSC的开放协议,独立于平台和操作系统,实现不同平台操作系统上的互操作性,使得异构平台上的应用易于集成,这些促使了Web的迅猛发展。这些发展对Web的开放性提出了更高的要求。

2. XML开放性的优势

XML的开放性主要指它既与平台无关,又与技术提供厂商无关。它解决了电子数据交换(Electronic Data Interchange,EDI)的缺点。EDI的主要缺点是国际上对于交换数据的格式和语义没有统一标准。尽管国际上各个国家针对不同的行业制订了用于数据交换的EDL标准,然而一个系统为了能够和不同的行业乃至不同的国家的合作伙伴进行数据交换,不得不购买并安装多种进行数据转换的适配软件插件,更何况各个行业具体的用户在实现这些数据时会或多或少加上一些个性化的标准。因此,利用EDI技术实现平台系统成本和复杂度都比较高。

3. XML开放性在Web服务中的应用

XML的开放性,使得许多软件生产商提供的软件产品支持XML,使得XML成为不同用户的异构应用系统之间的数据交换的标准语言,具备了数据交换的透明性、各个用户只要保证自己的信息系统提供的数据符合XML规范,就不用担心数据接收方的解码问题。不同的用户间对XML标识采用统一的约定交互信息的双方不会因为对方使用的系统不同而受到影响。XML可以表达任意层次的结构性数据嵌套并可以进行数据正确性检验,支持用户间复杂的数据交换。XML Schema(XSD)定义了一套标准的数据类型,并给了一种语言来扩展它,从而实现了用户间的数据共享。由于Web Service自身的特点,XML为Web Service的跨平台性、透明地穿越合作用户的防火墙提供了保障。

XML加密优势在Web中的应用

对Web中数据保护的常用技术有数据加密、数字签名和访问控制,而XML作为一种元语言,已经成为Web异构环境下不同类型和不同领域数据交换的开放标准。 XML文档的访问控制机制与一般的访问控制机制不同,传统的访问控制机制不能直接应用于对XML文档的访问控制中。这是因为XML查询语言(Xquery)的存在,能直接寻找到每一个XML语义元素。访问控制模型必须能以多种粒度级别对XML语义元素制定访问权限,一般的访问控制对此没有特殊要求。

在Web中访问的用户具有异构和动态的特点使得传统的基于ID(用户身份)的验证机制不能适于应用。

1. XML加密的优势

XML可完成加密交换数据的一部分,而TLS/SSL的处理方式只能保证通信传输过程中的数据安全,不能对不同的用户施加不同的权限来保证用户信息的安全,即TLS/SSL不用完成对交换数据的一部分进行加密。XML加密可实现多方之间的安全会话,即每一方都可保持与任何通信方的安全或非安全状态,可在同一文档中交换安全或非安全的数据。XML加密可作为SOAP协议的安全性扩展,因为SOAP协议基于XML,可以通嵌入加密了的XML数据的形式来实现在消息传输的应用层灵活采用适当的加密策略。

2. XML加密在Web的应用

在Web中,XML加密的方法可以嵌入到文档内部,并且把安全粒度细化到XML文档元素和属性级别,实现同一文档的不同部分的安全要求。通过XML加密可以使用一文档加密后对不同用户呈现不同视图,用户只能看到被授权的那部分内容。

posted @ 2011-07-12 23:03  Lunaa  阅读(602)  评论(0编辑  收藏  举报