API和SOA之间有什么区别

Nik*_*las 31 api soa

有很多What is the difference between...问题,但我找不到这个问题.

维基百科说这是关于API的

应用程序编程接口(API)是基于源代码的规范,旨在由软件组件用作接口以彼此通信.

关于SOA

SOA通常还为服务的消费者(例如基于Web的应用程序)提供了一种了解可用的基于SOA的服务的方法.

这两种技术都不是您向其他服务提供服务的吗?
有人可以扩展吗?

per*_*ist 40

面向服务的体系结构是一种架构方法.这是一种指定责任从业务导向的角度分离为独立服务的方式,这些服务通过公共API进行通信(通常但不一定是通过将​​事件发布到总线).

例如,您可以让一个服务负责捕获客户订单,该订单将OrderCaptured事件发布到总线; 以及一个单独的服务,负责跟踪客户何时开帐单以及欠多少钱,该服务订阅总线并响应OrderCaptured事件.由于责任分离,第一项服务可能不需要了解有关结算的任何信息.这两个服务也不需要彼此了解,只需要了解周围发生的事件.

API是组件/服务公开的接口,以便其他组件可以与之通信.在上面的示例中,总线为许多服务提供了通用API.

综上所述:

API =由软件组件公开的任何通信方式.

SOA =一组企业架构设计原则,通过将责任分解为服务来解决可伸缩性问题.

  • 是的,每个体系结构(除了非常小的体系结构)都将具有一个或多个API,以便其组件可以进行通信.SOA是一种架构模式/设计. (4认同)
  • 因此,API是SOA的一部分,而不是SOA的另一部分? (2认同)

Kbd*_*s07 5

换一种说法:

SOA是架构模式。

API是制定或启用SOA模式的方法之一。

SOA是“计划” {Blue Print}设计方法。

API是设计的实际实现。

  • >> 制定或启用 SOA 模式的一种方法<< 其他方法是什么? (2认同)