fs_jin

导航

 

Web Service

Web Service:MS在2000年创造了Web Service这个词,它描述的是允许计算机网络(互联网
是典型,但不局限与此)相互通信的一套标准,其核心之一是可扩展标记语言(XML),另一
个则是HTTP。
 
5个基础标准(其中有两个是早就有了的通用标准,他们被用来实现Web Service方法,另外3
个是专门用于Web Service的):
1. XML 用来描述模型,格式和数据类型的通用格式,其他大多数标准都是用XML来表达的标
准。
2. HTTP(HTTPS),互联网底层协议。HTTP(S)是运用了互联网技术,通过网络发
送Web Service的可能的协议之一。
3. WSDL(Web Services Description Language):用来定义服务接口。描述服务的两个方
面:服务的签名(名字和参数),以及服务的绑定和部署细节(协议和位置)。
4. SOAP是Web Service交换数据所准寻的协议。
5. UDDI,管理Web Service的标准(注册和找到服务)
 
通常来说,使用WSDL标准是Web Service的关键特性,其他都是可选的。例如,不一定非
得使用SOAP和HTTP莱发送服务请求,也可以使用

 

SOAP

什么是SOAP,我想不用多说,google一把满眼都是。其实SOAP最早是针对RPC的一种解
决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息
(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得
现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制
定,增加了SOAP的成熟度,也给SOAP增加了负担。

WSDL

WSDL是为描述Web服务发布的XML格式。W3C组织没有批准1.1版的WSDL,当前的WSDL版本是2.0,

是W3C的推荐标准,并将被W3C组织批准为正式标准。 在诸多技术文献中通常将Web服务描述语言简写为WSDL,

读音通常发为:"wiz-dəl"。 WSDL描述Web服务的公共接口。

这是一个基于XML的关于如何与Web服务通讯和使用的服务描述;

也就是描述与目录中列出的Web服务进行交互时需要绑定的协议和信息格式。

通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。

REST

REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,
在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应
用协议。SOAP类型的WebService就是最好的例子,SOAP消息完全就是将Http协议作为消息承
载,以至于对于Http协议中的各种参数(例如编码,错误码等)都置之不顾。其实,最轻量级
的应用协议就是Http协议。Http协议所抽象的get,post,put,delete就好比数据库中最基本的
增删改查,而互联网上的各种资源就好比数据库中的记录(可能这么比喻不是很好),对于各
种资源的操作最后总是能抽象成为这四种基本操作,在定义了定位资源的规则以后,对于资源
的操作通过标准的Http协议就可以实现,开发者也会受益于这种轻量级的协议。
REST的思想归结以下有如下几个关键点:
1.面向资源的接口设计
所有的接口设计都是针对资源来设计的,也就很类似于我们的面向对象和面向过程的设计
区别,只不过现在将网络上的操作实体都作为资源来看待,同时URI的设计也是体现了对于资
源的定位设计。后面会提到有一些网站的API设计说是REST设计,其实是RPC-REST的混合体,
并非是REST的思想。
2.抽象操作为基础的CRUD
这点很简单,Http中的get,put,post,delete分别对应了read,update,create,delete
四种操作,如果仅仅是作为对于资源的操作,抽象成为这四种已经足够了,但是对于现在的一
些复杂的业务服务接口设计,可能这样的抽象未必能够满足。其实这也在后面的几个网站的
API设计中暴露了这样的问题,如果要完全按照REST的思想来设计,那么适用的环境将会有限
制,而非放之四海皆准的。
3.Http是应用协议而非传输协议
这点在后面各大网站的API分析中有很明显的体现,其实有些网站已经走到了SOAP的老
路上,说是REST的理念设计,其实是作了一套私有的SOAP协议,因此称之为REST风格的自定
义SOAP协议。
4.无状态,自包含
这点其实不仅仅是对于REST来说的,作为接口设计都需要能够做到这点,也是作为可扩展
和高效性的最基本的保证,就算是使用SOAP的WebService也是一样。

 

 

posted on 2014-03-06 09:50  fs_jin  阅读(332)  评论(0)    收藏  举报