以REST的方式构建Web Services(Building Web Services the REST Way)
原文地址:http://www.xfront.com/REST-Web-Services.html
REST=Representational State Transfer
Web是由资源组成的,资源是任何有意义的项目。“表示”是资源的返回值,“表示”把客户端置于某种“状态”之中。客户端沿着超链接访问另外的资源,新的表示把客户端置于另外一个状态之中。 从而,客户端在每个资源表示时转换状态。
REST是一种体系结构风格,而不是标准。
逻辑URL vs. 物理URL
资源是概念上的实体。表示是资源的具体表现。如下URL:
http://www.parts-depot.com/parts/00345
是逻辑URL而不是物理URL。
REST Web Services的特点
客户端-服务器:拉风格的交互模式:消费方组件把表示拉出来
无状态:每个从客户端到服务器的请求必须包含足够的信息使得服务器理解该请求,不需要服务器上存储的上下文信息
缓存:为了提高网络效率,响应应该可以被标示成可缓存的或是不可缓存的
统一的接口:所有资源通过通用的接口访问(HTTP GET, POST, PUT, DELETE)
命名资源:系统由通过URL命名的资源组成
互连的资源表示:资源的表示通过URL互相联系起来,从而客户端可以从一个状态转换到另一个
层次化的组件:中间件,比如代理服务器,缓存服务器,网关等,可以插入到客户端和资源中间来完成安全和安全等功能
REST Web Services设计原则
构建REST Web Services的关键是识别出所有需要暴露成服务的概念层实体。
为每个资源创建URL。
对资源进行分类,区分出哪些客户端只能获取表示,哪些是可以修改的。前者使用HTTP GET来访问,后者使用HTTP POST, PUT和DELETE来访问。
所有通过HTTP GET访问的资源必须是没有副作用的。
没有表示是作为孤岛存在的。在资源表示中放入超链接。
逐步的暴露数据。不要在单一的文档中暴露所有数据。提供超链接来获取更多的信息。
使用schema来指定响应的格式。
说明该服务是使用WSDL文档来调用,而是简单的HTML文档。
分享到:
相关推荐
Securing REST WebServices with Spring Security and Custom HTTP Request Factories
REST WebServices,总结的挺好的。看了会有很大的收获
在"REST webservices多资源"这个主题中,我们主要关注的是如何设计和实现能够处理多个不同类型资源的RESTful API。这涉及到以下几个关键知识点: 1. **资源模型**:在REST架构中,每个资源都有一个唯一的URI,例如...
【标题】:“jersey rest web services整理” 在Java世界中,RESTful Web服务已经成为构建可扩展、松散耦合和跨平台应用程序的标准方法。Jersey是实现Java API for RESTful Web Services (JAX-RS)规范的一个开源...
除了这些标准和框架,开发Web Services还需要理解REST(Representational State Transfer)风格的API,这是一种轻量级的替代方案,特别适合于资源导向的Web应用程序。Java通过JAX-RS(Java API for RESTful Web ...
论文在研究REST理论和Web本质特征的基础上,引入面向资源的架构和基于SAWADL语义的服务资源发现方法来设计基于REST的Web Services的总体结构,完成了服务器端的主要组件的设计、服务发现与匹配模型的设计以及客户端...
### RESTful Java Web Services #### 一、RESTful Web服务概览 REST(Representational State Transfer)是一种软件架构风格,最初由Roy Fielding在他的博士论文中提出。它定义了一种简单且灵活的方法来创建分布式...
基于Ajax与REST的WebServices研究与实现 很不错的一篇硕士文章
本资料《RESTful Web Services中文高清版.pdf》深入浅出地介绍了REST的核心概念,以及如何构建符合REST风格的Web 2.0应用。 REST的核心思想是将Web视为一个由资源构成的系统,每个资源都有其唯一的URI(统一资源...
使用SuiteQL通过SuiteTalk Rest Web服务对NetSuite运行SQL查询。 该课程扩展了 安装 npm i suiteql 快速开始 const suiteql = require('suiteql'); let suiteQL = new suiteql({ consumer_key: process.env....
综上所述,《RESTful Web Services 中文版》是一本介绍了REST原则、ROA设计、如何开发RESTful Web服务及其最佳实践的教科书,它不仅面向理论的讲解,更着重于实践指导和真实案例的分析,适合广大Web开发和架构设计...
**西北工业大学软件工程WebServices实验报告** Web Services是一种基于互联网的、平台独立的软件接口,它允许不同系统之间进行通信和交互。这个实验报告详细涵盖了Web Services的核心概念、技术栈以及在软件工程中...
本书包括以下内容: ·强调Web基础技术的力量 —— HTTP应用协议、...·关注实际问题,诸如怎样设计和实现RESTful Web services与客户端等 《RESTful Web Services》是对真实Web services运用REST设计哲学的第一本书。
1. **JAX-RS (Java API for RESTful Web Services)**:REST(Representational State Transfer)是一种轻量级的Web服务设计风格,强调资源和状态的管理。JAX-RS提供了创建RESTful Web服务的API,例如使用`@GET`, `@...
《应用Java API开发Web Services》是一本面向Java开发者,旨在深入理解并实践Web服务开发的电子书。在当今互联网时代,Web服务已经成为企业级应用间交互的重要方式,Java API为开发这些服务提供了强大的支持。本...
【标题】"jmeter对webservices的测试"涵盖了在信息技术领域中使用Apache JMeter工具对Web服务进行性能和稳定性评估的重要知识。JMeter是一款开源、跨平台的负载和性能测试工具,广泛应用于Web应用程序和各种服务接口...
在IT行业中,Web服务是一种通过网络提供功能或数据的方式,使得不同的应用程序能够相互交互和共享信息。...但无论使用SOAP还是REST,理解Web Services的工作原理和如何与其交互是IT开发者必备的技能之一。