您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
一步一步学Mule ESB
 
作者:skyme 来源:博客园 发布于 2015-9-10
  4392  次浏览      14
 

第一篇:基础篇

mule

它是一个以Java为核心的轻量级的消息框架和整合平台,基于EIP(Enterprise Integeration Patterns,由Hohpe和Woolf编写的一本书)而实现的。Mule的核心组件是UMO(Universal Message Objects,从Mule2.0开始UMO这一概念已经被组件Componse所代替),UMO实现整合逻辑。UMO可以是POJO,JavaBean 等等。它支持30多种传输协议(file,FTP,UDP,TCP,email,HTTP,SOAP,JMS等),并整合了许多流行的开源项目,比如 Spring,ActiveMQ,CXF,Axis,Drools等。虽然Mule没有基于JBI来构建其架构,但是它为JBI容器提供了JBI适配器, 应此可以很好地与JBI容器整合在一起。而 Mule更关注其灵活性,高效性以及易开发性。从2005年发表1.0版本以来,Mule吸引了越来越多的关注者,成为开源ESB中的一支独秀。目前许多 公司都使用了Mule,比如Walmart,HP,Sony,Deutsche Bank 以及 CitiBank等公司。Mule 3版本以后集成OSGi,支持热部署。

可见OSGI必将是将来的一大趋势,各大厂商,开源软件等都已经开始支持此规范。

下载和安装Mule ESB

我们到Mule的官方网站下载Mule ESB,网站是:http://www.mulesoft.org/

Mule一共有两个版本,一个是社区版,一个是企业版,企业版是收费的,但是功能强大。

图:Mule ESB社区版

图:Mule ESB企业版

我们下载社区版。

然后解压、启动Mule Studio,选择工作空间:

图:Mule Studio启动并运行

基础示例

启动并且选择默认的工作空间后,就会出现如下界面:

图:Mule Studio的欢迎界面

创建新工程:File > New > Mule Project

因为我们要做的示例是拼写检查,所以我们这里命名叫SpellChecker

图:创建Mule工程

其它默认,下一步然后完成。

工程界面如下:

图:Mule Studio工作界面

接下来我们为示例设置两个文件夹:

选择Studio Application Menu > File > Open File >

然后打开你的Mule Studio安装文件夹,Examples > Spell Checker

新增目录InXML和OutXML

图:在目录中新加文件夹

下面看下典型的业务流程:

图:业务流程图

web客户端发送Http请求然后到入口端点,经过Filter进行过滤错误的信息,然后转换成JMS的服务,经过Java的业务逻辑组件处理最后再转换成Http请求返回给客户端应用,就是这么样的一个流程。

下面我们就Mule Studio来画一下对应的应用,直接看完成后的效果:

图:spell checker处理流程

双击第一个File,设置上边新建的输入文件夹:

图:设置输入的文件夹

然后双击Http标签,设置如下:

图:http设置

最后设置File的输出规则:

图:File的输出规则及输出目录

保存文件,然后我们运行工程,工程上点右键,Run As > Mule Application

正常启动后应该能看到

图:Mule启动运行spellchecker

图:spellcheck文件的位置

将示例中spellcheck拷贝到InXML中,然后我们看Mule的控制台

图:Mule控制台的信息

我们再看一下OutXML文件夹,多了一个生成后的文件

上面就是Mule的示例工程,看看Mule有多好用吧!

第二篇:Ajax篇

待完成功能

1.使用Ajax请求向后端发送请求

2.把网页的数据转换成请求的处理流

3.使用XSL and Mule Transformers转换成Google API可以理解的格式

4.创建一个Google API的拼写检查,处理网页输入

5.返回XML数据到页面

6.实施一个Jetty服务器在流程中

创建工程

创建工程ajaxflow,然后在ajaxflow.mflow中加入以下组件:

图:ajax请求流程

添加和配置Ajax接口

在ajaxflow.mflow中选择Global Elements:

:选择全局元素

点击Create,出现Choose Global Type窗口。

打开Connectors,然后选择Ajax

图:选择接口中的Ajax

分别在Server URL和Resource Base中输入:http://127.0.0.1:8090/Ajax和 src/main/app/docroot

图:Ajax设置

点击OK完成就可以在列表中看到Ajax接口了。

:Ajax接口

然后双击flow中的Ajax元素,配置Ajax Endpoint,设置Channel:

:Channel设置

然后设置引用:

选择我们上边设置的Ajax全局接口。

配置XSLT转换

下载xsl文件:

transform.xsl file

保存进你的MuleStudio > examples > AjaxSpellChecker > TransformFile目录中

然后右键工程,选择Import,选择File System,导入刚才保存好的transform.xsl,将导入的文件放到工程的src\main\app目录下。

做完上面的步骤,双击XSLT transformer会出现Pattern Properties窗口,配置如下参数:

图:转换属性配置

配置Http请求

双击HTTP Endpoint出现Endpoint Properties窗口。

进行设置如下:

图:Http Endpoint设置

然后设置HTTP Settings,Content Type属性:

图:HTTP Settings设置

导入页面并测试

先新建文件夹,New > Folder. 名称为/main/app/docroot,然后在新建的文件夹上点右键,导入示例页面,

页面的位置在MuleStudio > examples > AjaxSpellChecker >HTMLfile中的SpellChecker.html文件。

然后启动Run as Mule Application,启动成功后我们能看到:

图:ajaxflow启动应用

然后打开浏览器输入http://127.0.0.1:8090/Ajax/SpellChecker.html

图:Ajax请求页面

根据输入内容的不同,控制台就会输出对应的处理内容了。

图:控制台打出的日志信息

   
4392 次浏览       14
相关文章

多维方法来开发有机的业务流程架构
SCA 应用程序开发
BPM 和 SOA 性能最佳实践
实现企业服务总线模式
相关文档

SCA介绍及应用实例
基于SOA架构的ESB平台:Infomagic
SCA架构
SOA的基本概念
相关课程

面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]

基于SOA的工作流(WF)整合
SOA 100问 - 问与答
SOAP 应用模式:处理与性能
ESB架构之企业实施案例
基于SOA架构的企业集成系统
基于SOA的体系架构设计
更多...   


面向应用的架构设计实践
单元测试+重构+设计模式
软件架构师—高级实践
软件架构设计方法、案例与实践
嵌入式软件架构设计—高级实践
SOA体系结构实践


某第三方电子支付企业 SOA架构设计
某电子企业 SOA应用
中国移动 SOA培训
北京大学 SOA架构设计实践
友邦保险 SOA架构设计
上海 SOA架构实践
山东移动通信 SOA体系结构实践
更多...