`

在 REST 上不要成为人云亦云的 RESTafarian,揭秘REST/WS-*

    博客分类:
  • Java
阅读更多
其实好早就翻译好了这篇文章,最后是于 2007年9月3日 InfoQ才正式发布于网站的。

Sanjiva Weerawarana访谈:揭秘REST/WS-*

说实在的,在 REST 上,我没有太多的发言权,即使是看了 李锟、廖志刚、刘丹、杨光翻译的Roy Thomas Fielding博士论文《架构风格与基于网络的软件架构设计》,还做了一些实验性的Demo,但也仍不具真正的大项目经验与可操作性。现实当中,真正深入理解 REST 的人多吗?还是大多数人都在人云亦云呢?

REST 还是需要很长的路要走,虽然包括我在内的人相信 REST 会改变未来 Web 开发的面貌,甚至更加明显的效果,但是马拉松也是需要一步一步地坚持下去才能到达终点的。

这篇文章也许会告诉你一些如何在REST与WS-*进行选择的一些参考,带着以下问题去阅读是一个好的主意:

1、REST是否给应用程序间的交互提供一种比WS-*更好的基础呢?

2、REST足以解决应用程序间整合所需的一切问题吗?

3、REST是构建Web应用程序仅有的一种方法吗?

4、REST解决了应用程序的安全性、可靠性及企业级的业务品质问题了吗?

5、REST是面向资源,WS-*面向服务的架构,这是谁对谁错的问题吗?

6、REST真的很简单,WS-*很复杂吗?

。。。。。。

无论怎么样,只要能够恰当地使用Web的功能,构建符合要求的系统,并实现真正的增值,用啥都不是错。:)
分享到:
评论
1 楼 Lordaeron 2007-09-28  
你們這批javaeye 的垃圾, 不就整天在吹REST 可以代替傳統的RPC?
還搬出Fielding 的文章出來歪講一翻, 還大言不慚的說下半年會有大規模的應用?
現在不是哪麼回事了? 要一步一步走了?

相关推荐

    Activiti-rest所有接口描述

    ### Activiti REST 接口详解 #### 一、概述 Activiti是一款开源的工作流引擎,用于简化业务流程的实现与管理。Activiti5.18.0版本提供了两个主要的WAR包:`activiti-explorer.war`和`activiti-rest.war`。前者为...

    java Jersey Rest

    ### Java Jersey REST Web Services开发详解 #### 一、名词解释 **1. REST (Representational State Transfer)** - **定义**: REST是一种软件架构风格,主要用于设计网络应用的API。其核心理念是“资源”...

    ws-screenshot:提供网站网址以截取网站屏幕快照的简单方法。 ws-screenshot包括一个简单的Web UI,还包括一个REST API和一个Websocket API,可自动执行屏幕截图

    ws-screenshot包括一个简单的Web UI,还包括一个REST API和一个Websocket API,用于自动执行屏幕截图。 演示: : Docker快速入门 运行一次: docker pull elestio/ws-screenshot.slim docker run -p 3000:3000 -...

    WordPress.com REST API开发人员控制台-由https://github.com/Automattic/wp-api-console取代-Node.js开发

    Console2一个更好的REST...要启动并运行:克隆存储库git clone https://github.com/Automattic/rest-api-console2.git安装依赖项npm install运行dev服务器npm start在浏览器中访问http:// localhost:4000。 小费:

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    icontrol-rest-api-user-guide-13-0-0.pdf

    - **REST**(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于客户端与服务器交换信息可以是XML、HTML、纯文本、JSON等,通常使用HTTP协议进行数据传输。 - **重要变化**:本版本的i...

    ArcGIS Server 9.3 REST基础教程

    - 创建GIS资源是指在ArcGIS Server上部署地理信息服务的过程,包括配置服务、设置参数等步骤。 - **资源发布为服务**: - **使用ArcCatalog发布服务**:通过ArcGIS Desktop的ArcCatalog工具进行服务发布。 - **...

    Advanced-REST-client_v3.1.9

    **高级REST客户端(Advanced REST Client) v3.1.9** 高级REST客户端(Advanced REST Client,简称ARC)是一款强大的Web应用程序,专为开发者设计,用于测试和调试HTTP/HTTPS服务。它提供了一个用户友好的界面,使开发...

    kafka-connect-rest:Kafka Connect REST连接器

    && \cp ../../kafka-connect-rest-plugin/target/kafka-connect-rest-plugin-*-shaded.jar jars/ && \cp ../../kafka-connect-transform-from-json/kafka-connect-transform-from-json-plugin/target/kafka-connect...

    arcgis9.3基础教程

    - **REST**(Representational State Transfer,表述性状态转移)是一种用于构建网络应用程序的架构风格,它使用HTTP协议来访问资源,使得客户端可以通过简单的HTTP请求(如GET、POST等)与服务器交互。 - **REST ...

    REST与面向资源的Web开发

    这使得REST成为了一种区分良好实践和糟糕实践的有效途径,能够帮助开发者判断特定实践是否符合Web架构的一致性。 #### REST的架构约束 REST作为一种架构风格,是由一组相互协作的架构约束来定义的。这些约束包括但...

    Android客户端-调用iServer发布的REST地图服务

    在移动开发领域,Android平台上的应用开发经常需要与服务器端进行数据交互,特别是在地理信息系统(GIS)中。SuperMap iClient for Android是一个强大的工具,它允许开发者构建具有地图功能的Android应用程序,并能...

    flowable.rar

    flowable6.5 一共有5个war包。 直接放在tomcat中启动即可访问。 访问路径: 流程画布:...流程Rest API:http://localhost:8080/flowable-rest/docs/ 默认用户名和密码:admin/test

    使用Jersey框架搭建Rest服务

    ### 使用Jersey框架搭建REST服务 #### 一、编写目的 本文旨在详细介绍如何使用Spring与Jersey框架搭建REST服务,并在此过程中提供环境配置指南、框架搭建步骤及具体应用实例。通过对这一过程的学习,读者可以更好...

    rest-server:Rest Server是一种高性能HTTP服务器,它实现了Restic的REST后端API

    要构建rest-server二进制文件,请运行CGO_ENABLED=0 go build -o rest-server ./cmd/rest-server 码头工人 建立影像 将rest-server二进制文件放在当前目录中,然后运行: docker build -t restic/rest-server:...

    原创-REST原理及Opendaylight应用--冀烨

    - **定义**: 在REST架构中,资源是指服务器上任何可命名的抽象概念,包括文件、数据库记录等具体实体,也可以是非常抽象的概念。 - **命名**: 每个资源都通过一个唯一的URI来标识,使得资源可以在网络上被唯一识别。...

    基于Python/Django//React.js/WePy/Ant design等技术实现的通用小程序商城项目

    主要技术栈:Python/Django/Django-rest-framework/React.js/WePy/Ant design pro等。 基于Python/Django//React.js/WePy/Ant design等技术实现的通用小程序商城项目 主要技术栈:Python/Django/Django-rest-...

    jersey实现简单的rest接口

    <url-pattern>/rest/*</url-pattern> </servlet-mapping> </web-app> ``` 将`com.yourpackage`替换为你的资源类所在的包名。 现在,当用户访问`http://yourserver/yourapp/rest/hello`时,服务器将返回一个JSON...

Global site tag (gtag.js) - Google Analytics