RESTful Web Services 就是 RESTful API 吗?

  • Mark Little
  • 马国耀

2011 年 3 月 23 日

话题:SOAREST架构

近期,RESTful Web Services 的合作者之一Leonard Richardson提出疑问,为何人们不再谈及 Web Service 了呢?

[……] 我发现,现在人们不再使用“Web Service”这一词汇了,人人使用“API”。

恐怕现在说“人们不再使用这个词汇了”还为时尚早,毕竟还是有很多地方使用它,如云和移动计算Cloud IDE,以及社交网络等还在使用该词汇。Leonard 的观点应该是“这个词汇不再像以前用得那么频繁了”。

我注意到,人们所使用的词汇呈现交替现象,而现在“Web Service”一词已几乎匿迹了。当我说“Web Service”的时候,人们知道我在说什么,但是这让我感觉自己“Out 了!”就像执拗地在漫天“开源”的世界里使用“免费软件”一词。

他问到,这一微妙变化是否意味着业界一些根本性的、重要的事情的发生呢?同时,众所周知,REST 支持者口中的”Web Service”是有别于 SOAP 社区所说的 Web Service。那么,这些变化仅在 REST 社区发生吗?SOAP 社区中“Web Service”一词使用频率的下降与WS-* 使用的明显下降能够简单地挂上钩吗?

不过,Leonard 担心这种变化会不会带来问题?

[我相信] 人们在 2007 年左右不再说“Web Service”是有原因的,但是,将“API”作为一个通用的词汇将会导致软件产品的向更糟糕的方向发展。[……]

那么,“Web Service”一词真正消亡了?被“API”取代了?如果答案是肯定的,那么其隐含着什么呢?会不会因为“API”一词在 Web 中(可能)带来的混淆而导致软件实现更差呢?Leonard 此文的一条评论说到:

我认为,API 不能自描述。明显,并非所有的 Web Service 能做到这一点,但是至少它们有专门用于描述的标准格式。拿我经历的一件有趣的事来说吧,最近一家客户聘请我们使用其 Web Service(不是 API)开发一个应用。它们是 SOAP,却是巴洛克式的,晦涩难懂。他们为何称其为“Web Service”而非“API”也许有其自己的理由。但是,我的确看到很多网站毫不遮掩地吹嘘他们的 API。

所以,不存在绝对的黑与白,很多东西游走于中间的灰色地带。


查看英文原文:Are RESTful Web Services really RESTful APIs?

SOAREST架构