对于习惯了 SOAP/WSDL 的 SOA 实践者来说,REST 的出现无疑引起了极大的争议。叫好者有之,诅咒者有之,REST 和 WS-* 间的论战也没有明显的停火迹象。针对 REST 的 10 大疑虑,InfoQ 的 SOA 首席编辑 Stefan Tilkov 在本文中一一做出了解答。
这 10 大疑惑分别是:
- REST 也许适用于 CRUD,但并不适用于“真实的”业务逻辑
- 没有正式的契约与描述语言
- 谁真会把他们应用中如此多的实现细节暴露出来?
- REST 只能配合 HTTP 使用,它不是传输协议无关的
- 没有实际的、明确且一致的指南教你如何设计 REST 式应用
- REST 不支持事务
- REST 是不可靠的
- 不支持发布 / 订阅
- 无异步交互
- 缺少工具
详细内容请阅读全文:《解答有关 REST 的十点疑惑》。
更多内容推荐
REST 在企业中获得成功了么?
根据Programmable Web的数据,73%的API都是RESTful的,因此有些人过早地得出了这样的结论——REST已经赢得了胜利。但SOA从业者Steve Jones却指出使用这些API的都是用于数据聚合的前端系统,大多数企业系统并没有使用,因此REST尚未成功进军企业。
REST 会是 SOA 的未来吗?
在本中文,Boris Lublinsky探讨了SOA和REST之间的架构差别并对使用REST机制实施SOA做了评估。
2011,SOA 进入稳步发展时期
纵观InfoQ 2011年度所有SOA相关新闻和文章,可以得出结论:SOA已进入稳步发展时期。
使用 Flash 构建 RESTful 服务
在最近的一篇博文中,Adobe Flash的RESTful能力引起了人们的质疑。鉴于此,OASIS SOA Reference Architecture的主要作者之一与Adobe布道者Duane Nickull解释了Flash可以很好地支持SOA与REST背后的核心原则的原因所在。
REST“皈依者”日记
Ronald Schmelzer在ZapThink发表的新作试图解释为什么REST是实现SOA的更好选择。
2010 年 InfoQ 中文站 SOA 社区回顾:SOA 稳步前行,REST 和云计算新招连连
2010年过去了,当我们翻开新的一页开始新生活的时候,我们有必要回顾刚刚翻过去的那一页。那么,在2010年,InfoQ中文站的SOA社区中哪些新闻或文章曾经受到人们的广泛关注?哪些是最具价值的内容呢?
unREST 是新的 REST 吗?
Jean-Jacques Dubray在他最近的一篇文章中讨论了为什么我们应该跳出REST的圈子,也许应该同意在很多目前正使用REST的领域中,REST其实并不适用。在试图描绘他认为的发展方向时,他提出了unREST,即3条设计成功API的简单规则。
3. Context:Gin Context 设计分析
2023-09-26
说点题外话 04|面向对象的原则适用于 RESTful API 吗?
迪米特法则本身的想法是不错的,但是场景改变了,我们就要重新思考它在新的环境中是如何被应用的。
2021-07-27
持续演进,克服“REST 缺乏”
新的API协议(如GraphQL、gRPC和Apache Kafka),作为受REST启发的HTTP API的替代品,越来越受到欢迎。
SOA 与 API 的分裂和统一
虽然API和SOA有着相似的商业和技术目标,许多API的支持者却坚持表示API与SOA几乎没什么关联,认为它们属于截然不同的方法。他们经常宣扬务实的REST API和SOA之间有着巨大的差异。本文将阐述它们的异同,以及如果创建一个同时包含SOA和REST的统一架构策略,什么时候适合创建服务,什么时候合适创建API。
REST 能够解决系统集成难题吗?
在Steve Jones的最新一篇博文中,他考察了IT和系统集成的现状并得出结论:现状比5年前更糟糕了。
WebSockets 与 REST 之争?
随着WebSockets目前成为W3C的推荐候选,以及一个新JSR将会在JCP中启动,很多人不禁要问WebSockets是如何在REST协议下运作,那将是会怎样的情景?两者彼此是否兼容,或许正如有些人相信的那样,WebSockets是否会将公众的注意力从REST转移过去,从而引领一种新的Web交互风格?甚至已经有人认为,WebSockets将会“破坏web”。
42|大前端:通过一云多端搭建跨 PC/ 移动的平台应用
大前端的出现,可以让数据的存储和数据的获取方式更好地服务于前端的交互和业务的需求。
2022-12-24
11|将模型实现为 RESTful API(下)
RESTful API是指符合REST架构风格的API设计。
2021-07-17
34|WebSocket:如何在消息队列内核中支持 WebSocket?
WebSocket 是一种实时协议,它在单个 TCP 连接上提供持久的全双工通信。
2023-09-06
访谈和书摘:Eben Hewitt 的新书《Java SOA Cookbook》
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构(SOA)。在这本书中,Eben讨论了SOA模型基础、工具和最佳实践。同时本书还涉及了SOA治理和企业服务总线。
替换 Rest?不,软件工程应该构建成熟的 REST 生态
新的API协议(如GraphQL、gRPC和Apache Kafka),作为受REST启发的HTTP API的替代品,越来越受到欢迎。本文认为在一对一协议中体现不出REST范式的优势。软件工程行业不应该寻求替代REST,而应该在开发新协议技术优势的同时构建成熟的REST生态,从而谋求更进一步的发展。
SDK 设计(上):如何设计出一个优秀的 Go SDK?
通过提供SDK,可以提高API调用效率,减少API调用难度,所以大型应用通常都会提供SDK。今天,我主要介绍如何设计一个优秀的Go SDK。
2021-08-10
2011 SOA 虚拟研讨会
在本次虚拟研讨会上,SOA专家们分享了他们对于SOA现状以及未来趋势的观点及看法。
暂无签名
推荐阅读
11. 最简 RPC:发送请求与返回响应
2023-09-27
软件测试 | 测试开发 | REST Assured 实践 (二):断言实现
2022-09-21
40.Dubbo 服务发布流程
2023-09-29
REST 内容协商详解:理论解读与实际应用指南
2023-08-18
从架构演进的角度聊聊 Spring Cloud 都做了些什么?
2021-11-11
REST 约束:以用户为中心的设计思路
2023-06-15
03|动态 Response:按照规范构造返回流
2023-12-13
电子书
大厂实战PPT下载
换一换 曹伟 | 杭州云猿生数据 创始人/CEO
谢淼 博士 | 快手 高级算法专家
何中磊 | 美团 数据库研发中心 高级技术专家
评论