Mule ESB
什么是Mule ESB?
Mule,运行时平台和灵活的基于Java的企业服务(ESB),使开发人员可以轻松地在异构系统和服务之间建立高性能,安全,多协议的交互。
无论应用程序使用何种技术,它都可以轻松集成现有系统。
应用程序之间的数据交换由不同的消息传递格式进行。
以下是Mule ESB的强大功能:
- 数据转换
- 服务调解
- 服务创建和托管
- 邮件路由
Mule ESB的优势
轻巧但可扩展,可让您从小处着手,并在将来连接更多应用程序。
非常适合需要松散耦合,鲁棒性和可伸缩性的方案。
它支持30多种协议和技术。
Mule平台鼓励大量重复使用组件;无需在任何组件中运行或者添加Mule特定代码。
而且,业务逻辑与消息传递逻辑是分开的。选择消息格式时,Mule不会强加任何设计约束。
从SOAP到Binary图像文件,它都不同。
Mule ESB架构
Mule ESB架构
ule子消息结构
它是Mule内部用于通过一个或者多个流在不同应用程序之间进行通信的数据格式。
ule子消息结构
它主要包括两个主要部分:
标头-只是消息的元数据。
有效负载-这是实际的业务信息。
消息对象用于软件包Mule消息以及一些附加属性,例如附件,变量和异常有效负载-可能不会在每种情况下都出现。
元数据由属性表示,该属性提供有用的信息,以便在消息进入新流或者传输到另一个应用程序时促进处理并避免错误。
包含在Mule对象中的属性和变量将数据保留为键值格式。
属性有两个主要范围:
入站属性:这些是不可变的,由消息源自动生成。
它们阻止了数据格式的混乱以及消息生命周期中的任何其他操作。
入站属性的范围仅限于流;一旦消息转至另一个流,其入站属性就会消失。
ule子表达语言(MEL)示例:
#[message.outboundProperties]
出站属性:这些是可变的,可以由Mule设置,或者用户可以通过使用流中的转换器元素来更改它们。
当消息将一个流的出站端点传递到另一流的入站端点时,它们可以成为入站属性。
在一种情况下,如果将消息传递到任何流引用,则出站属性与出站属性保持相同。
MEL示例:
#[message.inboundProperties]
变量具有三个作用域:
流变量-可以在同一流中访问。
会话变量-适用于同一应用程序中的流。
记录变量-仅适用于按批处理的记录
消息有效负载包含您的Mule应用程序处理的数据。
有效负载在通过不同流程的过程中会发生变化。
它由Mule流中的各种Message处理器设置,丰富或者转换为新格式。
MEL提取有效载荷信息的示例:## payload
ule子运行时设置
- 可在此处获得Mule Runtime Community(CE)或者Enterprise(EE)版本:https://developer.mulesoft.com/download-mule-esb-runtime
- 要安装Anypoint Studio(用于创建集成应用程序的IDE),请单击此处:https://www.mulesoft.com/lp/dl/studio
Anypoint Studio Hello World项目
让我们逐步构建一个应用程序,当您点击该服务时,该应用程序会向浏览器返回" Hello Mule"消息。
通过导航到本地计算机上安装的目录来启动Anypoint Studio平台。
通过单击"欢迎"屏幕上出现的"创建项目"链接或者导航到"文件">"新建">" Mule项目",创建新的Mule项目。
在"项目名称"部分输入您的项目名称。
Anypoint Studio创建新项目
- 单击完成,您将看到Studio Canvas屏幕,如下所示:
Anypoint Studio Hello World项目结构
在画布的底部,有三个选项卡-消息流,配置XML和全局元素。
消息流和配置XML是两个选项卡,分别以可视和XML格式显示或者编辑Mule流。
"全局元素"选项卡散布具有全局范围的配置元素的属性。从Mule Palette中选择一个HTTP连接器并将其拖到画布中。
Anypoint Studio Hello Mule HTTP连接器
- 转到HTTP侦听器配置面板-单击HTTP连接器中"常规设置"下的绿色加号,然后输入主机和端口值。
Mule ESB HTTP连接器设置
Mule ESB HTTP侦听器配置
- 搜索"设置有效载荷",然后将变压器拖动到流中。
ule子消息集有效载荷
- 单击"设置有效载荷转换器",并将"值"字段设置为" Hello Mule"。
ule子消息有效载荷值
- 拖动记录器,并将从"设置有效载荷"转换器接收到的有效载荷值设置为"消息"。
Anypoint Studio记录器
- 连接所有Mule组件后,您将以XML格式进行如下所示的流程:
- 要测试您的应用程序—将其作为Mule Application运行。
您可以看到以下控制台日志,以验证应用程序已部署并成功启动。
Anypoint Studio运行为M子应用程序
- 启动浏览器并点击地址https://localhost:8081/message。
您可以看到响应为" Hello Mule"。