XML和Java: XML 究竟有哪些优势?
众所周知,XML 仍然是过去十年中出现的最流行的技术之一。但 XML 到底有哪些优势……
灵活性的代价
问题然后就集中在了代价与价值的对比。使用 XML 配置数据的代价是相当高的;我已提到了冗余性和资源需求,但是还有很多其他缺点。主要的优点 —— 假定您意识到会用 XML 并不算什么优点 —— 是灵活性。如果您已经在使用 XML,或拥有可能使用多种语言的多个应用程序,所有这些程序共享配置数据,则 XML 可能是一种非常可行的配置数据的策略。
XML 传输数据
除配置数据外,使用 XML 来在应用程序的组件和层之间 传输数据也日益流行。在此模式中,应用程序的不同部分使用 XML“语言”进行通信。虽然这比使用 XML 配置数据在技术上更具挑战性,但几乎同样流行,并且这也成为了如 SOAP、数据绑定和 Web 服务等技术的基础。
应用程序内数据传输
XML 最常见的用法之一是:作为一种数据格式在同一应用程序的不同部分之间传输信息。这实现起来很容易,因为是由同样的程序员或程序员团队控制发送和接收数据的结束。不幸的是,这也几乎肯定是最坏 的 XML 传输数据的用法。
当您在同一应用程序中发送和接收数据时,增加了同样的系统开销,如配置应用程序的数据部分所讨论的:冗余性、更大的文件和对 XML 解析器库(最低水平的库)的需求。而您实际上从使用 XML 中的获益远不及此。在大多数情况下,一个好得多的解决方案是:将序列化的数据或对象原型发送至您所使用的编程语言。这样处理起来更快,因为传输数据占用的带宽更少而且在接收端解码更加容易。
应用程序间数据传输
XML 在此常规领域中的一个更好的用法是:使用 XML 作为数据传输格式在应用程序间传输数据。应用程序中有一个组件可将数据发送至业务伙伴应用程序中的另一个组件。而数据被编码为 XML 格式。
这样做有一些实实在在的优点,因为您无需知道另一个应用程序的编程语言以及数据将如何使用的相关信息。反过来时也是如此;如果要接收数据,您几乎也无需了解发送数据的应用程序的信息。在这种情况下,XML 的冗余性缺点就不如所获得的灵活性那么重要,况且其只需将数据编码为 XML 数据格式而不是要遵循其他公司的编程规范或选择其他技术。
主题变更:Web 服务
Web 服务、SOAP、WSDL 以及当前正在热议的各种其他专门术语证明了其存在的价值。但是,各种可用的 Web 服务实际上只是应用程序间数据传输的子集。通过某个其他公司或技术提供商提供的组件,您得以在应用程序间发送和接收数据。
惟一实质的区别在于 Web 服务通常要求 您使用 XML。因此问题的实质在于涉及 Web 服务时不是您想不想使用 XML;而是您到底要不要使用 Web 服务。而那就变成了另外一个大得多的问题:权衡使用 Web 服务功能的价值与处理提供程序、提供程序运行速度(与 XML 有关,可能也受带宽、等待时间、特定提供程序以及一些其他因素的影响)和公司声望的代价之间孰轻孰重。换句话说,XML 成为了一个可以忽略的因素,而不是一个控制因素。
结束语
虽然大多数文章为您展示特定问题的具体解决方案,而这篇文章旨在引导您进行思考。在大多数可能的 XML 应用程序中,没有简单的“正确”答案。有时 XML 似乎比其他备用程序好,而有时又几乎肯定不 是这样,但在许多情况下,它只是诸多选择之一。您的任务是仔细思考文中详细介绍的常规应用程序,然后试着为您在自己的业务和项目中遇到的特定问题设计一些应用程序。
- 本文关键词:

