10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论

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

Flutter OHOS flutter_native_image

flfljh

flutter_ohos_原生和flutter交互跳转

flfljh

harmony_flutter 实现短信发送

flfljh

harmony_flutter_更新Flutter插件项目结构

flfljh

TDengine 与中移软件达成互认证,助力企业数字化转型

TDengine

数据库 tdengine

时序数据库 TDengine 签约浙江油田,推动油气生产管理升级

TDengine

数据库 tdengine 时序数据库

Flutter OHOS flutter_console

flfljh

Flutter OHOS fluttertpc_device_util

flfljh

鸿蒙+next+使用并封装EmitterUtil

flfljh

如果代码行数不是一个好指标,应该用什么度量研发工作?

思码逸研发效能

研发效能 代码 研发 研发效能度量 研发效能管理

harmony_flutter_keyboard_visibility(监听动态键盘)

flfljh

HarmonyOs基础入门02

flfljh

鸿蒙+next+判断+Swiper+是否在最后一个元素并向右滑动与在第一个元素并向左滑动

flfljh

校园圈子论坛系统,校园服务平台,内含外卖跑腿,二手市场等多种校园服务

DUOKE七七

php kaiyuan uniapp

AtomicServiceWeb 使用方法

flfljh

Flutter OHOS flutter_gpu_image(图片视频添加滤镜)

flfljh

Flutter OHOS fluttertpc_screenshot_callback

flfljh

harmony_flutter 实现修改屏幕亮度

flfljh

harmony_flutter 实现拨打电话功能

flfljh

CST案例分析:行波管TWT仿真(上)慢波结构的冷设计

思茂信息

cst cst电磁仿真 CST软件

harmony_flutter_videoCompress(视频压缩)

flfljh

鸿蒙+next+实现知识点列表的重复布局

flfljh

鸿蒙应用开发从入门到入行 - 篇1:HarmonyOS介绍——带你深入理解鸿蒙特性

猫林老师

鸿蒙 HarmonyOS APP开发 应用开发 HarmonyOS NEXT

harmony_flutter_orientation_plugins(监听屏幕状态插件)

flfljh

横竖屏切换开发实践

flfljh

鸿蒙ArkWeb 跨域请求

flfljh

ArkWeb页面预加载与缓存 - 提升用户体验

flfljh

flutter_ohos_sequence

flfljh

鸿蒙应用开发从入门到入行 - 篇3:ArkUI布局基础与制作可交互页面

猫林老师

鸿蒙 HarmonyOS 鸿蒙应用开发 HarmonyOS NEXT

鸿蒙+next+实现试卷计时器

flfljh

鸿蒙+next实现页签栏平板端适配

flfljh

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