RESTful Web Services Cookbook中文版

 

RESTful Web Services Cookbook中文版 

[]Subbu Allamaraju(沙布·阿拉马拉尤)著

丁雪丰 

ISBN 978-7-121-14390-8  

20119月出版

定价:59.00

16

320

本书是《RESTful Web Services Cookbook》的中文翻译版。

本书从实践出发,涉及设计RESTful Web服务的各个方面,通过问题描述、解决方案、问题讨论的形式在14个章节中详细讨论了统一接口、资源、表述、URI、链接、请求、缓存、安全等诸多内容。无论读者是否设计过RESTful Web服务,具体使用哪种语言,都能在阅读过程中有所收获。本书也可作为手册,根据具体问题描述在书中查找解决办法。

2000年,HTTPURI的关键贡献者Roy Fielding在题为“Architectural Styles and the Design of Network-Based Software Architectures” 的博士论文中精确地阐述了Web的架构。在这篇论文中,他引入了一种名为表述性状态转移注 Representational State TransferREST)的架构风格。抽象地说,这种风格描述了World Wide Web的基础,其组成技术包括Hypertext Transfer ProtocolHTTP)、Uniform Resource IdentifierURI)、类似HTMLXML的标记语言以及类似JSON这样的适用于Web的格式。

REST是一种面向网络化应用程序的架构风格,其中包含了很多用于描述分离关注点、可见性、可靠性、可扩展性、性能等诸多方面的约束。附录B是对这些约束的一个简单概述。Web的基础设施使得开发者倾向于用REST来构建分布式的、去中心化的客户端/服务器应用程序。在这些基础设施上部署Web服务让你可以利用众多已有的基础设施,其中包括Web服务器、客户端库、代理服务器、缓存、防火墙等。尽管从理论上来说,能够脱离HTTP来构建RESTful的应用程序,但这样做的代价很大。在本书中,RESTful Web服务指的是通过HTTPURIXMLJSONAtom等技术构建的Web服务。

本书范围

本书并非针对REST的论文,也不是在描述它相对于其他架构风格的优点,而是为RESTful Web服务的设计者和开发者提供的一本指南。

目前已经有大量描述REST架构风格的材料了。Wikipedia关于表述性状态转移的条目(http://en.wikipedia.org/wiki/Representational_State_Transfer)中提供了REST基础概念的精确描述、约束、设计应用程序的指导原则。Leonard RichardsonSam Ruby“RESTful Web Services”O’Reilly)注 更深入地探讨了这个主题,详细讲述了如何将资源用做核心构建部件。但在日常的设计与实现中遇到了问题该如何获取帮助呢?本书就是来弥补这个空缺的。

本书由多个用于帮助设计及实现RESTful客户端/服务器应用程序的技巧组成,无论你的Web服务是否是RESTful的,它们都能帮你利用好Web基础设施和REST。每个小节都包含一个或多个问题描述和一个解决方案,随后的详细讨论中有例子、关于实现的讨论和所涉及的各种权衡考虑。

书中的多数材料都基于开发RESTful Web服务时遇到的常见设计问题,包括HTTP使用、资源和表述设计、URI、缓存、并发控制、部分更新(partial updates)、批处理、事务、安全、版本控制、兼容性等内容。

本书并不特定于某种编程语言,其中使用HTTP请求和响应消息来说明实现。你可以用C#C++JavaRubyPythonPHPPerl这样的语言来进行实现。附录A里有一个针对特定语言的图书列表,你也可以去你喜欢的书店找找。

本书也不涉及安装、管理或保护Web服务器、缓存及代理。可以参考Ken CoarRich Bowen“Apache Cookbook” Ivan Ristic“Apache Security”Duane Wessels“Squid: The Definitive Guide” (全由O’Reilly出版),或者产品手册来了解相关主题。

辅助材料

访问http://www.restful-webservices-cookbook.org可获得关于本书的附加材料、勘误、评论与问题。

下面这些资源十分有用:

REST-Discuss Yahoo! Grouphttp://tech.groups.yahoo.com/group/rest-discuss

如果你有REST架构风格相关的问题,可以检索该讨论组的存档。更好的做法是加入讨论组,发表你的问题,参与有关REST优缺点、常见问题和针对RESTful Web服务的HTTP用法的讨论。

Leonard RichardsonSam Ruby“RESTful Web Services”O’Reilly

阅读此书可更多地了解REST以及如何使用Web作为构建RESTful Web服务的平台。

RESTwikihttp://rest.blueoxen.net/cgi-bin/wiki.pl

Wiki中收录了多年来编写的描述REST多个方面及其应用程序的文章。

Chris Shiflett“HTTP Developer’s Handbook”Sams

如果你在客户端或服务器端应用程序中使用HTTP时遇到问题,可以阅读此书。

毫无疑问,会有本书以及之前讨论到的资源中没有涵盖到的设计与实现问题,请访问http://www.restful-webservices-cookbook.org发表你的问题、建议或者是你成功实施过的其他解决方案。在适当的时候,该站点将包含更多技巧,并且它们将被收入本书的下一个修订版中。

你可能感兴趣的:(web开发,职场,书籍推荐,休闲)