在本章中,我们将从企业服务总线的要点入手。以下给出了有关ESB的详细说明及其优点,缺点以及一些简化了解的图表。
什么是ESB?
ESB代表企业服务总线。ESB的最简单形式是一个中间件,作为一个信息公路,协助多个应用进行通信。
在企业界,我们为许多事情开发解决方案。这些解决方案可能使用不同的技术和不同的数据格式。由于这些技术中的通信或数据格式的兼容性差异,将这些解决方案一起使用变得麻烦。因此,我们需要一种将允许这些不同解决方案之间松散耦合的技术。
ESB旨在通过成为位于所有应用程序中间的“HUB”来简化这个集成问题,并促进它们之间的消息路由。ESB作为调解员,充当信息高速公路,照顾数据转换路由,让编码器或开发人员专注于自己的应用逻辑。
理解ESB变得非常简单,当我们理解它是特别设计的问题,解决方案变得容易。应该清楚地了解如何使用不同的语言编写许多不同的系统,并使用不同的数据格式在不同的机器上运行,以共享信息并形成一个集成的业务平台。
整合问题
在企业平台中,多个应用程序共同合作并提供整体业务功能,但这些应用程序的集成是最常见的问题。随着应用的发展,随着时间的推移变得更加困难。
每个应用程序可以以自己的格式输入和输出数据。如果应用程序数量较少,这种方法运行良好,但随着应用程序数量的增加,集成轮还需要通过更好的方法进行调整。例如,如果需要更改业务的特定应用程序,则会影响所有与该主应用程序相关的应用程序的输出或输入数据格式。
这种方法是集成的最大障碍,它希望结合紧密的架构。这就是ESB所在的地方。每个应用程序不需要直接与其他应用程序通信;相反,所有应用程序与ESB通信,ESB处理信息的路由和内部数据格式转换。
为什么选择ESB?
以下是几点解释为什么企业服务总线是必不可少的。
ESB旨在简化与变体兼容应用程序集成的问题。
它作为一个中间件,作为所有应用程序的中介者,并促进它们之间的消息路由。
而不是每个应用程序直接与每个其他应用程序进行接口,每个应用程序现在只有一个ESB接口。
The ESB is responsible for translating messages to/from a common format and routing them to their destinations.
The major saving in this approach comes as a boon if you have to replace any of your existing applications. Instead of writing a whole bunch of new interfaces, you now only have one interface to be concerned about (between your application and the ESB).
SOA & ESB?
SOA and ESB are commonly used interchangeably, but they are completely different.
SOA is a design pattern which allows application to expose its functionalities as a service over network via communication protocols, whereas ESB is a model which facilitates communication between disparate systems, but ESB can be used as a backbone while implementing SOA.