Mule是由MuleSoft(前身是MuleSource)开发的一个基于ESB架构理念的消息平台。Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是通过消息端点(message endpoint)来进行的。这些端点为众多的分立的技术,比如Jms, Smtp, Jdbc, Tcp, Http, Xmpp, file等等,提供了简单和一致的接口。
Mule架构:
架构说明:
1,Mule主要有三个核心组件:传输器transport、路由器router、转换器transformer;
2,transport负责在应用之间传递消息,router负责指导消息的传递路径,transformer负责消息格式的转换;
3,可以在router中引入过滤器来针对消息内容进行过滤,实现基于内容的路由,并且只需通过xml即可完成,无需编写java代码;
4,支持事务、安全、异常管理、JMX管理架构, 提供管理控制台(企业版);
5,支持与Apache CXF、Spring和ActiveMQ的集成;
6,提供Eclipse插件作为IDE开发Mule应用;
Mule的其他特性有:
1,Mule中的组件可以是任何类型,你可以把POJO或者其他系统的组件集成进来;
2,可以使用现存的任何组件而无需改变,也不需嵌入Mule的特定代码,不需调用Mule的API,业务逻辑和消息逻辑完全分离;
3,消息可以是任何格式,如SOAP或二进制的图像文件;
4,支持任何传输之上的异步,同步和请求响应事件处理机制.;
5,Mule提供了一种简单而又强大的方式与RESfFul服务交互,即Mule RESTPack。
使用了Mule的公司主要有:沃尔玛、惠普、索尼、荷兰银行、花旗银行。