当前位置:有风信息港IT学院编程技术JAVA → 软件架构教程之Intenet技术

软件架构教程之Intenet技术

减小字体 增大字体 作者:有风IT学院  来源:有风信息港  发布时间:2008-1-13 9:22:45
  上一节中我介绍了客户/服务器技术的发展演化,互联网的发展对技术提出了更高的要求,传统的html标记语言逐渐不能满足企业大规模运算的需要,可扩展标记语言(XML)逐渐成为业界的标准。

  在主流新闻中很少技术引起可扩展标记语言那么大混乱。尽管XML是一种基础的、可以利用的技术,但是其趋势却是与其它的技术方案一起组合使用,并且弄不清XML与其它技术(通常是专利方案)的能力差异。下面将要讨论的是关于XML是什么以及为什么预计它会有很长的技术生命周期的等核心内容。

  可扩展标记语言(XML)

  创造XML的目的是终结特定应用的程序数据的交换问题。XML不是让两个或多个应用程序来决定它们之间使用什么样的格式来进行数据交换、在每个应用程序中使用什么样的代码逻辑按约定的格式读取和写入数据,而是提供与应用程序无关的方式描述数据的方法。XML使用标记(tags)来包含应用程序的数据并描述数据的信息。XML是一种环球网联盟的标准,并且被其它的大量标准使用。

  XML的一个优点是它解决了先前的开发中的一个实际问题:为每个与数据集交互操作的应用程序编写导入和导出程序是昂贵的和脆弱的。每次数据改变的时候,必须修改与该数据交互操作的每个应用程序以了解新的数据格式,即使那种改变对于不同的应用程序使用的数据元素几乎没有影响。在没有确保所有的应用程序都升级到可以处理某种变化的之前,应用程序不能够扩展已有的数据格式。从本质上说,数据的设计与负责读取和写入数据的应用程序是紧密关联的。这给共享数据的所有应用程序(趋向于包含多数环境中的很多应用程序)增加了很大的成本。XML提供的不依赖于使用数据的应用程序的数据建模的简单方式是革命性的。

  XML最终还是一种数据格式。原始的XML 1.0规范十分简明,主要定义了使用标记来描述数据元素的方法。这些标记都是用户定义的,有下面一些特性:

  结构化的(Structured)。XML使用标记来描述数据,使得数据文件可以自我描述(self-describing)。读取和处理XML文档的程序可以轻易地检测到某个文档是否包含特定的数据元素。同样,让程序检测某个XML文档是否被切断了或者格式不完整都很很容易的。

  灵活的(Flexible)。对于任何数据集合,XML都提供了表现数据的几种方法。灵活性有利有弊:它允许开发者为如何表现某个XML文件中的数据进行恰当的选择;它也允许开发者作出数据表现的不恰当或不明智的选择。

  验证的(Validated)。文档类型描述(Document Type Description,DTD)或XML大纲(Schema)让开发者能够定义指导数据表现的规则。XML分析器被广泛地用于根据大纲验证文档的正确性。

  可适应的(Adaptable)。生成XML文件的应用程序、操作系统、编程语言和数据管理系统都可能改变,然而XML文件仍然是可以读取的。

  标准的(Standard)。使用XML不需要许可,任何公司都不能改变它,使它与其它应用程序不兼容。

  可读的(Readable)。XML文件可以被编辑、修改并保存为纯文本。

  举个例子,建立一个描述冰淇淋口味的XML文档就十分简单,先决定要描述什么,接着记载特定的实例就行了。

  为什么这种技术如此强大?与其它的数据格式不同,即使这么简单的XML文档在二十年、五十年甚至成百上千年之后都能够被理解。十年前使用的数据格式中只有很少的可以被当前的应用程序理解了。而且如果数据可以被理解,那么它就能够被利用/处理。此外,有了XML分析器和其它补充的技术,不同的XML格式(和其它格式)之间的转换处理工作可以自动化进行。

  但是,这种灵活性也是有交换条件的。XML是一种描述数据的冗长的方法。在存储和传输同样的信息内容的时候,很少数据格式需要的空间有XML文档需要的大。其结果是,当性能和存储空间是约束条件的时候,其它的数据格式也是合乎需要的。当然,在目前硬件处理和传输速度快速发展的情形下,XML文件的大小通常仅仅是一种次要的考虑因素。在管理大量XML文档时会出现较大的问题。搜索大量的XML文档通常是有问题的。但是,XML文档索引系统、甚至于XML特定的硬件已经在帮助我们减轻搜索大量的XML文档所遇到的问题了。有些数据库厂商也正在自己的数据库中实现XML类型以处理存储和搜索的问题;例如,类似的增强功能在XML数据库产品Oracle 9i中是可以使用的。其它的大量公司也开发了XML特定的数据库,它们带有用于提高搜索性能和高效存储XML内容的一些定制的内容。最后,要清楚尽管我提到的很多XML的优点确实是可能的,但是它们中很少是自动的。XML本身的使用不是独立地完成大量的事务,而是需要很多的想法、计划和设计来把XML与其它技术一起高效率地使用。

  
热门推荐:
  

  href="http://www.enet.com.cn/eschool/inforcenter/A20041214371632.html" target="_blank">

  谈超频的概念及方法

  
  2004年十大热门显卡超频王


  

  java
script:window.open(this.src);" style="cursor: pointer;"/>
  
    

[1] [2]  下一页