BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

REST“皈依者”日记

| 作者 Boris Lublinsky 关注 1 他的粉丝 ,译者 马国耀 关注 1 他的粉丝 发布于 2011年7月23日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

就在每个人都认为REST相关的论战应该停息的时候,新的一轮REST文章浪潮却紧跟而上。正如Mark Little看到的

公平地说,只要提到REST,就会引发争论……

延续这一趋势,Ronald Schmelzer发表的新作中谈到为什么以及如何从Web Service转向REST。

据Schmelzer,也即ZapThink认为:

REST是一种分布式软件架构风格,它可以替代人们普遍接受的基于XML的Web Service实现系统间的整合……当我需要实现一个服务,当然在此之前我已经分析过该服务的必要性了,我会面临两种选择:Web Service或REST风格的服务。从下列理由可以看出,而我而言,REST明显胜出。

这段话本身就很有意思,因为它与Dhananjay Nene先前提出的观点是直接对立的:

面向服务既不是REST的核心,也不是REST的目标。REST不是面向服务的,面向服务与REST也不相干……REST并不想变成面向服务。这是因为它不把流程当作任务的序列来执行。它把流程看作一组不断修改的资源序列。换言之,它将流程看成一组角色,它们之间不断地交换资源(或文档),并且基于接收的资源来执行活动。

因此,Schmelzer所谈论的似乎不是REST,而是人们通常所说的RESTful Web Service,这是一种使用REST技术构建SOA的方法。尽管通常称之为REST,但这种方法与本真的REST没有关系,而且它类似于POX(plain old XML over HTTP),不过与POX不同的是,它不仅支持XML,还支持其他数据类型,比如JSON(JavaScript Object Notation)、ATOM、二进制数据块。而且,它不像POX那样通常只基于GET和PUT,它基于更多的HTTP方法。

Schmelzer继续谈到:

……选择REST的原因有很多,但是最主要的原因是简单……REST比Web Service更易于使用和理解。开发REST更方便、更快捷……而且,这也是为什么大多数最流行的Web API基于REST开发的原因……不过,除了简单外,我还很喜欢REST方法的优雅。基本操作和Web的扩展性是REST方法的底层基础。HTTP操作是标准的、广泛接受的、便于理解的、在操作上一致的……

以上这些是任何一篇REST文章中都包含的REST的经典优点,但是对于ZapThink这么知名的分析公司来说,人们总是希望能看到更多细节。

回到架构问题上,Schmelzer继续写到:

因此,如何将SOA的基本信条与REST实现方法结合起来?……REST是一种架构风格,不是一种实现。而且,Web和HTTP协议正好就是基于这种协议而设计的。

不幸的是,直到文章末尾Schmelzer也没有回答这个问题。它继而转向讨论XMPP协议的使用,但却没有解释两种架构风格(ROA和SOA)是怎么结合的。

Schmelzer在文章的结尾说:

我不认为REST或Web Service是可以当作宗教般信仰的对象,以至于对它至死不变。话虽如此,在过去十几年中,垄断供应商、开发者和企业架构师们一直强调,正确实施SOA必须使用Web Service……实施SOA无需Web Service就能做得很好。SOA相关的讨论是架构层面的讨论——过去十年中我们谈论的所有东西对于REST或Web Service是同等适用的,不论它们基于哪种协议、基础设施或数据格式。优秀的企业架构师在架构这一抽象层次上工作,而将实现细节留给那些关心如何将SOA原则应用于实践的人们。

所以,REST优于Web服务的讨论仍然在继续。那么,是否应该将本真的REST作为实现SOA的基础?仍然缺乏依据。


查看英文原文:The Diary of a REST “Convert”

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

rest by Joe susan

It is exhausting, want to rest

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT