Webservice和Enterprise Service Bus之间的区别

Lol*_*lly 5 soa web-services esb eai

我想知道Webservice和Enterprise Service Bus(Ex-Mule)之间的区别.当我搜索它时,我没有从互联网上获得太多信息.

根据我的理解,Enterprise Service Bus用于集成Service,以便任何其他应用程序可以使用和调用或集成.Web服务是Enterprise Service Bus中使用的方法之一.

Pla*_*rov 5

首先,一些通用术语:

服务是可以从外部消费应用程序调用的公开功能的通用术语。大多数情况下,服务由应用程序的集成层公开。服务可以是Web服务 - 基于 SOAP、REST 等,因此 WebService 是使用 SOAP 的服务的子类型。

将所有应用程序相互连接起来不能很好地扩展(随着您向环境中添加越来越多的应用程序,通信渠道呈指数增长),从长远来看,这会导致昂贵的维护。这就是为什么我们使用中间件软件(ESB 是一种中间件)作为应用程序服务暴露的唯一点。

那么Service和ESB有什么区别呢?

服务在 ESB 上“存在”。它们通常代表特定的功能上下文——例如客户、订单的业务上下文。因此,如果您需要获取客户信息,请不要直接转到 CRM 应用程序,而是向提供此功能的 ESB 服务发送请求。因此,您无需了解有关 CRM 本身的任何信息。

ESB在实践中是一个中间件(如果您愿意,它是集成主干),它提供技术基础设施和工具来轻松托管和实施服务,包括:

  • 路由机制
  • 不同协议的连接器和桥接器
  • 不同事件的监听器
  • 实现不同通信模型的方法
  • 数据和模型转换手段
  • 异步排队
  • 监控、记录
  • 政策集中
  • 等等。

使用中间件大大减少了系统之间点对点连接的数量,同时也带来了更好的隔离性和低耦合度,这意味着在您需要实施更改、在供应商之间切换等时更加敏捷。

有关我建议的服务的更多信息,请参阅这篇文章。整个网站都很棒,您可能想要探索它。此外,您可以将 ESB 表示为复合 SOA 设计模式,这可能对您有所帮助。