xml的优点

xml的优点,第1张

轻量级的数据储存文件

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做数据交换可以使应用程序更具有d性,因为可以用位置(与普通文件一样)或用元素名(从数据库)来存取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加密可以使用一文档加密后对不同用户呈现不同视图,用户只能看到被授权的那部分内容。

实话实说,个人接触到使用Xml文件方式来保存数据的场景少之又少。除去求学期间根据课堂要求做静态网站时用于存储一些展示性数据,还有就是在WPF开发中保存一些常用但又不经常变化的离线数据。反而常使用Xml来做配置文件(例如SpringMvc、MyBatis和LogBack)网络数据传输和交互标准(例如WebService)、工作流设计(例如Activiti6)等情况较为常见。

Xml用于单设备数据存储的情况还说得过去,例如离线数据同步可以放在Xml数据文件中。在传统行业电商平台的规格,材质,产区等属性相对固定,Xml文件能很好胜任。再比如做一个内部使用的抽奖程序,将潜在用户群体以Xml方式保存也是不错的选择吧。所以Xml文件充当小型离线数据库还行。

而数据库的范围就比较宽泛,大致可以分为关系型数据库和非关系型数据库两大类。

关系型数据库以Oracle和MySql最为流困念渣行,学过编程的朋友应该耳熟能详,也是职场面试经久不衰的考察重点。

而NoSql算是后起之秀。在业务繁多复杂的当下,一些场景下关系型数据库应付起来相当吃力,有着更为复杂分类的非关系型数据库孕育而生。NoSql在搜索引擎(ElasticSearch)、键值(redis)、面向文档(Mongodb)和列存储(Hbase)等方面都能做高拆到得心应手。这些就让其有着更强的业务针对性,相比传统关系型数据库有着质的提升。下面简单列举几个应用场景。

Redis可用于计数、分布式锁实现、单点登录、限流和缓存数据等;

在复杂页面的数据不便以表数据结构保存时,使用Mongodb整页存储方便又简单;

Elasticsearch就是以空间换时间典型代表,在做搜索引擎和日志记录(ELK)等方面有很大优势;

Hbase不必再像关系型数据库那样以行为存储单元,而是以列为基准,非常便于数据结构拓展。

当下流行徽服务和各种解耦,连关系型数据库都不再设计外键关系,非关系型数据库大行其道,Xml文件用来汪悄保存数据显然已经不合时宜,当然也不能否认关系型数据库的地位和Xml的作用。重要数据或某些行业的特殊性还是要以关系型数据库为根基,毕竟事务、稳定性、安全性和技术恢复支持等方面需要考虑的重点。

1)XML可以用于本地计喊数族算的数据。传递到桌面的数据可以进行本地计算。XML解析器可以读取数据,并将它递交给本地应用程序(例如浏览器)进一步查看或处理。数据也可以由使用XML对象模型的脚本或其它编程语言来处理。

2)可以为用户提供正确的结构化数据视图。传递到桌面的数据可以以多种方式表示。本地数据集,郑弊可以根据用户喜好和配置等因素,以适当的形式在视图中动态表现给用户。

3)允许集成不同来源的结构化数据。使用代理可在中间层服务器上集成来自后端数据库和其它应用程序的数据,使该数据能够传递给桌面或者其它服务器,做进一步处理。

4)描述来自多种应用程序的数据。由于 XML 是可扩展的,因此它可以用于描述来自多种应用程序的数据,即使没有数据的内置描述,也能够接收和处理数据。

5)通过粒度更新来提高性能。XML 允许粒度更新。开发人员不必在每次改动时都发送整个结构化数据集。有了粒度更新后,只有改变的元素才毕局从服务器发送到客户机。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12220131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存