Web服务经常从它的组件技术的角度来进行描述。SOAP、UDDI、WSDL、xml以及HTTP各自组成了Web服务体系的一部分,它们都发挥了重要作用。让我们看看XML技术对Web服务平台的贡献。


标准化


与其它Web服务技术相比,标准化是XML特色之一。XML提供了Web服务应用程序之间传输数据的标准格式。万维网联盟(W3C)管理XML标准并发布给全球的XML技术提供者,这就确保了XML产品的兼容性。

除了XML引擎和产品外还有XML文法(grammar)。每一个XML语法都是一种在某个特定问题领域进行数据格式化的标准方法。遵循并采用XML文法,你就可以使两个应用程序间通信的数据格式标准化。


接口协议

程序员在对接口进行编程时经常将它称之为协议。从编程的角度出发,接口在没有暴露实现的情况下提供了编程结构。如果使用DTD(文件类型定义)和大纲(schema),那么XML就有类似的特性。DTD和大纲都用来描述XML文档的结构以及XML文档的建立规则。可以用一个(或者多个)相关DTD(或者大纲)组织这样的规则集合,我们称之为XML文法。

XML文法不仅可以用于应用程序之间通信的标准化,还可以为开发者提供一个接口协议。换句话说,开发者在创建一个需要使用XML文档结构的应用程序时,他不需要知道文档是如何实现的(即实际的XML文档)。DTD以及大纲描述了文档的结构,它们可以作为开发的接口协议。对DTD的任何改动同时也改变了协议。


简化

XML文档的另一个重要方面就是它的简化特性。我并没有暗示XML的实现很简单,而是说XML的概念和一般方法简单。例如,XML是基于文本文档的,这就简化了打开XML文档并查看其内容的过程。

用XML简化Web服务模型很方便,这一点也很重要。Web服务天然就比单独的XML要复杂。假设XML和CORBA同样复杂,而且其它Web服务技术的复杂度相同,那么Web服务技术就会变得非常笨重。但是通过使用简单的搭积木的方法,如XML、SOAP等等,我们可以控制Web服务的复杂度在一个可以容忍的范围之内,这样用它创建的应用程序不至于难以控制。


封装

封装是我最喜欢的XML特性之一,在开发Web服务的时候尤其如此。从本质上来说,封装指的是获得一个或者多个数据块(chunks of data)并把它们集合成一个简单对象(而不是几个独立对象)的概念。封装与集合(aggregation)类似,但是它们之间有一个重要的差别,即封装一般意味着它没有外部依赖性。

你可以创建带有外部依赖性的XML文档;但是在事务Web服务模型(transactional Web services model)中,利用封装会显得更加明智。通过设计包装了依赖性的XML解决方案,你一般都可以消除事务处理过程(交易)中的问题。强迫在交易中定位外部数据并使其与XML数据一致的方法是有害的,尤其是在外部数据常常发生变动的情况下。如果把数据封装到XML文法中去,就交易获得正确的数据。

以上就是详细告诉你为何XML对Web服务很重要的内容,更多相关内容请关注PHP中文网(www.php.cn)!

更多相关文章

  1. XML—尝试对一个XML文档进行增删查改编程的详解
  2. 详解通过XmlDocument读写Xml文档的示例代码
  3. XML中的树形结构与DOM文档对象模型的示例代码(图)
  4. XSLT语法—在.net中使用XSLT转换xml文档的示例代码详解
  5. XML中的DTD文档类型定义详细介绍
  6. 浅谈XML文档的阅读与编辑
  7. 详细介绍XML中的文档与声明用法
  8. .net读写xml文档详解
  9. XML中的DTD文档类型定义完全解析的示例代码(图)

随机推荐

  1. python正则表达式匹配时间和IP地址
  2. k近邻——kNN回归
  3. Mac中升级Python2.7到Python3.5步骤
  4. 在save方法中创建两个对象
  5. 【小白自学笔记】【机器学习实战】【Pyth
  6. 使用多处理Pool.map()时不能pickle
  7. 参与一个Python的开源项目Python-QQ
  8. 初学者的Selenium自动化测试指南,基于Pyth
  9. python多版本共存配置
  10. Tensorflow部分函数功能