REST是否构成面向服务的体系结构?
答案 0 :(得分:3)
SOA和REST都是架构风格。它们有一些共同的架构风格(如客户端/服务器和分层系统),但也可以从一些不共享的不同样式中获取(例如,SOA构建在Pipes& Filters和REST on Uniform Interface上)。
您可以构建RESTful SOA,但您必须遵守两者的原则。 另外,不要将REST与仅使用HTTP技术实现SOA混淆。
答案 1 :(得分:2)
这是一个非常具有哲学性和非常普遍的问题,很可能会被删除,但我会分享我的想法。
有一个名为Resource Oriented Architectures的概念,由Richardson和Ruby在RESTful Web Services (O'REILLY 2007)中定义。我认为这个术语是描述REST最常用方法的最佳术语。
ROA的主要思想由四个概念定义:
- 资源
- 他们的名字(URIs)
- 他们的陈述
- 他们之间的联系
醇>
和四个属性:
- 寻址
- 无国籍
- 连通
- 统一界面
醇>
在谈论RESTful Web服务时,我认为坚持使用ROA这一术语以及它所带来的所有信息是件好事。
至于SOA,这个名字非常模糊。有些人认为它应该只保留给Big(基于SOAP)的Web服务。就个人而言,我认为ROA是SOA的变体。该书的作者hovewer拒绝作出最后陈述。
面向服务的体系结构(SOA)可能是最不明确的术语 这就是为什么我在第1章中将其作为一个我不会使用的术语。我知道没有石蕊 test,指示给定的实现是否为SOA。
理查森& Ruby, RESTful Web Services ,O'REILLY 2007
修改