您的位置:首页 > 运维架构 > 网站架构

REST架构风格

2013-11-05 12:26 267 查看
1. REST概念介绍

   REST是一种架构风格,由一组相互协作的架构约束来定义。可以参考下Fielding博士的论文《架构风格与基于网络的软件架构设计》。

1.1 REST的5个关键词

资源(Resource) 一种看待服务器的方式,将服务器看作是由很多离散的资源组成,由一个或多个URI来标识。
资源的表述(Representation)一段对于资源在某个特定时刻的状态的描述,资源的表述可以有多种格式:HTML/XML/JSON/纯文本等,也可以通过协商机制来确定。
状态转移(State Transfer)  ???(通过转移和操作资源的表述,来间接实现操作资源的目的)
统一接口(Uniform Interface) HTTP定义了操作资源的统一接口
超文本驱动(Hypertext Driven) 从面向服务的角度看,超媒体定义了服务器所提供的服务的协议。
1.2 REST架构风格的主要特征

可寻址性(Addressability)
无状态性(Statelessness)
连通性(Connectionedness)
统一接口(Uniform Interface)
面向资源(Resource Oriented)
超文本驱动(Hypertext Driven)
松耦合(Loosely Coupled)

2. REST相关资料及学习方式

2.1 REST相关资料

深入浅出REST http://www.infoq.com/cn/articles/rest-introduction
解答关于REST的10点疑惑 http://www.infoq.com/cn/articles/tilkov-rest-doubts
面向资源的架构:REST的另一面 http://www.infoq.com/cn/articles/roa-rest-of-rest
From SOA to REST :Designing and Implementing RESTful Services http://dret.net/netdret/docs/soa-rest-www2009/
SOA with REST 

2.2 REST书籍

    目前比较好的关于rest书籍为

RESTful web services中文版 :详细介绍了面向资源架构的设计方法和步骤,其中的例子主要使用Ruby编程语言。可以将其作为一本REST开放的入门书来阅读。
RESTful web services Cookbook中文版:介绍了在REST开放过程中会遇到的一些具体问题的解决方案,其中的例子都是使用HTTP消息来表达。可以作为解决具体问题时查阅的工具书。
REST实战 (Rest in practice):目前最全面、最深入的著作,详细介绍了REST和传统的WebServices、语义网等技术之间的关系。适用于希望掌握REST开放的全貌,用来做架构选型的分布式应用架构师,其中的例子是使用Java和C#编程语言。
2.3  REST学习方式

   按照学习新知识的正常过程What-Way-How的顺序

    (1) 先阅读《REST实战》,先从较高的架构层面理解REST是什么、为什么要采用REST这种风格/REST能带来什么好处、如何设计系统的架构才能符合REST的要求。

    (2) 然后阅读《RESTful web services cookbook》,确定一些具体问题的解决方案。《RESTful web servies》也可以参考下。

    (3) 在学习的过程中要阅读下Roy Fielding写的REST架构风格的博士论文《架构风格与基于网络的软件架构设计》。

    (4) Http协议很重要,可以看下《HTTP权威指南》mini版。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rest SOA