MuleSoft - Mule ESB 简介


ESB 代表企业服务总线,它基本上是一种中间件工具,用于通过类似总线的基础设施将各种应用程序集成在一起。从根本上讲,它是一种旨在提供在集成应用程序之间移动工作的统一方法的体系结构。这样,借助ESB架构,我们就可以通过通信总线将不同的应用程序连接起来,使它们能够互不依赖地进行通信。

实施 ESB

ESB架构的主要重点是系统之间的解耦,让它们以稳定可控的方式进行通信。ESB 的实现可以通过以下方式在“总线”“适配器”的帮助下完成-

  • “总线”的概念是通过 JMS 或 AMQP 等消息传递服务器实现的,用于将不同的应用程序彼此解耦。

  • 应用程序和总线之间使用“适配器”的概念,负责与后端应用程序通信并将数据从应用程序格式转换为总线格式。

通过总线从一个应用程序传递到另一个应用程序的数据或消息采用规范格式,这意味着将有一种一致的消息格式。

该适配器还可以执行其他活动,例如安全、监视、错误处理和消息路由管理。

ESB 的指导原则

我们可以将这些原则称为核心集成原则。它们如下 -

  • 编排- 集成两个或多个服务以实现数据和流程之间的同步。

  • 转换- 将数据从规范格式转换为应用程序特定格式。

  • 传输- 处理 FTP、HTTP、JMS 等格式之间的协议协商。

  • 中介- 提供多个接口来支持服务的多个版本。

  • 非功能一致性- 还提供管理事务和安全性的机制。

ESB 的需要

ESB 架构使我们能够集成不同的应用程序,每个应用程序都可以通过它进行通信。以下是有关何时使用 ESB 的一些指南 -

  • 集成两个或多个应用程序- 当需要集成两个或多个服务或应用程序时,使用 ESB 架构是有益的。

  • 未来集成更多应用程序- 假设我们将来想要添加更多服务或应用程序,那么借助 ESB 架构就可以轻松完成。

  • 使用多个协议- 如果我们需要使用多个协议,如 HTTP、FTP、JMS 等,ESB 是正确的选择。

  • 消息路由- 如果我们需要基于消息内容和其他类似参数的消息路由,我们可以使用 ESB。

  • 组合和消费- 如果我们需要发布组合和消费服务,则可以使用 ESB。

P2P 集成与 ESB 集成

随着应用数量的增加,摆在开发者面前的一个大问题是如何连接不同的应用?这种情况是通过手工编码各种应用程序之间的连接来处理的。这称为点对点集成

P2P整合

僵化是点对点集成最明显的缺点。复杂性随着连接和接口数量的增加而增加。P-2-P 集成的缺点导致我们进行 ESB 集成。

ESB 是一种更灵活的应用程序集成方法。它将每个应用程序功能封装并公开为一组离散的可重用功能。没有应用程序直接与其他应用程序集成,而是通过 ESB 集成,如下所示 -

ESB 集成

为了管理集成,ESB 有以下两个组件 -

  • 服务注册表- Mule ESB 具有服务注册表/存储库,其中公开到 ESB 的所有服务都被发布和注册。它充当一个发现点,人们可以从这里使用其他应用程序的服务和功能。

  • 集中管理- 顾名思义,它提供了 ESB 内部发生的交互性能的事务流视图。

ESB 功能- VETRO 缩写通常用于总结 ESB 的功能。如下 -

  • V(验证)- 顾名思义,它验证模式验证。它需要一个验证解析器和最新的模式。一个示例是确认最新模式的 XML 文档。

  • E(丰富)- 它将附加数据添加到消息中。目的是使消息对目标服务更有意义和有用。

  • T(转换)- 将数据结构转换为规范格式或从规范格式转换。例如日期/时间、货币等的转换。

  • R(路由)- 它将路由消息并充当服务端点的看门人。

  • O(操作)- 该函数的主要工作是调用目标服务或与目标应用程序交互。他们在后端运行。

VETRO 模式为集成提供了整体灵活性,并确保只有一致且经过验证的数据才会在整个 ESB 中路由。

什么是 Mule ESB?

Mule ESB是MuleSoft提供的一个轻量级且高度可扩展的基于Java的企业服务总线(ESB)和集成平台。Mule ESB 允许开发人员轻松快速地连接应用程序。无论应用程序使用何种技术,Mule ESB 都可以轻松集成应用程序,使它们能够交换数据。Mule ESB 有以下两个版本 -

  • 社区版
  • 企业版

Mule ESB 的一个优点是我们可以轻松地从 Mule ESB 社区升级到 Mule ESB 企业版,因为这两个版本都构建在通用代码库上。

Mule ESB 的特性和功能

Mule ESB 拥有以下功能 -

  • 它具有简单的拖放图形设计。
  • Mule ESB 能够进行可视化数据映射和转换。
  • 用户可以获得数百个预构建的认证连接器。
  • 集中监控和管理。
  • 它提供强大的企业安全执行能力。
  • 它提供API管理的便利。
  • 有用于云/本地连接的安全数据网关。
  • 它提供服务注册表,暴露到 ESB 的所有服务都在其中发布和注册。
  • 用户可以通过基于 Web 的管理控制台进行控制。
  • 使用业务流分析器可以进行快速调试。