Web Service、WSDL、SOAP、HTTP的概念存在诸多联系,在不同的产品中体现的概念也不一样。本文旨在描述一下其联系 和区别。
WebService 和 WSDL的关系?
Web Service提供一种可被调用的服务,该服务必须通过WSDL定义接口,接口描述了WEB SERVICE 的逻辑定义(types,messages,portTypes)和传输协议(bindings,services)。客户端通过WSDL定义的访问方式和逻辑结构调用该服务。
Web Service和SOAP以及HTTP的关系?
SOAP是简单对象访问协议,定义了一种跨平台的分布式系统通信协议。SOAP需要绑定到更低层次的传输协议(比如, HTTP,RMI,JMS)等。最常用的是HTTP绑定,所以也经常把SOAP的概念和HTTP混在一起说。
比如:W3C定义 ”A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages......"
理论上通过WSDL描述的Web Service可以有很多种不同的绑定,但是实际上经常使用SOAP HTTP绑定 (就是采用“SOAP通信协议的HTTP绑定格式”来绑定)。
小结一下,感觉狭义的Web Service肯定是用WSDL/SOAP/HTTP,泛义的Web Service只要用了WSDL就算。