长期以来我们使用超文本传输协议 HTTP 来提供 Web 页面以及往来的内容。但当我们将 HTTP 或一些其它 Internet 传输协议 同 xml 结合起来,并指定 XML 文档自身的格式时,你得到了简单对象访问协议 SOAP。至少在开始构想它时,SOAP是被设计为从本地系统向远程系统传递远端方法调用的。基于 SOAP 的结构与同时代的其它远程结构—DCOM、CORBA 和 RMI 等等—所不同的,SOAP 协议可以穿越任何团体的防火墙,并且 SOAP 数据包中包含着以 XML 编码的数据。而且,它们易于分析和使用。SOAP 还有很好的伸缩性,这使得我们能同时为非常多的用户服务。
SOAP 模型最初的构想是使用请求-响应模型,同我们今天所用的 Internet 计算模型很相似。随后,SOAP 发展到包含了消息模型。两者的不同之处是 SOAP 在对远端系统上的方法参数进行编码时,有获得结果的特殊目的。它并不请求 Web 站点提供一个感兴趣的数据表格,相反,比如说,在同样的系统上我能调用一个假想称为 CalculatePayment() 的远程调用,并收到一个个人付款数值。是的,今天你能用一个表单做到这些,但关键是在调用服务和提交表单之间存在着差别。服务调用是功能更强的概念。
.NET:数据共享平台
给我一种语言 XML 和一种通讯方式 SOAP,我就能建立允许我们交互和合作的系统。这就是 .NET。最初,Microsoft 将建立这种强大的共享,然后他们需要一些时间将最初的版本放到公共领域。如果 .NET 像预期的那样工作,它将改变我们的计算习惯和业务实践,就像在过去的二十年里 DOS 和 Windows 所做的那样。可以预见,鼓励用户进行交互并为 Web 消费者提供服务的站点将繁荣昌盛。这些站点不会遇到麻烦甚至消亡,因为 Internet 消费者正在更多地意识到他们需要得到增强的服务。