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 Integration

为了管理集成,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 的管理控制台进行控制。
  • 可以使用服务流分析器进行快速调试。