相关技术规范
协议及消息传递(Protocol and Messaging)
SOAP
即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架;将程序对象编码成为XML对象的规则;执行远程过程调用(RPC)的约定。
SOAP 可以运行在任何其它传输协议上。例如,您可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息。在传输层之间的头是不同的,但XML有效负载保持相同。
性能:
SOAP 用 XML 将消息编码,因此在调用过程的任何一步都极易处理消息。另外,调试 SOAP 消息的方便性使各种 SOAP 执行能快速聚合在一起,这点很重要因为 SOAP 就是要达到大范围的协同工作。(CORBA、DCOM 和 RMI 对参数和返回值使用二进制编码。除此之外,他们假设发送端和接收端充分了解消息的前后关系,因此对诸如参数名称或类型的任何元信息都不编码。这种方法产生了良好的性能,但使中介很难处理消息。因为每个系统使用不同的二进制编码,所以建立互操作的系统很难)。
表面看来,基于 XML 的模式本应比基于二进制的慢,但它并不像表面那么简单。首先,当SOAP被用于通过因特网发送消息时,在每个端点给消息编码/解码的时间与在端点间传输字节的时间相比较是微不足道的,所以这种情况下使用 XML 没太大问题。
其次,当SOAP用于封闭环境下的点对点间的消息传送,如在同一公司部门间的传送时,各端点可能将运行相同的SOAP执行。这样,这个特定执行就拥有专门的优化机会。例如,一个SOAP客户端可添加一个 HTTP header 标记到 SOAP 请求上,这个请求说明它支持一个特定的优化。如果SOAP服务器也支持那个优化,它会在第一个SOAP响应中返回一个 HTTP header 标记,告诉客户端可以在下面的通信中使用这种优化。接下来,客户端和服务器可以开始使用这种优化了。