web service 就是一种网络服务, 它通过 HTTP(大多数情况) 使用 SOAP message 对数据进行请求和反应。
举例: 比如我们建立了一个简单计算器的web service, 那么别人可以通过使用 SOAP message进行对数据的请求, 当我们的计算器web service接收到用户的请求的时候, 我们会先在终端对用户的请求进行处理,之后同样的返回一个SOAP message到用户。
在完全弄清楚web service之前, 需要了解几个定义。
1. 什么是SOAP?
2. 什么是Soap message?
3. 如何生成Soap message?
1. 答: SOAP :Simple Object Access Protocol. 它是一种传输协议, 用来定义在 应用和应用之间传输信息的协议, 简单来讲就是一种标准,生成和返回的soap message 应该是一种什么形式。 SOAP 通过 大多数情况下通过http进行传输。
2. 答: SOAP message 就是一个soap 的请求或者回应。它基于XML。 简单来讲它就是按照soap的语法使用XML进行编写的代码。
3. 答:我们现在明白了,要想使用我们的计算器web service。我们首先使用xml按照soap的标准来写代码,写的代码是用来向我们的计算器web service进行请求计算的。那我们该如何定位我们的web service呢?对于输入参数的要求又是什么呢? 返回参数的意义又是什么呢? 对于这一系列的问题,我们可以使用WSDL来进行回答。
WSDL : Web Service Description Language. 简单来讲,就是一种基于XML的文档,通过这种文档,我们能够知道如果定位web service,知道各个参数、方法各是什么。
另外摘取别人的一个例子流程帮助大家理解。
客户端——> 阅读WSDL文档 (根据文档生成SOAP请求) ——>发送到Web服务器——>交给WebService请求处理器 (ISAPI Extension)
——>处理SOAP请求——> 调用WebService——>生成SOAP应答 ——> Web服务器通过http的方式交给客户端
//***我是分割线*****
以上使用介绍的web service是soap web service, 那么还有其他的什么的web service吗? 答案是有的。
另外一种类型是 RESTful web service ( Representational State Transfer). 它的用处是和soap web service是一样的,都是处理用户的请求然后返回给用户结果。
区别?
SOAP Web Service | RESTful Web Service |
SOAP是一种协议 | REST是一种结构 |
全称是Simple Object Access Protocol | 全称是Representationnal State Transfer |
不能使用REST,因为它自己是一种协议 | 可以使用SOAP |
使用接口去使用web service提供的服务 | 使用URI去使用service提供的服务 |
SOAP必须严格按照一定的标准 | 没有太多标准的限制 |
对比REST需要更多的带宽等 | 更少的带宽 |
有自己的安全机制 | 继承来自它使用的协议的安全机制 |
仅仅能使用XML格式 | 格式不限 - JSON, XML, HTML, etc |
优先使用! |
如有错误欢迎指出!
reference: http://www.cnblogs.com/codelir/p/5476517.html