Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递

Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递

  • 前言
    • 一. Mule ESB
      • 1.Mule ESB 简介
      • 2.Mule ESB 架构
      • 3.架构说明
      • Mule ESB 的其他特性
    • 二. Anypoint studio工具介绍
    • 三. 使用Mule ESB 实现HTTP通讯协议

前言

     先赞后看,养成习惯!

一. Mule ESB

1.Mule ESB 简介

  Mule ESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。
  Mule是由MuleSoft(前身是MuleSource)开发的一个基于ESB架构理念的消息平台。Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是通过消息端点(message endpoint)来进行的。这些端点为众多的分立的技术,比如Jms, Smtp, Jdbc, Tcp, Http, Xmpp, file等等,提供了简单和一致的接口。

2.Mule ESB 架构

Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第1张图片

3.架构说明

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 ESB 的其他特性

1,Mule中的组件可以是任何类型,你可以把POJO或者其他系统的组件集成进来;

2,可以使用现存的任何组件而无需改变,也不需嵌入Mule的特定代码,不需调用Mule的API,业务逻辑和消息逻辑完全分离;

3,消息可以是任何格式,如SOAP或二进制的图像文件;

4,支持任何传输之上的异步,同步和请求响应事件处理机制.;

5,Mule提供了一种简单而又强大的方式与RESfFul服务交互,即Mule RESTPack。

二. Anypoint studio工具介绍

Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第2张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第3张图片
  我们来看一个基于Maven项目,使用典型的archetype构建的应用程序的目录结构,可以看到一般分成src/main/java,src/main/resources,src/test/java,src/test/resources等目录。每个目录的作用Java程序员都很清楚。
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第4张图片
我们再来看看Mule ESB Application的结构是什么。从图示可以发现,Mule的应用程序和Java应用程序几乎一致,其中有几个新目录着重介绍一下。

src/main/app

这个目录就是放置Mule的配置文件,也就是Mule Configuration File。打开Mule Configuration File就会开启设计器界面。

src/main/api

这个目录是放置Restful API的定义文件。

src/main/wsdl

这个目录是放置SOAP Webservice的WSDL文件。
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第5张图片

三. 使用Mule ESB 实现HTTP通讯协议

  创建项目时需要注意: “Mule Server 3.9.0 CE”,以CE结尾的是社区版,“Mule Server 3.9.0 EE”,以EE结尾的是企业版。
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第6张图片
  可以向搜索框进行搜索,能快速查到相应的组件。找到后将它拖到开发面板
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第7张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第8张图片Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第9张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第10张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第11张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第12张图片
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第13张图片
  运行后输入如下地址:http://localhost:8081/webservice/work
将得到如下结果。
Mule ESB 的基本概念,以及如何使用HTTP组件实现消息传递_第14张图片

你可能感兴趣的:(MULE,ESB,学习,ESB)