Soap(Simple Object Access Protocol)是一个传输协议,一个很重要的特点是它的消息能被包含在其它协议的消息中传输(http,snmp之类的)。另外一个受欢迎的原因是它受最主要的那些软硬件厂商的支持.因为这个特点那用它来进行不同厂商产品,不同语言产品间的通信(不同产品集成)成为最佳的选择。在编程方面体现的优势就是它使一个标准的xml文件,现在xml文件编辑基本有可视化工具,操作超简单。
1)SOAP消息能被包含在其它协议的消息中传输.这是个很棒的特性,主要是因为它是xml格式的,因此能穿过防火墙!而一般情况下http消息中是禁止其它协议和使用其它端口的。
2)Xml格式。标准的xml格式要求,另外既然是协议,就是你额外必须无条件的接收“标准“,所谓的标准就是某些权威机构定义的大家都接受的游戏规则,想玩就得遵守,否则大家不认识你。
3)集成能力。可以把它想象成英语,国际通用语言额,不管你的母语是啥,但是你要和满世界不同种族的人说话,做朋友,就学它吧,简单易学。CORBA IIOP ,DCE RPC,com等等之间都能用它交流。
4)结构:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
虽然这四个部分在功能上是相交的、彼此独立的。特别的,信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样使得定义更加简单。
参考:http://www-128.ibm.com/developerworks/cn/xml/x-sisoap/
1)SOAP消息能被包含在其它协议的消息中传输.这是个很棒的特性,主要是因为它是xml格式的,因此能穿过防火墙!而一般情况下http消息中是禁止其它协议和使用其它端口的。
2)Xml格式。标准的xml格式要求,另外既然是协议,就是你额外必须无条件的接收“标准“,所谓的标准就是某些权威机构定义的大家都接受的游戏规则,想玩就得遵守,否则大家不认识你。
3)集成能力。可以把它想象成英语,国际通用语言额,不管你的母语是啥,但是你要和满世界不同种族的人说话,做朋友,就学它吧,简单易学。CORBA IIOP ,DCE RPC,com等等之间都能用它交流。
4)结构:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例; SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
虽然这四个部分在功能上是相交的、彼此独立的。特别的,信封和编码规则是被定义在不同的XML命名空间(namespace)中,这样使得定义更加简单。
参考:http://www-128.ibm.com/developerworks/cn/xml/x-sisoap/