从去年开始我一直在翻译O'Relly的《RESTful Web Services Cookbook
》,翻译的过程有些纠结,导致整本书的进度比预期的要慢很多,但一切原因都不能影响翻译的质量,我依然坚持这样一个原则。再过一段时间这本书就能与读者见面了,放上译者序,小小庆祝一番。
有人说计算机搞的是科学,也有人说计算机搞的是工程,于是大学里的计算机系通常叫“计算机科学与工程系”。两种说法究竟孰对孰错,我们不去深究,但请允许我做一个也许不怎么恰当的对比:
- 1905年,Albert Einstein提出了具有划时代意义的相对论,100年过去了,绝大多数人只是知道世上有这么一个伟大的理论,真正理解它的人却寥寥无几。
- 2000年,Roy Fielding在他的博士论文【注1】中提出了“表述性状态转移”(REST),10年过去了,很多开发者都知道REST,但真的能把它说明白的同样没几个。
两者的境遇很相似,物理学家总数就不多,理解相对论的人少也还说得过去,可为什么说很多开发者都不理解REST呢?以Fielding博士设计的
HTTP协议为例,大家都把它当作一种传输协议,但HTTP其实是为REST而生的,它能够表达状态和状态转移,这就是它位于应用层而非传输层的原因,所
以说HTTP中的Transfer被翻译成“转移”更为恰当。
如果说是Rails让大家开始真正关注REST,那么开放平台的兴起则让REST越来越多地出现在舞台上。各种基于HTTP的服务都宣称自己是
REST风格的,曾经有段时间,不挂个REST的牌子,出门都不好意思和人打招呼,哪怕自己是挂羊头卖狗肉也得和REST扯上关系。最
后,Fielding博士非常失望,只能亲自撰写文章【注2】告诉大家——你们搞错了,我设计的REST并非如此。
那么,真正的REST服务究竟是怎么样的呢?如果您也曾经读过那篇论文,或者是尝试读过,一定会发现要读懂它真的得花一番功夫。有没有人可以用通俗
易懂的方式指导大家设计并实现REST服务呢?雅虎的资深架构师Subbu Allamaraju做到了,本书涉及了设计RESTful
Web服务的方方面面,总结了他多年的设计经验,书中没有枯燥冗长的理论说明,而是通过大量生动的范例来说明那些最佳实践,“问题描述”、“解决方案”和
“问题讨论”这样的安排也让阅读更有针对性。无论您使用的是什么语言,都可以选择本书作为设计服务的参考,原因有两个——1、设计好的服务的原则是不随语
言而变化的;2、本书的范例全部都是HTTP报文,无论使用何种语言、何种框架,最终都会变成HTTP报文。因此,没有什么理由可以让我们拒绝它。
本书的翻译过程有些纠结,但收获也很多,至少让我对REST有了更清晰的认识。感谢李锟把本书介绍给了我,并建议我来主导全书的翻译,我们做了很多
深入的沟通,探讨了很多实际的问题【注3】。在我快要抓狂的时候,常可加入了进来,他为读者能早日见到本书做出了很多贡献。同样也要感谢唐力群与郑佰云之
前的协助,还有博文视点的多位编辑,正是有了这么多人的努力,才有了大家现在看到的这本书,希望它能给大家带来一些实实在在的帮助。如果您有什么意见或建
议,发现了书中翻译的错误,欢迎通过各种渠道告诉我们。
丁雪丰
2011年6月
注1:
论文标题为《Architectural Styles and the Design of Network-based Software Architectures》,http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
。2007年,李锟等人将该论文翻译为中文发布于http://www.redsaga.com/opendoc/REST_cn.pdf
。
注2:
文章标题为《REST APIs must be hypertext-driven》,http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
。
注3:
我们甚至还讨论过Hypertext Transfer
Protocol该如何翻译。李锟建议翻译为“超文本转移协议”,要纠正之前错误的认识,而我则认为对于约定俗成的名字应该保持原样,并加以说明。最后争
论不下,决定书中的Hypertext Transfer Protocol不做翻译,单独出现的transfer则明确翻译为“转移”。
分享到:
相关推荐
RESTful Web Services Cookbook 中文版,Web开发人员必备良药
《RESTful Web Services Cookbook》的出现正好弥补了这一空缺,书中包含了大量与设计、实现RESTful Web服务相关的内容,它们都是在日常的设计和开发过程中会经常遇到的东西。本书采用了HTTP报文作为范例,而非具体的...
RESTful Web Services Cookbook RESTful Web Services Cookbook RESTful Web Services Cookbook
RESTful Web Services 中文版 高清 PDF 电子书
Guide to implement the RESTful web service. The detail describe the POST/GET/PUT method on the RESTful service.
Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly ... RESTful Web Services Cookbook, the image of a great fringed lizard, and related trade dress are trademarks of O’Reilly Media, Inc.
讲解REST与面向资源的架构(ROA)的概念与原理,如何编写符合REST风格的Web 2.0应用。仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
·包含RESTful Web services的真实案例,如Amazon的简单存储服务与Atom发布协议等 ·探讨各种流行编程语言的Web services客户端 ·展示如何用三种流行框架实现RESTful services —— Ruby on Rails、Restlet(基于...
RESTful Web Services 中文版,详细教程
RESTful WebServices中文版.pdf 总共47M,我最多一次只能上传30M,不得不吧他压缩成两部分,这个是第一部分,第二部分下载地址:...下载完成后把文件名改成:RESTful WebServices中文版.part1.rar
包括这本书的英文版(相当清晰),中文版(较清晰),以及书上的源码 由于中文版太大,故只附上了下载地址,强烈推荐看英文版的