Webservice 和企业服务总线之间的区别

Posted

技术标签:

【中文标题】Webservice 和企业服务总线之间的区别【英文标题】:Difference between Webservice and Enterprise Service Bus 【发布时间】:2017-04-11 04:39:26 【问题描述】:

我想知道 Webservice 和 Enterprise Service Bus (Ex- Mule) 之间的区别。我在网上搜索的时候没有得到太多的信息。

据我了解,企业服务总线用于集成服务,以便任何其他应用程序都可以使用和调用或集成。 Web 服务是企业服务总线中使用的一种方式。

【问题讨论】:

【参考方案1】:

首先,一些通用术语:

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

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

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

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

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

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

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

有关服务的更多信息,我建议see this article。整个网站都很棒,您可能想探索它。另外,您可以查看representation of ESB as compound SOA design pattern,,您可能会觉得有帮助。

【讨论】:

【参考方案2】:

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


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

【讨论】:

以上是关于Webservice 和企业服务总线之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

MQ与webservice的区别,MQ的区别

SOA 和webservice 的区别

关于ESB(企业服务总线)的学习笔记

socket servlet webservice 区别及使用场景

ESB---企业服务总线

Axis2 webservice 和 CXF web service 的区别