Mulde学习讲解
目  录
1 Mule的基本概念    - 1 -
1.1什么是Mule?    - 1 -
1.2 Mule支持的企业技术有哪些?    - 2 -
1.3 Mule引言    - 3 -
2 Mule ESB的主要功能    - 4 -
2.1服务的创建与管理    - 4 -
2.2服务调解    - 5 -
2.3消息路由    - 5 -
2.4数据转换    - 5 -
3 Mule ESB核心概念    - 5 -
3.1服务组件Service Component    - 6 -
3.2服务端点EndPoint    - 6 -
3.3消息路由Router    - 8 -
3.4转换器transformer    - 8 -
3.5传输器和连接器transport connection    - 9 -
4 Mule工作原理    - 9 -
4.1 Mule流程图    - 9 -
4.2 Mule流程例子图    - 10 -
4.3 Mule数据流    - 11 -

1 Mule的基本概念
1.1 什么是Mule?   
Mule是基于Java开发平台,是一个轻量级的消息框架。可以快速连接外部应用程序,比如说外部系统、内部组件,甚至说一段脚本,通过连接外部应用程序,达到我们轻松地交换数据。说到Mule,我们不得不先了解ESB的概念,为什么这么说呢?Mule的架构风格就是一个ESB的架构,ESB(Enterprise Service Bus),企业服务总线的意思,我们可以对“企业服务总线”进行想象一下,结合下Mule的概念,我们很容易就可以联想到Mule既然是可以实现与外部系统应用进行连接和交换数据,那么企业服务总线也是基于该种功能而进行各种不同企业、不同技术、不同领域之间的数据交互而产生的。
既然Mule能使我们能够快速、简单地连接各个应用,并且还能在各个应用系统之间进行交换数据。Mule使用了SOA的面向服务的架构(将系统进行功能化,每个功能提供一种服务。现在非常流行WebService技术以及SOA(面向服务架构)技术)。关于SOA我就不多介绍了。我们项目中使用的也是面向服务的架构技术。
后期添加两张图进行说明吧。一个是错乱不堪。
一个是荆条有序。
1.2 Mule支持的企业技术有哪些?   
在上一段中我说明了Mule是解决不同企业、不同技术、不同领域之间的数据交互。也就是
说不管应用程序采用了什么技术(协议),JMS、Web Service、JDBC、HTTP甚至其他的技术,Mule都可以准确无误地将它们集成到一起。以及通过协议如SOAP 发送到Web Service。这就是它的强大之处。你觉得呢?如下图:
上图中列出了不同技术之间的在Mule的功能体系下能够连接并能够进行数据交互。比如关
如何生成webservice客户端于MuleFTP目录文件、HTTP网络协议、JMS的队列(Queue)、JDBC的数据服务、SMTP的Email服务、XML WebService服务等,在这里我不得不引用一句话,那就是“Mule的组件可以是你想要的任意类型。你可以轻松整合任何来自其他框架中某个组件的“简单的Java对象”(POJO)”。
1.3 Mule引言
我们通过ESB(企业服务总线)流程图来说明Mule的应用。图中我们可以看到右边显示了不同组件的应用程序系统(有EJB、JMS、WebService),他们所使用的部署服务器也不同,通过ESB将各个孤立的应用系统进行连接,并且能进行数据的交互。ESB企业服务总线能够接收客户端发出的任意协议请求,通过ESB将各个应用系统进行连接,返回相应的响应信息给客户端。可见,ESB是一个分布式的SOA架构。
2 Mule ESB的主要功能
Mule ESB具有如下四个主要功能:
服务的创建与管理(Service creation and hosting)
服务调解(Service mediation)
消息路由(Message routing)
数据转换(Data transformation)
2.1 服务的创建与管理
    上图中用户需购买“家电”、“服装”、“零食”三种商品,他不用按分类一家店一家店地,他只需通过一家超市就可以把他所需要的商品全部买到。超市这样就把不同类别的商品全部集中到了一起,客户购物也方便。Mule ESB就是起到了这样的一种作用。用Mule ESB作为一个轻量级的服务容器来暴露和管理可重用的服务。在这里举例并没有很明显地表现出“暴露”这一词,为什么呢?这个得说说我们的程序了。比如说,家电行业提供一个WebService接口方法发布至Mule ESB处,客户端并非也通过家电行业提供的接口方法,可能超市Mule ESB中间进行了处理与隐藏,超市重新提供一个新的接口暴露给用户访问,比如说进口商品价格和出售价格的改变。
2.2 服务调解
隐藏服务消息的格式和协议,将业务逻辑从消息中独立出来,并可以实现本地独立的服务调用。
2.3 消息路由
基于内容和规则的消息路由(来回)、消息过滤、消息合并和消息的重新排序。消息路由
控制组件如何接收消息,以及在处理后应该发送到何处去,入站路由控制服务如何处理入站消息(如,有选择地允许那些符合特定标准的消息),出站路由控制服务处理完消息后该将其发往何处(如,将其发送到接收者的列表,或将消息拆分,然后发送到不同的端点)。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。