QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:301481
用户头像

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

关注

评论

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

基于Vue.js和Spring Boot的口罩自助售卖系统:设计、实现与技术深度解析

申公豹

系统

敏感信息泄漏怎么破?来试试极狐GitLab 的密钥检测吧

极狐GitLab

DevOps 安全 DevSecOps 安全左移 密钥检测

用友BIP数智干部管理,落实国有企业人才强企战略

用友BIP

干部管理

避坑指南之财务共享中心建设项目团队搭建

用友BIP

财务共享

2024年企业堡垒机采购要考虑因素详解

行云管家

网络安全 堡垒机 企业堡垒机

新一代“垫图”神器,IP-Adapter的完整应用解读

京东科技技术说

人工智能

基于STM32的物联网节点设计与实现-传感器数据采集与无线通信

申公豹

嵌入式

深入探索嵌入式系统开发:从LED控制到物联网集成

申公豹

嵌入式

app开发

Geek_8da502

火眼金睛破局ES伪慢查询 | 京东物流技术团队

京东科技开发者

数据库 慢查询 Elastic Search

DFM引领电子产业变革,智能制造助力高效生产

华秋电子

48 | B+树:MySQL数据库索引是如何实现的

鲁米

49 | 搜索:如何用A*搜索算法实现游戏中的寻路功能

鲁米

华秋荣获亿邦动力2023产业互联网千峰奖,引领电子产业数字化变革

华秋电子

数字化商品计划已经Out啦 揭秘哪些国际⼤牌⽤了AI智能商品计划?

第七在线

深入理解嵌入式系统中的GPIO控制与应用

申公豹

嵌入式

防御性编程?这不就来了

越长大越悲伤

前端 后端 防御性编程

探秘AI赋能的未来世界:CyberAI深度学习技术助力变革

数新网络官方账号

人工智能 大数据

活动预告| 字节跳动基于DataLeap的DataOps最佳实践

字节跳动数据平台

大数据 数据治理 数据安全 数据研发 企业号12月PK榜

基于Raft算法的DLedger-Library分析 | 京东物流技术团队

京东科技开发者

算法 分布式系统 raft DLedger

【案例】多渠道管理 第七在线智能计划帮助Calvin Klein业务精准决策

第七在线

Spring Cloud Netflix移除后,我们又该何去何从?

木风mind

云原生 spring cloud alibaba java‘ spring cloud

「智造」第15期:十问用友TimensionDB时序数据库

用友BIP

时序数据库

【腾讯云 HAI域探秘】体验大模型的多种业务应用

Hanson

华秋DFM荣获第三届智能制造创新大赛全国总决赛-新技术应用赛道三等奖

华秋电子

HTML5+Canvas数字孪生智慧机房可视化系统

2D3D前端可视化开发

物联网 数字孪生 三维可视化 智慧机房 智慧数据中心

嵌入式系统中的低功耗定时器应用与优化实战

申公豹

嵌入式

拆解 2 篇文章

6点无痛早起学习的和尚

写作 21 天技术人写作行动营

JS获取当前系统电量情况

南城FE

JavaScript 前端 电量计算

数智时代,业财融合如何助力企业数智化转型?

用友BIP

业财融合

第七在线引领零售供应链智能化,助力企业实现效能提升

第七在线

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