一步一步学Mule ESB——(第一篇:基础篇)

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有多好用吧!

时间: 2024-09-16 11:52:14

一步一步学Mule ESB——(第一篇:基础篇)的相关文章

《数据库技术原理与应用教程(第2版)》——第一篇 基础篇 第1章 数据、数据管理与数据处理 1.1 概述

第一篇 基础篇 数据库技术是计算机学科中的一门重要分支,它已有五十余年历史并已成为一门完整的学科,其主要内容包括基础理论.基本操作及开发应用等. 数据库技术的基础理论部分是构成该学科的基石,它给出了该学科的抽象的.全局的研究结果并对整个学科起指导性作用. 在本书中,基础部分由两方面内容组成,它们是数据库技术的一般性理论和关系数据库技术的理论. 1.数据库技术的一般性理论 第1~3章介绍数据库技术的一般性理论.其中第1章介绍有关数据.数据管理与数据处理的一般性概念:第2章介绍数据库技术中的基础知识

《我的视频我做主:Premiere Pro CS5实战精粹》——第一部分 基础篇 第1章 非线性剪辑基础 1.1 认识非线性剪辑

第一部分 基础篇 主要讲解了Premiere Pro CS5视频剪辑过程中所使用的基本方法和主要操作流程,使即便没有软件操作基础的读者也能够对软件有全面.概括性地了解. 第1章 非线性剪辑基础 第2章 海景风光片的制作 第3章 为海景风光片添加声音 第4章 海景风光片的视频输出 第1章 非线性剪辑基础 本章是非线性剪辑的基础章节,详细介绍了非线性剪辑技术以及视频编辑基础知识,如高清.标清.帧率.像素宽高比等概念.同时本章还是Premiere的入门章节,对Adobe Premiere Pro CS

一步一步学Mule ESB——(第二篇:Ajax篇)

待完成功能 使用Ajax请求向后端发送请求 把网页的数据转换成请求的处理流 使用XSL and Mule Transformers转换成Google API可以理解的格式 创建一个Google API的拼写检查,处理网页输入 返回XML数据到页面 实施一个Jetty服务器在流程中 创建工程 创建工程ajaxflow,然后在ajaxflow.mflow中加入以下组件: 图:ajax请求流程 添加和配置Ajax接口 在ajaxflow.mflow中选择Global Elements: 图:选择全局元

8天学通MongoDB——第一天 基础入门

      关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表","文档"对应"行".   一: 下载       上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意:           ①:根据业界规则,偶数为"稳定版"(如:1.6.X,1.8.X),奇数

教大家8天学通MongoDB——第一天 基础入门篇_MongoDB

关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表","文档"对应"行". 一: 下载       上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意:           ①:根据业界规则,偶数为"稳定版"(如:1.6.X,1.8.X),奇数为"开

一步一步学Silverlight :使用Transform实现更炫的效果(上)

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画.图形图像等几个方面带您快速进入Silverlight 2开发. 本文为理

一步一步学Silverlight :综合实例之RSS阅读器

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画.图形图像等几个方面带您快速进入Silverlight 2开发 本文将综合

一步一步学Silverlight :如何在Silverlight中与HTML DOM交互(上)

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章将从Silverlight 2基础知识.数据与通信.自定义控件.动画.图形图像等几个方面带您快速进入Silverlight 2开发. Silv

一步一步学Silverlight :创建一个基本的Silverlight应用

概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON.Web Service.WCF以及Sockets的支持等一系列新的特性.<一步一步学Silverlight 2系列>文章带您快速进入Silverlight 2开发. 本文为系列第一篇创建一个基本的Silverlight 2应用,不能免俗,从最简单的Hello W