InfoQ

新闻

李锟谈Fielding博士REST论文中文版发布

作者 霍泰稳 发布于 2007年7月2日 下午9时26分

社区
Java,
.NET,
Ruby,
SOA
主题
采访,
REST
标签
SOAP

日前,Roy Thomas Fielding博士关于REST的论文Architectural Styles and the Design of Network-based Software Architectures中文版(《架构风格与基于网络的软件架构设计》)正式对外发布。在这个2000年所著的论文中,首次系统阐述了REST的架构风格和设计思想,对理解Web架构和HTTP、URI等标准背后的原理非常有帮助。InfoQ中文站编辑霍泰稳就此采访了主导此次公益性翻译的Ajaxcn.org网站站长李锟

Fielding博士是HTTP和URI等Web架构标准的主要设计者,也是Apache HTTP服务器的主要设计者,他的这篇论文是Web发展史上的一个重要的技术文献。深入理解REST等Web架构背后的工作原理,对于开发者设计和构建高效的Web应用,这也是李锟决定发起这个翻译项目的主要原因:

翻译这篇论文就是为了将REST的思想介绍到中国。我们翻译了《Ajax模式与最佳实践》,这是一本关于REST架构设计的非常好的书籍,内容非常深入。但是如果不懂REST,就难以理解这本书中介绍的架构。而这本书的作者对于REST的来龙去脉也语焉不详,似乎认为每个读者都已经读过了Fielding的论文,对于母语不是英语的中国读者而言,这个假设是不成立的。而Fielding的论文阅读的难度非常大,如果不翻译过来,普通的读者肯定无法读懂(这个判断是客观的,因为我们自己也是在初稿翻译出来后,又费了很大功夫才真正理解了这篇论文)。为了帮助这本书的读者,我启动了这个公益性的翻译项目。

翻译的过程也是一次学习的过程,在这篇论文的翻译过程中,李锟充分理解了REST的各种架构约束,例如通用接口、操作语义的可见性、支持大粒度的数据通信等等。也理解了HTTP和URI的正确的使用方式,因为HTTP和URI正是基于REST的思想设计出来的。所有HTTP的扩展或者使用HTTP的Web应用,都应该与REST的各种架构约束相匹配,否则肯定无法在Web上面取得成功。

在过去的7年中,Web技术的发展验证了本论文所主要阐述的REST技术的有效性,李锟举例说:

一个典型的反例就是SOAP,尽管它在企业应用中取得了一些成功,并且被某些人吹嘘的天花乱坠,但是在Web应用中,却几乎没有人愿意使用SOAP。我的判断是,主要的原因在于SOAP违反了REST的通用接口和语义可见性等架构约束。它仅仅是将HTTP作为一种传输协议来使用的,这种将HTTP仅仅作为一种能够穿越防火墙的传输协议来使用的扩展不只SOAP。

但李锟表示虽然理解REST对Web开发非常重要,这一技术在国内的应用现状却并不乐观:

REST应用目前在国内刚刚萌芽,还谈不上有什么应用。在REST的思想传入国内之前,国内绝大多数开发者并不理解HTTP和URI是用来做什么的,当然也包括我在内。

这篇论文由李锟和他的几个朋友共同翻译,如91yee翻译社区的负责人廖志刚、Matrix技术社区负责人刘丹和《重构与模式》的译者杨光等,由李锟负责全文的审校和润色。在这期间还得到了国内技术社区一些专家的支持,比如庄表伟、李琳骁、孟岩骆古道范凯、刘新生、刘江等。全程用时两个半月时间。

RE: 发表人 Friszart Shaucle 发表于 2007年7月2日 下午8时11分
:) 发表人 Gao Ang 发表于 2007年7月3日 下午8时30分
公益性的行为值得大力支持! 发表人 图灵 刘江 发表于 2007年7月4日 下午10时41分
Re: 公益性的行为值得大力支持! 发表人 tony 焦 发表于 2007年7月5日 上午12时39分
Re: 公益性的行为值得大力支持! 发表人 Fengbo Xie 发表于 2007年7月10日 上午12时46分
  1. 返回顶部

    RE:

    2007年7月2日 下午8时11分 发表人 Friszart Shaucle

    翻译的确很一般,不过还是比英文版好读多了.作者应该也辛苦了. 读完此文后,下面是一些个人理解: (还望多PP) REST请求具有标准语义(通用的接口),这些语义能够被中间组件解释,主要在于其可见性. Cookie允许数据在没有充分表明其语义的情况下进行传递,从而无法被中间组件管理或解释。 RPC式的SOAP也是. REST将约束放置在连接器的语义上(标准),从而(最大化)实现组件的独立性和可伸缩性等. 而其他的架构风格则放置于组件的语义(非标准),而难以达到这些特性.

  2. 返回顶部

    :)

    2007年7月3日 下午8时30分 发表人 Gao Ang

    比较佩服这样的博士论文,真正是在把技术实现上升到模型和规则,再来服务于技术开发者

  3. 返回顶部

    公益性的行为值得大力支持!

    2007年7月4日 下午10时41分 发表人 图灵 刘江

    反正英文和译文都是公开的,大家尽可以多多提出意见,共同使这个译文越来越完美。 可惜最近太忙了,不然真想从头到尾细校一次,用自己的出版背景,做点贡献。

  4. 返回顶部

    Re: 公益性的行为值得大力支持!

    2007年7月5日 上午12时39分 发表人 tony 焦

    反正英文和译文都是公开的,大家尽可以多多提出意见,共同使这个译文越来越完美。 可惜最近太忙了,不然真想从头到尾细校一次,用自己的出版背景,做点贡献。
    用出版背景能干啥?出个发行版?扯淡不是。前一句还可以说说,后面就不用了吧。

  5. 返回顶部

    Re: 公益性的行为值得大力支持!

    2007年7月10日 上午12时46分 发表人 Fengbo Xie

    出个单行本也未尝不可! 不过把http翻译成超文本转移协议就不太好接受了。不论从字面上意思表达上还是阅读习惯上我都觉得transfer翻译成传输会更好! 类似的技术术语翻译还是值得考究的。

    反正英文和译文都是公开的,大家尽可以多多提出意见,共同使这个译文越来越完美。 可惜最近太忙了,不然真想从头到尾细校一次,用自己的出版背景,做点贡献。
    用出版背景能干啥?出个发行版?扯淡不是。前一句还可以说说,后面就不用了吧。

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。