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

7

我希望了解Webservice和企业服务总线(如Mule)之间的区别。当我搜索时,没有找到太多信息。

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

2个回答

6

首先,一些通用术语:

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

将所有应用程序连接起来并不具有良好的可扩展性(随着你向环境中添加越来越多的应用程序,通信渠道呈指数级增长),这会导致长期昂贵的维护成本。这就是为什么我们使用中间件软件(ESB是中间件的一种类型)作为唯一将应用程序服务公开的点。

那么服务和ESB之间有什么区别?

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

ESB在实践中是一种中间件(集成骨干线路),它提供技术基础架构和工具,以轻松地托管和实现服务,包括:

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

使用中间件大大减少了系统之间的点对点连接数量,并且还导致更好的隔离和低耦合程度,这意味着在需要实现变更、在供应商之间切换等情况下更具有敏捷性。

欲了解有关服务的更多信息,建议查看此文章。整个网站都非常棒,您可能想要探索一下。此外,您可以查看ESB的复合SOA设计模式表示形式,这可能会对您有所帮助。


0

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


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接