写点什么

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

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

关注

评论

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

银行业智能运维的探索与实践

云智慧AIOps社区

银行数字化转型 智能运维

不愧是阿里内部“SpringCloudAlibaba学习笔记”看完直接斩获12家offer

Java 编程 架构 面试 微服务

金九银十面试必备,“全新”突击真题宝典,阿里腾讯字节都稳了

Java 编程 程序员 架构 面试

统一缓存帝国 - 实战 Spring Cache

悟空聊架构

缓存 passjava 悟空聊架构 7月日更 Spring Cache

使用tar 命令进行文件的归档和压缩

学神来啦

云计算 Linux 运维 linux运维

永续合约交易所开发,虚拟币合约交易系统源码

4轮技术面+1轮HR面,成功拿到腾讯40k*16的Offer ,详解面试流程和真题解析

Java 程序员 架构 面试

底层技术支撑智慧出行,汽车智能化发展下区块链大放异彩

旺链科技

区块链产业

Python 绑定:从 Python 调用 C 或 C++

华为云开发者联盟

c c++ Python 函数 Python 绑定

网安行业这几个熟悉又陌生的名词,啥帽子都清楚啦?

郑州埃文科技

RTC为何这么火?

anyRTC开发者

音视频 WebRTC RTC 实时通讯

华为云薛浩:媒体业务进入全面云化时代,云原生成为必然选择

华为云开发者联盟

云原生 媒体 音视频 华为云

免费分享JDBC与MyBatis的优秀图书

Java入门到架构

Java

腾讯二面:Linux操作系统里一个进程最多可以创建多少个线程?

白亦杨

吹水、面试、进阶齐飞!Github霸榜的阿里分布式设计实录也太香了

Java架构师迁哥

前端性能优化实践 | 百度APP个人主页优化

百度开发者中心

大前端 百度app

Go 学习笔记之 数组

架构精进之路

Go 语言 7月日更

什么?C语言也能try...catch!

实力程序员

DataWorks赋能企业一站式数据开发治理能力

阿里云大数据AI技术

HashMap从入门到精通,原创好文,值得收藏!

wljslmz

Java hashmap java8 HashMap底层原理

KDD CUP 2021首届图神经网络大赛放榜,百度飞桨PGL获得2金1银

百度大脑

神经网络 百度

GitHub星标70K阿里大佬手写的Spring Boot实战手册

Java架构师迁哥

一位年薪 180 万的蚂蚁金服大佬扔给我的笔记,建议看完

Java架构师迁哥

我还是没有忍住,于是乎我开通了lua语言学习专栏!

李阿柯

lua 专栏

我删库跑路失败了

程序员鱼皮

Java c++ Python Linux 服务器

【工作感悟】2021最值得加入的互联网公司有哪些

欢喜学安卓

android 程序员 面试 移动开发

GNURadio报错Unable to create context(windows10环境)

allu

问题总结

智邦国际ERP系统31.99版本发布,解锁精准高效协同管理模式!

叶落便知秋

在数据库中如何查询表的创建时间?

华为云开发者联盟

数据库 日志 视图 GaussDB(DWS) 查找对象

【工作感悟】Android大厂高级面试题灵魂100问

欢喜学安卓

android 程序员 面试 移动开发

教你给场景添加天空盒,超简单!

ThingJS数字孪生引擎

大数据 大前端 开发 可视化 数字孪生

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