Mulesoft 简明教程
MuleSoft - The Mule Project
Mule项目的动机如下−
-
为程序员简化任务,
-
轻量级和模块化解决方案的需求,该解决方案可以从应用程序级消息传递框架扩展到企业级的高度可分发框架。
Mule ESB的设计基于事件驱动和以编程为基础的框架。它基于事件驱动,因为它结合了消息的统一表示方式,并且可以通过可插入模块进行扩展。它以编程为基础,因为程序员可以轻松地植入一些附加行为,例如特定消息处理或自定义数据转换。
History
Mule项目的背景如下−
SourceForge project
Mule项目始于2003年4月的SourceForge项目,两年后其第一版发布并转移到CodeHaus。通用消息对象(UMO)API是其架构的核心。UMO API背后的理念是统一逻辑,同时使它们与底层传输保持隔离。
Competitors of Mule ESB
以下是Mule ESB的主要竞争对手−
-
WSO2 ESB
-
Oracle Service Bus
-
WebSphere Message Broker
-
Aurea CX Platform
-
Fiorano ESB
-
WebSphere DataPower Gateway
-
Workday Business Process Framework
-
Talend Enterprise Service Bus
-
JBoss Enterprise Service Bus
-
iWay Service Manager
Mule’s Core Concept
如上所述,Mule ESB是一个基于Java的轻量级且高度可扩展的企业服务总线(ESB)和集成平台。无论应用程序使用何种技术,Mule ESB都能轻松集成应用程序,使其能够交换数据。在本节中,我们将讨论Mule的核心概念,以实现这种集成。
为此,我们需要了解其架构及构建块。
Architecture
Mule ESB的架构具有三层,即传输层、集成层和应用程序层,如下图所示−
通常,可以执行以下三类任务来配置和定制Mule部署−
Building Blocks
Mule配置具有以下构建块−
Global Message Processor
顾名思义,它观察或修改消息或消息流。转换器和过滤器是全局消息处理程序的示例。
Transformers - 转换器的主要工作是将数据从一种格式转换成另一种格式。可以在全局中定义,并可以在多个流程中使用。
Filters - 它是一个过滤器,将决定应该处理哪条 Mule 消息。过滤器基本上指定消息必须满足的条件,然后才能处理并路由到服务。
Mule Message Structure
Mule 消息完全包装在 Mule 消息对象中,是通过 Mule 流程传递到应用程序中的数据。Mule 消息的结构在以下图表中显示:
正如上述图表中所示,Mule 消息包含两个主要部分:
Header
它只不过是消息的元数据,由以下两个属性进一步表示:
Inbound Properties - 这些属性由消息源自动设置。它们不能由用户操作或设置。本质上,入站属性是不可变的。
Outbound Properties - 这些属性是包含元数据的属性,比如入站属性,可以在流程期间设置。它们可以由 Mule 自动设置,也可以由用户手动设置。本质上,出站属性是可变的。
当消息通过一个流程的出站端点通过传输转到另一个流程的入站端点时,出站属性将变为入站属性。
当消息通过 flow-ref 而不是连接器转到新流程时,出站属性仍保持出站属性。