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 架构
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工具介绍
我们来看一个基于Maven项目,使用典型的archetype构建的应用程序的目录结构,可以看到一般分成src/main/java,src/main/resources,src/test/java,src/test/resources等目录。每个目录的作用Java程序员都很清楚。
我们再来看看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通讯协议
创建项目时需要注意: “Mule Server 3.9.0 CE”,以CE结尾的是社区版,“Mule Server 3.9.0 EE”,以EE结尾的是企业版。
可以向搜索框进行搜索,能快速查到相应的组件。找到后将它拖到开发面板
运行后输入如下地址:http://localhost:8081/webservice/work
将得到如下结果。