Webservice和Enterprise Service Bus之间的区别

时间:2016-11-27 10:00:16

标签: web-services soa esb eai

我想知道Webservice和企业服务总线(Ex-Mule)之间的区别。当我搜索它时,我没有从互联网上获得太多信息。

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

2 个答案:

答案 0 :(得分:4)

首先,一些通用术语:

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

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

那么Service和ESB有什么区别?

ESB上的

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

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

  • 路由机制
  • 不同协议的连接器和网桥
  • 不同活动的听众
  • 实现不同沟通模式的方法
  • 数据和模型转换意味着
  • 异步排队
  • 监控,记录
  • 政策集中化
  • 等。

使用中间件可以大大减少系统之间点对点连接的数量,并且还可以实现更好的隔离和低水平的耦合,这意味着当您需要实施更改,在供应商之间切换等时更具灵活性。

有关服务的更多信息,我建议see this article。整个网站都很棒,您可能想要探索它。此外,您可以看到有用的representation of ESB as compound SOA design pattern,

答案 1 :(得分:1)

Web服务是由电子设备提供给另一电子设备的服务,通过万维网相互通信。 Web服务通常向数据库服务器提供面向对象的基于Web的接口,例如由另一个Web服务器或移动应用程序使用,该接口为最终用户提供用户界面。提供给最终用户的另一种常见应用可以是混搭。 Web服务可以使用SOAP over HTTP协议,与通过EDI / B2B等专有解决方案相比,可以在Internet上进行成本较低的交互。除了SOAP over HTTP之外,Web服务还可以在其他可靠的传输机制上实现,如FTP。

企业服务总线(ESB)正在面向服务的体系结构(SOA)中的相互交互的软件应用程序之间实现通信系统。它实现了右侧所示的软件架构。由于它实现了分布式计算的软件体系结构,因此它实现了更通用的客户端 - 服务器模型的特殊变体。而一般而言,任何使用ESB的应用程序都可以轮流表现为服务器或客户端。 ESB提高了应用程序之间高协议级通信的灵活性和灵活性。