XML的常用领域及其优势
本文节选自《.NET程序员面试指南》一书
这个问题考查的是应聘者的架构设计能力,而非技术能力。只有理解了XML的特点优势,才能在系统架构中更好地使用XML。而了解XML的应用领域,能够帮助架构师触类旁通,利用XML架构出更加优秀的系统。
所涉及到的知识点
• XML的优点
• XML的常用领域
分析问题
1.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(技术数据标记语言),每种语言都用于其特定的环境。
2.XML的常用领域
由于上述种种优点,XML非常适合于下列领域:
1)数据交换
由于XML的跨平台性和统一性,使用XML文档来在系统间交互数据是最常见一种选择,而XML确实能够很出色地胜任这样的任务。正是由于XML的应用越来越普遍,基于本结构模式的数据库技术得到了有效的发展,这无疑使得XML在数据交换领域变得更有优势。
2)Web Service
和XML一样,Web Service是近几年来又一热门技术话题。随着网络硬件的发展和普及,Web Service的应用成为系统中分布计算和数据处理的主要技术。Web Service基于的是SOAP协议,SOAP协议是不限制平台和技术框架的。而使得SOAP拥有这样跨平台能力的正是XML。SOAP是一种完全基于XML的协议。
3)电子商务
电子商务是一个非常广阔的应用领域,XML的内容和结构分离特性,特别适合电子商务的系统概念。而随着B2B、B2C业务模式的飞速发展,XML在电子商务系统中正在扮演着越来越重要的角色。
4)配置文件
这可能是程序员遇到最多的情况了,在.NET架构中,所有的配置文件都使用XML文档格式,这是因为XML的语法非常严谨,这有利于文件的读写。而且由于XML的跨平台性,采用XML文档格式的配置文件更容易在不同系统间进行交互。
答案
XML具有内容和结构分离、互操作性强、规范统一、支持多种编码格式等特点,正是由于这些优点,XML已经被应用在数据交换、Web Service、电子商务、配置文件等多个领域之中。
5}J J l\m8rsm13164110
f.MT6?+~ Q13164110【书名】.NET程序员面试指南
【作者】朱毅 等 编著
【ISBN】978-7-121-07675-6
【出版社】电子工业出版社
【出版日期】2008年12月
【宣传语】
从面试的角度来梳理.NET程序员的技术功底。
以项目开发经理的眼光来审视编程知识的掌握。
【内容简介】
本 书着重针对.NET技术职位的应聘者,在.NET框架各个技术类别中,选取最常出现在.NET面试中的问题,进行分析和解答,同时解释和剖析和该问题相关 的.NET机制原理,帮助读者达到知其然更知其所以然的程度。本书几乎包揽了所有常见的面试题,从基础知识、数据库,再到比较流行的XML、测试方法和算 法,是目前市场上唯一一本面试试题集锦。
全书配合了大量的图例及代码说明,非常适合正打算参加.NET技术职位的应聘和希望梳理.NET框架下技术点的读者阅读