NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

REST 与 WS-* 战争结束!

  • 2007-07-05
  • 本文字数:847 字

    阅读完需:约 3 分钟

David Chappell 他的博客里作出了一个在过去近一年时间里为人们所悄悄接受的结论:

如果你有留意,并且如果你不是一个无可救药的死硬派,我要告诉你 REST 和 WS-* 之间的战争已经结束了。这场战争如朝鲜战争一样以停战协定终结,而不是像第二次世界大战那样由一方取得压倒性的胜利。现在看来已经很清楚,两种技术都有其价值,都将会继续被使用下去。

不管这场争论是关于 REST 对 WS-* ,还是关于 REST 对 SOA ,这种面对现实的态度(或者说骑墙的态度已经存在一段时间了。正如 David 所指出:

[……] 看看微软在下一版的 Windows Communication Foundation(WCF)中即将推出的对创建RESTful 应用程序的支持。Java 的官方组织也上了这条船,他们的 JAX-RS 也即将面世。

微软们已经说了 REST 和 WS-* 很多年好话,所以这些也不是什么令人惊奇的举动。只有很少人仍然相信 Web 服务是万灵药。也同样只有很少人仍然相信 REST 是万灵药。那我们不禁要问:“什么时候该用 REST,什么时候又该用 WS-*?”David 的意见是:

对于关注 CRUD 场景的面向数据的应用来说,RESTful 的方式是很自然的事。有很多很多程序都适用这种模型,特别是互联网上的公共应用程序。对于面向服务 / 面向方法的应用,比如需要事务、严密的安全性等等这些更高级的操作的应用来说,采用基于 WS-* 的方案显得更有道理。

不过 Mark Baker 不同意:

我完全同意他说 REST 很适合面向数据的应用,但我不同意他说 REST 只适合符合 CRUD 模型的应用。这是因为 CRUD 没有 HTTP POST 的等价物。一旦你把 POST 考虑在内,你就可以做到所有的事情,比如,网上订货。

Mark 很乐意请教别人对这个问题的见解,他说:

可能 David,或者其他人,可以给我举个例子,给我举出一个不(太)适合这个模型(不必是完整的 REST,只要举出统一接口的部分就好)的面向数据的应用的例子。

那么,当 David 在他的文章最后写下:

很高兴看到狂热在消退,而理性赢得了胜利。战争真的结束了。

他说得对吗?还是这只是暂时的平静,将军们正在策划新的战略?

查看英文原文: The REST versus WS-* war is over!

2007-07-05 01:301242
用户头像

发布了 225 篇内容, 共 61.0 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

年底了,你的数据库密码安全吗

Simon

MySQL 数据库

如何在 OpenShift 中运行 Collabora Office

东风微鸣

openshift

一周信创舆情观察(2020.12.28~2021.1.3)

统小信uos

使用PG_SHOW_PLANS监控PostgreSQL执行计划

PostgreSQLChina

数据库 postgresql 开源

Filebeat同步写位点文件引发的磁盘IO问题

秦宝齐

Uniswap去中心化交易所系统开发

W13902449729

去中心化交易所系统开发 uniswap

可用性、可维护性、可靠性有什么区别?

禅道项目管理

DevOps 可用性 质量保障 可靠性

VoltDB成功入选CNCF Landscape云原生数据库全景图

VoltDB

云原生 cncf VoltDB 分布式内存数据库

腾讯高工亲授“MySQL学习方法”【思维导图+学习笔记+实战文档+面试题库】让你站在数据库领域的顶峰 笑傲江湖!

比伯

Java 编程 架构 面试 计算机

AMD台式CPU市场份额距离英特尔还有多远?刚到四分之一

E科讯

深入分析单例设计模式

Andy

再见 2020!Apache RocketMQ 发布 4.8.0,DLedger 模式全面提升!

阿里巴巴云原生

阿里云 开发者 云原生 存储 消息中间件

Java多线程并发控制工具信号量Semaphore,实现原理及案例

码农架构

Java Java并发 并发编程 后端

ROMA Compose:ROMA的新武器

华为云开发者联盟

数据 API ROMA

IoT爆发前夕,企业架构要面对哪些变革?

京东科技开发者

物联网

技术干货丨隐私保护下的迁移算法

华为云开发者联盟

迁移

比易宝betBEB平台获278万美元约合1807万元融资

DT极客

架构师训练营-第二周作业

Mark

自学编程的4大误区,你中招了吗?

田维常

程序员

算法学习手册

田维常

算法

Java多线程并发控制工具CountDownLatch,实现原理及案例

码农架构

Java 并发编程 后端

换个角度,聊聊全链路压测

老张

性能测试 系统稳定性 全链路压测

做运维,送你7个常用的服务器资源监控工具

华为云开发者联盟

工具 监控 内存 服务器 系统

探索压测奥妙

ninetyhe

微服务 分布式系统 压力测试 性能调试

云算力挖矿系统APP开发|云算力挖矿软件开发

系统开发

Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(功能拓展)

葡萄城技术团队

软件测试---BUG的生命周期

测试人生路

软件测试

HTTP 请求流程

double U

大前端 浏览器 HTTP

28天写作挑战——坚持28天,每天500字

TGO鲲鹏会

28天写作 热门活动

架构师训练营第十三周

我是谁

架构师训练营第 1 期

加密数字货币钱包系统软件开发|加密数字货币钱包APP开发

系统开发

REST与WS-*战争结束!_SOA_Mark Little_InfoQ精选文章