网络新技术——SOAP

2010-06-29
  • 1546
  • 0

提到SOAP,许多人可能会想到肥皂,从单词方面讲是没错的,但我们今天要说的SOAP和soap不是一个概念,我们这里所说的SOAP(Simple Object Access Protocol)是基于XML的简易协议,可使应用程序在HTTP之上进行信息交换,即简单对象访问协议。或者更简单地说:SOAP是用于访问网络服务的协议。

它的特点是基于XML,从而独立于平台并独立于语言,完全被设计用来通过因特网进行通信,所以能够很好的解决应用程序之间的通信问题,并且可操作性和可扩展性强,将被作为W3C标准来发展。

互联网的好处在于大大地缩短了人与人这间的距离,实现了人与人之间零距离,然而这种效果是依靠应用程序才能实现的,也就是说对于应用程序开发来说,使程序之间进行因特网通信是很重要的。目前的应用程序都是通过远程过程调用(RPC)在不同对象间进行通信,但HTTP并不是为此而设计的,RPC也会产生兼容性以及安全问题。

直接使用HTTP在应用程序间通信是更好的方法,因HTTP得到了所有的网络浏览器及服务器的支持。SOAP就是被创造出来完成这个任务的——SOAP提供了一种标准的方法,使得运行在不同操作系统并使用不同技术和编程语言的应用程序可以互相进行通信。

SOAP消息其实就是一个普通的XML文档,主要包括:Envelope元素(必需,让接收方把XML文档认作是SOAP消息)、Header元素(可选,文档的头部信息)、Body元素(必需,所有的调用和响应信息)、Fault 元素(可选,提供有关在处理此消息所发生错误的信息)。

其中的大部分结构还是像XML文档一样用标签将内容包起来,即用XML来编码,但不能包含DTD和XML处理命令,而且必须使用SOAP Envelope命名空间和SOAP Encoding命名空间。

至此,我们已经对SOAP已经有了一个大概的认识了,要想在互联网中应用SOAP,接下来就应该学习一下WSDL和Web Services,如果有兴趣的TX可以了解一下。