Leonard Richardso 和 Sam Ruby 联合撰写的“RESTful Web Services”一书介绍了 REST 架构的原则,并解释如何使用 Ruby on Rails、Restlel 和 Django 构建基于 REST 的应用。InfoQ 的编辑 Stefan TiKou 采访了他们,主要讨论关于写作该书的背景以及他们对 REST 和 Web 服务的看法。
基于 REST 的应用越来越多,但并不是所有的人都了解 REST 的工作原理,以及和其他技术比如 WS-* 之间的关系。在本文中,两位作者对 REST 从本质上进行了阐述,不乏精彩之见,比如对 REST 做最简单介绍,Sam Ruby 解释说是“优化并最大限度地使用 GET”等。另外还对现在有些人对 REST 的误解,比如“REST 只适合大多只读的 Web 应用,而不适合高流量和经常可写的 Web 应用”、“REST 不过是分布式超媒体系统”以及现在事实证明 REST 对 Web 并无优势等,一一进行了解答。针对 Stefan 提出的“REST 正在胜出了吗?”这一问题,Leonard Richardso 回答说:
正在胜出是可能的,虽然至今还有许多 FTP 站点和邮寄目录杂志,但我很少使用。至少对于我来说,Web 已经胜出了。我的简单预言是 WS-* 架构不会长期适合面向公众的或高流量的应用。我最大的疑问是,那些有意识地以 REST 设计的基本架构是否将会胜出那些偶尔遵循 REST 风格且简单的架构(如 Flicker 的 REST API)。
文章最后还提到了与 WS-* 相比较,REST 所具备的优势,REST 是否可以和 WS-* 和平相处,以及现在有哪些地方 WS-* 支持的挺好,而 REST 却仍略逊一筹等问题。
评论