2

REST 是否构成面向服务的架构?

4

2 回答 2

3

SOA 和 REST 都是架构风格。它们有一些共同的架构风格,它们借鉴了(如客户端/服务器和分层系统),但也借鉴了一些不共享的不同风格(例如,SOA 建立在管道和过滤器上,REST 建立在统一接口上)。

您可以构建 RESTful SOA,但您必须遵守两者的原则。也不要将 REST 与仅使用 HTTP 技术实现 SOA 混淆。

你可以看到这个 pdf,其中包含我的书的第 10 章。10.1 节更详细地讨论了 REST 和 SOA

于 2012-11-09T17:28:13.120 回答
2

这是一个非常哲学和非常普遍的问题,很可能会被删除,不过我会分享我的想法。

有一个名为 Resource Oriented Architectures 的概念,由 Richardson 和 Ruby 在RESTful Web Services (O'REILLY 2007)中定义。我认为该术语是描述最常见的 REST 方法的最佳术语。

ROA的主要思想由四个概念定义:

  1. 资源
  2. 他们的名字(URI)
  3. 他们的陈述
  4. 他们之间的联系

和四个属性:

  1. 可寻址性
  2. 无国籍状态
  3. 连通性
  4. 统一的界面

在谈论 RESTful Web 服务时,我认为坚持使用 ROA 一词以及它所承载的所有信息是很好的。

至于 SOA,这个名字非常模糊。有些人认为它应该只保留给大(基于 SOAP)的 Web 服务。就个人而言,我认为 ROA 是 SOA 的一种变体。然而,这本书的作者拒绝发表最终声明。

面向服务的体系结构 (SOA) 可能是所有术语中定义最不明确的术语,这就是为什么我在第 1 章中将其称为我不打算使用的术语。我知道没有试金石可以表明给定的实现是否是 SOA。

Richardson & Ruby,RESTful Web 服务,O'REILLY 2007

编辑

此处引用的书已根据知识共享许可提供,现在可以免费下载

于 2012-11-09T15:01:34.617 回答