📜  MuleSoft-Mule ESB简介

📅  最后修改于: 2020-11-12 05:00:08             🧑  作者: Mango


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能够进行可视数据映射和转换。
  • 用户可以获得100个预先构建的认证连接器的功能。
  • 集中监控和管理。
  • 它提供了强大的企业安全实施功能。
  • 它提供API管理的功能。
  • 有用于云/本地连接的安全数据网关。
  • 它提供了服务注册表,其中发布和注册了ESB中公开的所有服务。
  • 用户可以通过基于Web的管理控制台进行控制。
  • 可以使用服务流分析器执行快速调试。