open source ESB and integration platform
http://www.mulesoft.org/
1. 简介
Mule ESB 是一个基于 Java 的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。 Mule ESB 支持集成现有系统而无论其底层采用何种技术,如 JMS 、 Web Services 、 JDBC 、 HTTP 以及其他技术。
2. 整体结构
图 整体结构
从上图可见, Mule 通过 Transports/Connectors 与外围的异构系统连接,提供 Routing (路由)、 Transaction Management (事务管理)、 Transformation (转换)、 Message Broker (消息代理)、 Transportation Management (传输管理)、 Security (安全)等核心模块。 Mule 可以单独使用,也可以架设在常用的应用服务器上。
图 架构简图
外围系统的服务请求通过 Mule ESB 的 Transport 接入, Mule 通过 Transformer 进行数据的格式转换,然后经过 Inbound Router 进行消息过滤(内部通过配置 filter 实现)后交给 Mule 的 Component 进行业务逻辑处理,处理后的结果通过 Outbound Router 确定传递给哪个接收方,然后通过 Transformer 进行数据格式转换,通过 Transport 连接至接收方,传递信息。
此图描述的是 Mule 中的一个典型场景的处理过程,涵盖了 Mule 中的各个关键组件。其中某些处理步骤不是必须的,如Inbound Router、Transformer。后续可以看到一些其他场景的处理。
3. 功能
a. 服务中介
将业务逻辑和消息发送分离 屏蔽服务的消息格式和协议 提供任意位置的服务调用 提供协议桥接
b. 数据转换
在应用间交换不同格式的信息 操作消息的负载内容,包括加密、压缩和编码转换 在异构的传输协议的数据类型间格式化消息c. 消息路由 基于消息内容和复杂规则路由消息 消息的过滤、聚合以及重新排列序号
d. 服务创建和托管 暴露端点、 EJB 、 Spring Bean 以及 POJO 作为服务 作为轻量级的服务容器进行服务托管
Mule ESB中有一些基本的概念,理解这些基本概念后才能理解Mule的内部机制。从中也可以看到Mule解决问题的基本思路。
4. 基本概念
4.1 Model
Model 表示托管各个服务的运行时环境。
图 Model
4.2 Service
Service 是用来处理服务请求的基本单位,它调用各个组件进行服务请求的处理。
图 Service
4.3 Transport
Transport 管理消息的接收和发送,数据转换的过程也是在 Transport 中通过调用 Transformer 完成的。
图 Transport
4.3.1 Connector
Connector 用于管控特定协议的使用,如 HTTP Connector 、 JMS Connector 等。
4.3.2 End-Point
Endpoint 用于表示一种协议的特定使用方式,如listening/polling、从中读取、向指定地址写入等,定义了发送和接收消息的通道。Endpoint控制的是底层的实体在Connector中如何被使用。
Endpoint 定义于 Inbound 和 Outbound Router 中。
4.4 Transformer
Transformer 用于转换消息的内容。
图 Transformer
4.5 Router
Router 使用 Filter 基于消息中的属性信息进行消息的分发。
图 Router
Router 在 Service 中的位置决定了 Router 的性质( inbound 、 outbound 和 response )和担任的角色( pass-through 、 aggregator 等)。
4.6 Component
Component 是 Service 的核心部件,是 Service 的业务逻辑的实现。
图 Component: implicit bridge component
Component可以是Java Class(POJO、Spring Bean)、Web Service、Script等。
Component 可定义自己的生命周期: initialise 、 start 、 stop 、 dispose ,不过需要实现 Mule 的 LifeCycle 接口。 Mule 3.0 版本开始提供 @PostConstruct 和 @PreDestroy 的注解,对应生命周期的 initialise 和 dispose 阶段,不需要实现 Mule 的 LifeCycle 接口了。
4.7 Flow(@since 3.0)
Flow 是 Mule 3.0 新引入的,包含一个消息源( Message Source )和多个消息处理器组成的处理器链。
图 Flow
根据实际需求着重检查了一下Mule ESB的消息传递方式。Mule支持常用的几种消息传递方式,能够满足要求。
5. 消息传递方式
5.1 异步方式
异步方式是一种单向调用,调用者不需要获得响应。
图 Asynchronous
异步方式通过 inbound 和 outbound endpoint 的 exchange-pattern=”one-way” 实现。
使用基本的Stdio Transport验证,通过标准输入传输字符串,将其原样传递给标准输出进行显示。相应配置如下:
xml 代码
< service name = "echo" > < inbound > < stdio:inbound-endpoint system = "IN" exchange-pattern = "one-way" /> </ inbound > < component > < singleton-object class = "demo.mule.umo.StdIo" /> </ component > < outbound > < pass-through-router > < stdio:outbound-endpoint system = "OUT" exchange-pattern = "one-way" /> </ pass-through-router > </ outbound > </ service >
运行服务,控制台显示结果如下:
Please enter: Hello, world! INFO 2010-12-07 19:21:18,877 [ConsoleConnector.dispatcher.1] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'ConsoleConnector.dispatcher.23255376'. Object is: StdioMessageDispatcher INFO 2010-12-07 19:21:18,877 [ConsoleConnector.dispatcher.1] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'ConsoleConnector.dispatcher.23255376'. Object is: StdioMessageDispatcher Hello, world!
其中 INFO输出是Mule第一次初始化相应Connector打印出来的,之后调用服务不会再次显示。异步方式适用于 简单的消息传递 的场景。
5.2 请求-响应方式
请求 - 响应方式即请求方调用服务后,服务立即处理并返回响应结果,不需将消息再次传递。
图 Request-Response
请求 - 响应方式通过 input endpoint 的 exchange-pattern=”request-response” 实现,相应配置如下:
xml 代码
< strong > < strong > < model name = "services" > < service name = "echoService" > < inbound > < inbound-endpoint address = "http://localhost:7007/services/Echo" exchange-pattern = "request-response" > < cxf:jaxws-service /> </ inbound-endpoint > </ inbound > < component > < singleton-object class = "demo.mule.umo.Echo" /> </ component > </ service > </ model > </ strong > </ strong >
上 边是通过service配置的,通过flow配置如下:xml 代码
< flow name = "EchoFlow" > < inbound-endpoint address = "http://localhost:7007/services/Echo" exchange-pattern = "request-response" /> < cxf:jaxws-service serviceClass = "demo.mule.umo.Echo" /> < component > < singleton-object class = "demo.mule.umo.Echo" /> </ component > </ flow >
在浏览器中输入“http://localhost:7007/services/Echo/echo/text/hello,world”,浏览器中会显示“hello,world”的输出信息。
请求 - 响应方式适用于 单次服务调用 的场景。
5.3 同步方式
同步方式即请求方调用服务后, component 将处理结果发送给另一个外部服务处理,并将处理结果反方向返回。
图 Synchronous
同步方式通过 inbound 和 outbound endpoint 的 exchange-pattern=”request-response” 实现,相应配置如下:
xml 代码
< flow name = "echo" > < inbound-endpoint address = "http://localhost:7007/services/Echo" exchange-pattern = "request-response" /> < cxf:jaxws-service serviceClass = "demo.mule.umo.Echo" /> < component > < singleton-object class = "demo.mule.umo.StdIo" /> </ component > < vm:outbound-endpoint path = "vm" exchange-pattern = "request-response" /> </ flow > < flow name = "vm" > < vm:inbound-endpoint path = "vm" exchange-pattern = "request-response" /> < component > < singleton-object class = "demo.mule.umo.Vm" /> </ component > < stdio:outbound-endpoint system = "OUT" exchange-pattern = "one-way" /> </ flow >
同步方式适用于通过 Mule 调用远程服务 的场景。
5.4 异步请求-响应方式
异步请求 - 响应方式即请求方调用服务后不需要立即获得返回结果, component 将请求发送给其他外围系统处理(可能有多个),全部处理完毕后通过指定的异步应答 Router 返回给请求方。
图 Asynchronous Request-Response
异步请求 - 响应方式通过在OutBound Endpoint中增加 reply-to 以及增加 async-reply 节点 实现,响应配置如下:
xml 代码
< flow name = "echo" > < inbound-endpoint address = "http://localhost:7007/services/Echo" exchange-pattern = "request-response" /> < cxf:jaxws-service serviceClass = "demo.mule.umo.Echo" /> < component > < singleton-object class = "demo.mule.umo.StdIo" /> </ component > < vm:outbound-endpoint path = "vm" exchange-pattern = "request-response" /> </ flow > < flow name = "vm" > < vm:inbound-endpoint path = "vm" exchange-pattern = "request-response" /> < component > < singleton-object class = "demo.mule.umo.Vm" /> </ component > < stdio:outbound-endpoint system = "OUT" exchange-pattern = "one-way" /> </ flow >
异步请求 - 响应方式适用于请求需要被 多个远程服务并行处理 ,结果需要 汇总处理 后返回的场景。
注:上述代码未运行通过,queue1和queue2获得了请求消息并正常处理,但返回至async-reply时抛出异常,暂未定位到问题。
后将collection-async-reply-router改为single-async-reply-router未报异常,代码示例如下:
xml 代码
< em > < service name = "async req-rep" > < inbound > < stdio:inbound-endpoint ref = "stdioInEndpoint" /> </ inbound > < component class = "demo.mule.umo.Echo" /> < outbound > < multicasting-router > < vm:outbound-endpoint path = "async.queue1" exchange-pattern = "one-way" /> < vm:outbound-endpoint path = "async.queue2" exchange-pattern = "one-way" /> < reply-to address = "vm://reply" /> </ multicasting-router > </ outbound > < async-reply timeout = "5000" failOnTimeout = "true" > < vm:inbound-endpoint path = "reply" exchange-pattern = "one-way" /> < single-async-reply-router /> </ async-reply > </ service > </ em >
等有空看看collection-async-reply-router吧,或者自定义router。
转自 http://my.oschina.net/moon/blog/10701
1. 下载,安装与配置
1.1 下载Mule - http://www.mulesoft.org/
1.2 下载Mule IDE - http://www.mulesoft.org/documentation/display/MULEIDE/Mule+IDE+2.0+Installation+Guide
其中,Mule IDE是一个Eclipse插件,其安装与配置在官方站点中有详细的说明,这里不再重复。本人使用的是
操作系统:Windows XP
注意: Eclipse中的JDK最好与系统安装的JDK保持一致。
2. 运行例子
2.1 直接运行
%Mule_Home%\examples目录下有好几个例子,可直接运行,比如运行echo,直接运行echo目录下的echo.bat即可,这里提供了三种模式,分别是命令行,以及基于Axis和Cxf的服务方式。下面两图分别是命令行运行,和基于Axis服务的运行效果图,采用后者,需在浏览器中输入以下地址: http://localhost:65081/services/EchoUMO?method=echo
2.2 在开发环境中运行
2.2.1 创建Mule Project
输入项目名称,选取Add sample project content,同时在下拉列表中选择Echo Example,然后Finish。
2.2.2 运行
创建项目后,可以看看项目结构,然后右键点击conf目录下任一个xml配置文件,Run As -> Mule Server,即可运行,效果图略。
3. 开发第一个Mule项目——Hello World
3.1 创建工程 - 创建一个Java Project
3.2 添加所需要的JAR包
添加一个lib文件夹,同时把以下目录中所有的JAR包复制到lib文件夹中
-- %Mule_Home%\lib\boot
-- %Mule_Home%\lib\mule
-- %Mule_Home%\lib\opt
并将这些JAR包添加到项目的classpath
3.3 编写Java文件
3.3.1 创建接口
/*********************************************************************** * <p>Project Name: test</p> * <p>File Name: com.thu.afa.mule.demo.Hello.java</p> * <p>Copyright: Copyright (c) 2010</p> * <p>Company: <a href="http://afa.thu.com">http://afa.thu.com</a></p> ***********************************************************************/ package com.thu.afa.mule.demo; /** * <p>Class Name: Hello</p> * <p>Description: </p> * @author Afa * @date Jun 26, 2010 * @version 1.0 */ public interface Hello { public String hello(String name); }
3.3.2 创建实现类
/*********************************************************************** * <p>Project Name: test</p> * <p>File Name: com.thu.afa.mule.demo.HelloImpl.java</p> * <p>Copyright: Copyright (c) 2010</p> * <p>Company: <a href="http://afa.thu.com">http://afa.thu.com</a></p> ***********************************************************************/ package com.thu.afa.mule.demo; /** * <p>Class Name: HelloImpl</p> * <p>Description: </p> * @author Afa * @date Jun 26, 2010 * @version 1.0 */ public class HelloImpl implements Hello { /* (non-Javadoc) * <p>Title: </p> * <p>Method Name: hello</p> * <p>Description: </p> * @author: Afa * @date: Jun 26, 2010 * @see com.thu.afa.mule.demo.Hello#hello(java.lang.String) * * @param name * @return */ public String hello(String name) { return name; } }
3.4 编写配置文件
在项目目录下创建conf文件夹,并创建文件:hello-config.xml。当然,你也可以从mule的例子中复制一个配置文件到此,然后做适当的修改。下面的本例子的配置:
<?xml version="1.0" encoding="UTF-8"?> <mule xmlns="http://www.mulesource.org/schema/mule/core/2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.1" xmlns:vm="http://www.mulesource.org/schema/mule/vm/2.1" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.mulesource.org/schema/mule/core/2.1 http://www.mulesource.org/schema/mule/core/2.1/mule.xsd http://www.mulesource.org/schema/mule/stdio/2.1 http://www.mulesource.org/schema/mule/stdio/2.1/mule-stdio.xsd http://www.mulesource.org/schema/mule/vm/2.1 http://www.mulesource.org/schema/mule/vm/2.1/mule-vm.xsd"> <!-- The system stream connector is used to send and receive information via the System.in and System.out. Note this connector is only really useful for testing purposes. promptMessage - is what is written to the console messageDelayTime - is the time in milliseconds before the user is prompted again. These properties are set as bean properties on the connector. --> <stdio:connector name="SystemStreamConnector" promptMessage="Please enter yout name: " messageDelayTime="1000"/> <!-- The Mule model initialises and manages your UMO components --> <model name="HelloSample"> <!-- A Mule service defines all the necessary information about how your components will interact with the framework, other components in the system and external sources. Please refer to the Configuration Guide for a full description of all the parameters. --> <service name="HelloUMO"> <inbound> <stdio:inbound-endpoint system="IN" /> </inbound> <component class="com.thu.afa.mule.demo.HelloImpl"/> <outbound> <pass-through-router> <stdio:outbound-endpoint system="OUT" /> </pass-through-router> </outbound> </service> </model> </mule>
3.5 运行
右键点击hello-config.xml,Run As -> Mule Server,即可运行,运行结果如下:
4. 小结
本人最近一直在看Mule的官方文档以及所提供的例子,但由于是初学,所以理论性的东西说的就比较少了,如有不正确之处,欢迎指出,也欢迎一起探讨。
分类: MULE ESB
MULE ESB
Mule学习(1)——安装,配置,以及简单例子的运行
摘要: 1. 下载,安装与配置1.1 下载Mule-http://www.mulesoft.org/1.2 下载Mule IDE-http://www.mulesoft.org/documentation/display/MULEIDE/Mule+IDE+2.0+Installation+Guide其中,Mule IDE是一个Eclipse插件,其安装与配置在官方站点中有详细的说明,这里不再重复。本人使用的是Eclipse:MyEclipse 6.5Mule: mule-2.1.2操作系统:Windows XP注意:Eclipse中的JDK最好与系统安装的JDK保持一致。2. 运行例子2.1 直接运行 阅读全文
posted @ 2011-04-07 21:33 liyazhou 阅读(1683) | 评论 (1) 编辑
Mule安装与开发部署一个简单例子
摘要: 本文介绍如何安装Mule,并且开发一个简单的Mule例子。1.下载Mule 到Mule官方网站下载Mule的社区版本,注意企业版本需要收费,而社区版本已经满足开发需要,并且开发源代码。下载地址是:[url]http://www.mulesource.org/display/MULE/Download[/url]。笔者下载的Mule版本是mule2.1.1。2.安装需要的软件 (1)安装JDK1.6,这里就不详细描述。 (2)到[url]http://maven.apache.org/[/url]下载Maven,下载Maven2.0.9版本。如果你只想使用mule,而不想编译mule自带的例子和 阅读全文
posted @ 2011-04-07 21:17 liyazhou 阅读(1092) | 评论 (0) 编辑
mule 3.0.0入门例子
摘要: 最近想学习mule,打算从成功运行第一个例子开始。mule最新版本是mule-standalone-3.0.0,而网上很多安装入门的例子都是以前的版本,在配置xml时与以前版本不同,自己只好网上了解资料。1.用Myeclipse 8.5在线安装插件mule:mule-standalone-3.0.0.zip版本。更新链接:http://dist.muleforge.org/mule-ide/updates/3.4/2.下载下载Mule 3.0.0:http://www.mulesoft.org/download-mule-esb-community-edition并解压到某一工作目录如:D:. 阅读全文
posted @ 2011-03-23 22:58 liyazhou 阅读(1614) | 评论 (0) 编辑
Mule 3 快速入门
摘要: 简介: Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB的关键特性是允许不同的应用通讯,其作为运输系统在企业内或Internet应用间搬运数据。 Mule ESB 包含如下强大的能力: 服务创建和托管— 暴露和托管可重用服务, 使用Mule ESB作为一个轻量级服务容器 服务调解 — shield services from message formats and protocols, 阅读全文
posted @ 2011-03-23 22:57 liyazhou 阅读(1456) | 评论 (0) 编辑
Mule技术架构
摘要: 一.需求简化不同数据源之间的数据交互简化不同应用之间的服务交互可扩展、轻量级、可嵌入、可定制、简单易用二.架构风格选择Mule使用的是基于消息的架构风格(如上图所示),消息具有程序语言无关系、组件无关性、数据格式灵活性、消息无状态等特征,基于消息的服务也同样具有无状态的特征,此外,消息风格有非常成熟的应用模式,能够满足当前遇到的大部分数据应用需求以及SOA的需要。因而能够很好的满足需求中的前2个和第三个的可扩展、可定制的需求。Application:可以是程序段、外部系统。Channel:连接任何2个应用点(计算点),通过消息进行沟通,可参考《EIP - Message Channel (60 阅读全文
posted @ 2011-03-23 22:54 liyazhou 阅读(1095) | 评论 (0) 编辑
编译和导入Mule自带的例子
摘要: 本文介绍如何编译Mule自带的例子,并且把它们导入到eclispe工程下。1.准备 安装Mule:在我的博客里上一篇文章:Mule安装与开发部署一个简单例子里介绍了如何安装Mule,并且开发了一个简单的例子。这里就不介绍mule的安装了,读者到上一篇文章中看。2.编译Mule自带例子中的Hello例子 使用命令行到目录:C:\Mule\mule-2.1.2\examples\hello下,输入:mvn 即可。这里需要安装Maven,在上一篇文章有介绍。3.导入Eclipse工程 输入命令:mvn eclipse:eclipse 成功后,即可导入eclipse。4.导入这个工程到eclipse 阅读全文
posted @ 2011-03-23 22:40 liyazhou 阅读(602) | 评论 (1) 编辑
Mule简介
摘要: Mule是什么? Mule是一个轻量级的基于Java的ESB消息框架,它允许用户快捷地连接多个应用并且在这些应用之间交换数据。Mule使用了SOA的体系结构思想,可以方便的集成已有的应用。它是可升级的、高分布式的对象代理,可以通过异步传输消息技术来无缝的处理服务与应用之间的交互。 Mule框架提供了一个可升级的环境,可以把自己的业务组件部署在里面。Mule管理所有组件之间的交互,不管它们是在同一个虚拟机中还是在internet上,也不管底层使用的传输方式。 Mule围绕着企业服务总线(ESB)架构进行设计,保证了不同的组件或者应用可以通过公共的消息总线进行交互,公共的消息总线一般是由JMS或者 阅读全文
posted @ 2011-03-23 22:39 liyazhou 阅读(904) | 评论 (0) 编辑
Mule安装与开发部署一个简单例子
摘要: 本文介绍如何安装Mule,并且开发一个简单的Mule例子。1.下载Mule 到Mule官方网站下载Mule的社区版本,注意企业版本需要收费,而社区版本已经满足开发需要,并且开发源代码。下载地址是:http://www.mulesource.org/display/MULE/Download。笔者下载的Mule版本是mule2.1.1。2.安装需要的软件 (1)安装JDK1.6,这里就不详细描述。 (2)到http://maven.apache.org/ 下载Maven,下载Maven2.0.9版本。如果你只想使用mule,而不想编译mule自带的例子和mule源码,就不需要下载Maven。 ( 阅读全文
posted @ 2011-03-23 22:39 liyazhou 阅读(608) | 评论 (0) 编辑
Myeclipse8.6安装MuleIDE2.1
摘要: Mule IDE的安装地址:1.在线安装:url:http://dist.muleforge.org/mule-ide/updates-2.1.x/2.下载安装:download:http://dist.muleforge.org/mule-ide/releases/这里选择下载安装,下载下来的安装包内容如下:这里如果直接把muleide-2.1.1拷到MyEclipse的dropins目录下的话,安装不成功,提示少包:org.apache.commons.lang 2.3.0org.apache.commons.lang 2.3.0可以到eclipse 3.5.2中找:org.apache. 阅读全文
posted @ 2011-03-23 22:25 liyazhou 阅读(435) | 评论 (0) 编辑
Mule 2.x Getting Started Guide第二部分Mule使用之使用服务
摘要: 使用服务介绍一个服务组件是一个类、WebService、或者其他的应用,它包含了你希望嵌入到Mule框架中的业务逻辑。例如,一个服务组件可以从用户数据库中添加信息到发货清单中,另一个服务组件可以是一个处理发货清单的订单执行应用程序。你可以使用现有的应用作为服务组件,也可以创建新的服务组件。你的服务组件不需要包含Mule相关的代码。你需要配置服务,将服务用Mule相关的配置包装起来。服务配置指向服务组件,以及那些在服务组件间运送消息的路由器,过滤器以及转换器。它也可以指定服务用以接收消息的入站端点和为消息发往何处定位的出站端点。服务是完成集成解决方案的主要的Mule原件。服务组件一个服务组件可以 阅读全文
posted @ 2011-03-23 22:24 liyazhou 阅读(268) | 评论 (0) 编辑
Mule 2.x Getting Started Guide第二部分Mule使用之配置Mule
摘要: 配置Mule配置概述1.配置文件默认的,并且最常的Mule配置方式是通过XML文件。使用命令行启动Mule在命令行启动时配置文件由参数-config指定。编程的方式启动Mule编程启动Mule时,配置文件作为ConfigurationBuilder的参数提供。2.ConfigurationBuilders3.指定使用哪一个ConfigurationBuilderXML配置正如上一节配置概述中介绍的,最常用的Mule配置方式是通过Spring XML配置文件完成,这些配置文件是要使用默认的Mule名字空间。XML语法配置文件基于XML语法(schema),在文件的最初指定。必须要指定所有必须的语 阅读全文
posted @ 2011-03-23 22:23 liyazhou 阅读(371) | 评论 (0) 编辑
Mule 2.x Getting Started Guide第一部分Mule概述之Mule介绍
摘要: Mule介绍什么是MuleMule是一个基于Java的轻量级消息框架,它可以使我们快速、容易地将我们的应用连接起来,并且保证这些应用间可以交换数据。Mule使用了面向服务架构(SOA),提供了对现有系统的简洁的集成方式。不管应用程序采用了什么技术,JMS、WebService、JDBC、HTTP甚至其他的技术,Mule都可以准确无误地将它们集成到一起。Mule框架具有很强的可扩展性,它允许我们开始只提供比较少的应用,然后再慢慢将更多的应用连接到其上。Mule透明地管理着应用和组件间的所有交互,不论这些应用和组件是处于同一台虚拟机上还是处在互联网上,不管他们底层使用了怎样的传输协议。Mule是基 阅读全文
posted @ 2011-03-23 22:19 liyazhou 阅读(219) | 评论 (0) 编辑
Mule安装,配置,以及简单例子的运行
摘要: 最近开始接触ESB。在开源ESB领域,出现最早,使用广泛的当属Mule了。但是很遗憾,在网上并没有多少实用的关于ESB的资料,所以在这里记下自己的学习,使用和熟悉的过程。如有不正确之处,欢迎指出,也欢迎讨论。1. 下载,安装与配置1.1 下载Mule-http://www.mulesoft.org/1.2 下载Mule IDE-http://www.mulesoft.org/documentation/display/MULEIDE/Mule+IDE+2.0+Installation+Guide其中,Mule IDE是一个Eclipse插件,其安装与配置在官方站点中有详细的说明,这里不再重复。 阅读全文
posted @ 2011-03-23 21:26 liyazhou 阅读(940) | 评论 (0) 编辑
Mule的开发环境搭建及部署
摘要: 一. Mule下载。 从Mule的官方网站(http://www.mulesoft.org/display/COMMUNITY/Home)上下在社区版。目前的最新版本是2.2. 下载下来的文件是mule-standalone-{version}.zip二. 安装 1. 解压下载下来的zip文件。如图中所示 2. 将解压出来的mule文件夹拷贝到想要的地方,比如放在d:\soft目录下,然后将其重命名为mule 3. 鼠标右击我的电脑 —>属性—>高级—>环境变量—>系统变量。在系统变量新建MULE_HOME变量,值为Mule的路径。4. 将MULE_HOME变量添加到P 阅读全文
posted @ 2011-03-23 21:24 liyazhou 阅读(764) | 评论 (0) 编辑
Mule ESB 学习笔记(1)
摘要: 1. 简介Mule ESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB支持集成现有系统而无论其底层采用何种技术,如JMS、Web Services、JDBC、HTTP以及其他技术。2. 整体结构图 整体结构从上图可见,Mule通过Transports/Connectors与外围的异构系统连接,提供Routing(路由)、Transaction Management(事务管理)、Transformation(转换)、Message Broker(消息代理)、Transportation Management(传输管 阅读全文
posted @ 2011-03-23 20:48 liyazhou 阅读(669) | 评论 (0) 编辑
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于open source ESB and integration platform的详细内容...