SOA 与 ESB 的区别
SOA 是一种方式或架构,用于具有自服务功能的应用程序,应用程序随后通
过用户接口( UI )或经过工作流将其聚合成用户需要的功能。服务不仅是可复用
代码的组件,更是运行程序的一部分,客户端可以不必合并它自己的代码直接调
用该程序。服务是与业务相关的一个定义。
ESB 是用于调节 SOA 中的调用者及服务提供者的机制。它使得调用者在不
知道提供者或提供者使用的地址的情况下调用该服务。 ESB 可在多个提供者、提
供者的负载平衡及停止使用提供者(当失效时)之间进行选择,并且基于调用者
的需求在提供者之间进行选择,这些提供者提供了各种质量级别的服务。 ESB 能
够调节同步或异步服务,事实上对于同一服务可以提供同步及异步的访问。
因此 SOA 和 ESB 是相对应的。具备 SOA 的应用程序应当使用 ESB 来
调用它的服务。 SOA 和 ESB 不必用 Web 服务实现。然而,经常需要 ESB 来
调用服务,该服务提供自我描述及发现的能力,这由 Web 服务帮助完成。在
SOA 中经常需要由一种技术实现的调用者,它们用于调用由其它技术实现的服
务,这也由 Web 服务帮助完成。所以 SOA 、 ESB 和 Web 服务都集中于创建
这样的领域:一个应用程序中的功能在其它应用程序中也是可用的,本质是复用
性。
评论0
最新资源