`
ball_cao
  • 浏览: 13010 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

REST表象状态转移

阅读更多

决定采纳Jerry的建议结束在论坛中长期潜水的生涯

在javaeye的第一篇blog准备写点最近研究REST的感受

对REST的研究源于dlee等翻译的Roy Thomas Fielding博士的论文《架构风格与基于网络的软件架构设计》

这篇文章可以从http://docs.huihoo.com/rest/REST_cn.pdf下载

英文原版在http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

翻译的不错了,文章有些晦涩是因为博士的原版写得就比较晦涩,所以请观众们不要质疑dlee等的翻译功力

文中讲述了软件架构的不同风格,以及作者认为评估这些风格的一些重要指标。最后,作者介绍了REST风格的软件架构。

之前我总是将REST想象为一种编程标准,在这之后才理解了REST是一种软件架构风格,因此我们看不到一个严格的REST的框架定义。不过Rails2.0已经将对REST的支持做了很好的封装,未来我们的RoR程序员可以很方便的构建REST风格的Web应用了。

对REST的学习让我重新认识了Http。往常我们常常把http理解为一个传输协议,实际上http不仅仅是传输协议,也是一种对资源的操作契约。标准的http操作get、post、put、delete代表了对资源的CRUD操作。这也是REST所要求的资源组织和操作方式。

REST除了给我们带了了一种简单的资源组织方式,更简单的url以外。也让我们的服务器变得更为专注,专注于提供资源以及对资源的标准操作,而不是资源的表述。在Ajax和flash在浏览器客户端大行其道的今天,REST的出现为我们构建更清爽的服务提供了一种便利的方法。

当然,多年的业务系统开发,让我很快想到了REST在事务方面的问题。在这里几位做了一些关于REST的讨论,里面也有一点点关于事务的。http://www.iteye.com/topic/82227?page=1

关于REST的事务性问题,我还没有做过具体的研究和试验,在今天无法做出什么好的评述。即使最终REST并不适合做业务系统,它也给我了一种新的架构设计的启发。

分享到:
评论

相关推荐

    白话REST-识别真假REST

    REST(Representational State Transfer),即“表征状态转移”,是由Roy Fielding博士在其2000年的博士论文中提出的一种软件架构风格。REST强调基于网络的分布式系统的松耦合设计,并推崇无状态通信机制。在理解...

    REST示例和全部jar包

    REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,主要用于构建Web服务,它倡导轻量级、无状态和基于HTTP协议的设计原则。在RESTful架构中,每个资源都有一个唯一的URI(统一资源标识符...

    REST实战(REST in Practice)

    - **超媒体驱动的流程**:书中提到了利用超媒体作为应用程序状态转移的媒介,这是REST的一个核心特性。通过这种方式,客户端可以动态发现服务端提供的功能,从而更加灵活地进行交互。 - **过程与示例**: - **高级...

    基于springboot+sureness的面向REST API资源无状态认证权限管理系统

    基于springboot+sureness的面向REST API资源无状态认证权限管理系统 项目经过严格测试,确保可以运行! 基于springboot+sureness的面向REST API资源无状态认证权限管理系统 项目经过严格测试,确保可以运行! ...

    REST in practice,英文

    REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,主要应用于网络应用程序设计,尤其是Web服务。这本书“REST in Practice”深入探讨了REST原则和最佳实践,旨在帮助开发者更好地理解和...

    Rest 开发API.

    REST(Representational State Transfer),即表述性状态转移,是一种用于设计网络应用和服务的架构风格。它基于一套简单的原则和规则,利用现有的网络协议和标准来构建灵活且可扩展的分布式系统。REST强调资源的...

    Rest所需jar文件

    REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,主要用于Web服务设计,它强调简洁、无状态和基于标准的接口。本压缩包包含了构建REST风格Web架构所需的jar文件,这些文件是开发...

    REST参考技术文档

    REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,用于构建可伸缩的、分布式的系统。REST的核心原则是通过统一接口来简化复杂性,它强调的是资源的...

    REST_cn 中文版

    然后我介绍了表述性状态转移(Representational State Transfer,REST)的架构风格,并且描述了如何使用REST来指导现代Web架构的设计和开发。 REST强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来...

    rest架构web实例

    REST(Representational State Transfer,表述性状态转移)架构风格是一种设计网络应用的准则和原则,主要应用于Web服务,旨在使接口简洁、可扩展且高效。RESTful架构的主要目标是通过HTTP协议来创建、读取、更新和...

    REST WebService简单应用

    REST(Representational State Transfer,表述性状态转移)是一种软件架构风格,主要应用于Web服务的设计,以提供简洁、无状态、基于标准的接口。REST Web Service是遵循REST原则的Web服务,它通过HTTP协议来实现...

    REST地图与天地图叠加

    首先,REST(Representational State Transfer,表现层状态转移)是一种网络应用程序的设计风格和开发方式,常用于提供Web服务。在GIS领域,REST地图服务允许客户端通过HTTP协议请求地图资源,如地图图层、图元等,...

    REST与SOA两种架构

    REST(Representational State Transfer,表述性状态转移)和SOA(Service-Oriented Architecture,面向服务架构)虽然都是用于构建可互操作的网络服务,但它们的设计原则和实现方式有所不同。 REST是一种架构风格...

    REST-UP:可自定义的代表性状态转移(REST)应用程序接口(API),旨在为开发人员提供快速的工具集,以快速构建自己的API

    可定制的代表性状态转移(REST)应用程序接口(API),旨在为开发人员提供快速的工具集,以快速构建自己的API。 注意:此存储库当前正在构建中。 特征 支持基本的CRUD(创建读取更新删除)操作 支持HTTP请求GET ...

    rest-interface.rar_quantum computing_rest_rest interface

    REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,用于分布式系统之间的通信。在本压缩包文件"rest-interface.rar"中,主要探讨了REST接口在Dwave...

    REST 基础(三):使用 WSDL 2.0 描述 REST Web 服务

    在IT行业中,REST(Representational State Transfer)是一种广泛采用的Web服务设计范式,它强调资源的表述状态转移。RESTful服务通常通过HTTP协议来提供API,使得客户端可以通过GET、POST、PUT、DELETE等方法与...

    REST构架风格.doc

    REST 风格的应用则是从一个状态迁移到下一个状态的状态转移过程。 REST 架构风格的优点包括: * 简洁模型:REST 架构风格提供了一个简洁的模型,易于理解和实现。 * 与 HTTP 协议的完美结合:REST 架构风格与 ...

    REST Server in Delphi XE Using DataSnap中文版

    - **无状态**: REST 服务是无状态的,即每次请求都包含所有必要的信息,服务器不会存储客户端的状态信息。 - **缓存**: REST 服务支持缓存,这有助于减少延迟并提高性能。 - **分层系统**: REST 服务可以构建在...

    谷歌浏览器插件+AdvancedRestClient+Http Rest API测试调试

    1. 安装Advanced REST Client插件:首先,你需要在Chrome浏览器的Web Store中搜索“Advanced REST Client”并安装它。安装完成后,你可以在浏览器的扩展程序栏找到ARC的图标。 2. 创建新的HTTP请求:打开ARC,点击...

Global site tag (gtag.js) - Google Analytics