【问题标题】:What is the difference between API and SOA?API 和 SOA 有什么区别?
【发布时间】:2015-12-08 07:16:43
【问题描述】:

最近流行的 API/APIfication 与拥有基于 SOA 的架构有何不同?

除了 API 是基于 REST 的 Web 服务和 SOA 是基于 SOAP 的 Web 服务的技术差异之外,这个新的流行词 API/APIfication 还有其他好处或优势吗?

【问题讨论】:

标签: api soap soa restful-architecture


【解决方案1】:

...API 是基于 REST 的 Web 服务,而 SoA 是基于 SOAP 的 Web 服务

这可能是我听过的对这两个术语最不准确的定义。

我认为您要问的问题是“REST 和 SOAP Web 服务有什么区别?”

在这种情况下thereAreManyAnswers.

但是,我试图了解 APIfication 最近的流行语 传统/旧版企业应用程序

API 化毫无意义。此术语的google search 返回混合结果。

这个概念似乎与 SoA 架构风格相似

APISOA 是不相关的概念。这两个术语已经存在多年,并且它们的含义随着时间的推移保持相当稳定。

所以,我想澄清一下我是否遗漏了什么

除了清楚你想问什么之外,你不太可能遗漏任何东西。

【讨论】:

  • 谢谢。我了解 REST 与 SOAP 之间的基本区别。但是,我试图了解传统/遗留企业应用程序 API 化的最新流行语。这个概念似乎与 SoA 架构风格相似,但被称为 API/APIfication..etc。因此,我试图澄清我是否遗漏了有关新流行语的任何内容。
  • 感谢更详细的更新.. 可能是我使用了不常见的术语.. 这是一篇讨论我的问题的文章searchsoa.techtarget.com/answer/… >>乍一看,这听起来可能没有什么不同SOA 专家几年前提倡的内容
  • 好的,所以你应该问的问题是“微服务和 SOA 有什么区别”,在这种情况下,你可以在这里找到答案:stackoverflow.com/questions/25501098/…
【解决方案2】:

我对 SOA 架构的理解:

  1. 所有代码都属于一个服务,无论它运行在哪个层 - 无论是 UI、中间层还是数据访问。它属于拥有它所操作或显示的数据的任何服务。

  2. 微服务永远不会相互调用。取而代之的是,它们的 UI 在运行时组合在一起,并且跨服务边界的业务流程是“紧急的”,而不是在高层次上编排的。跨越服务边界的唯一通信由事件组成,而不是数据。

  3. 可以对这些事件进行版本控制,新版本扩展旧版本,以便发布者可以发布新版本的事件,而订阅者仍会收到旧版本的事件(这将服务解耦并防止多个服务不必同步修改和部署。)

  4. “IT/Ops”服务在运行时将来自多个服务的 UI 组件组合在一起,以创建应用程序的前端界面。

由于 API 意味着提供者和消费者之间的耦合,因此 API 调用只能在服务内进行,而不是跨越服务边界。

【讨论】:

  • 如果 API(例如 REST/Web 服务)被视为水平切片,则服务(在 SOA 术语中)可以被视为应用程序的垂直切片。
  • Udi Dahan 的这次演讲真的帮我点击了:vimeo.com/5022174
猜你喜欢
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2022-11-08
  • 2017-12-05
  • 1970-01-01
  • 2011-01-17
  • 2017-03-04
相关资源
最近更新 更多