只要是走的HTTP端口,穿越防火墙是自然而然的事情,SOAP的优点并不只是这个。
作为已有的分布计算模型,尽管 CORBA 和 DCOM 已经在各种平台上得到了实现,然而实际
情况是建立在这些协议之上的任何解决方案都依赖于单一厂商的实现。因此,如果要开发
一个 DCOM 应用程序,分布式应用程序中所有参与的节点都必须以 Windows 风格运行。
如果要开发 CORBA 应用程序,应用程序环境中的每个节点都要运行相同的 ORB 产品。
现在也有来自不同厂商的 CORBA ORB 能够相互操作。但是那种互操作性并不能扩展到像
安全与事务管理那样的更高级别的服务中去。不仅如此,所有特定于厂商的优化在这种
情况下将丢失殆尽。
这两种协议都依赖于严格管理的环境。要找到能成功地在外部调用 DCOM 或 IIOP 的任意
两台计算机的几率比较小。此外,程序员们必须处理数据排列和数据类型所需的协议唯一
的消息格式规则。DCOM 和 CORBA 都是服务器对服务器通信的合适的协议。然而,它们在
客户机对服务器通信方面都存在严重的缺陷,特别是当客户机遍布因特网时。
我想SOAP的关键,是提供了跨平台、网络、语言的一种数据交换标准。由于它是文本传输,
并且需要额外的TAG,因此它的有效负载较低;数据的XML构造和解析需要开销,所以SOAP
的数据交换的效率的不高的。但它将分布计算的模型扩展到了WEB上,它的最大作用是用于
异构系统的资料整合并且不依赖于特定的实现。