ESB服务总线-mule简介

本文对比分析了Mule与ServiceMix这两款ESB产品。Mule虽然不基于JBI标准,但因其轻量级、配置简单、丰富的文档和多样化的功能,如支持多种部署方式、提供IDE开发工具、支持事务管理和安全特性,使其在性能和易用性上优于ServiceMix。此外,Mule还支持云连接器和多种传输通道。
摘要由CSDN通过智能技术生成

1      总线

1.1    MULE与ServiceMix比较分析

1.1.1   JBI标准

JBI标准是以请求消息和响应消息为切入点,在集成时将消息和传输协议解耦,形成一种与传输协议无关的消息标准,是一种集成容器模型。ServiceMix是JBI标准的实现,而Mule并非基于JBI标准实现服务集成,但是支持扩展成JBI标准。

JBI的目标在于建立一种Java组件集成的运行环境。

由三部分组成:

l  绑定组件(Binding Components):专门接收各类传输协议。

l  服务引擎(Service Engines):专门处理各种传输和协议转换、BPEL专门负责webservice流程编排、支持通过规则集成各种服务。

l  规格化消息路由(Normalized Message Router):消息标准化,并统一路由分发。

 

  

图1-1 JBI架构服务集成原理

1.1.2   ServiceMix

ServiceMix是基于JBI架构的ESB项目,最新版本servicemix4。如下图示,它是由Apache旗下的多个软件组合而成的。

Apache ODE——实现BPEL引擎;

Apache Camel——实现基于规则的消息路由,可以用DSL去开发集成流程;

Apache Felix——是一个OSGi版本4规范的Apache实现

 

特点:

l  基于JBI规范,模块结构功能分明,但是开发配置复杂,且文档和demo不够丰富;

l  源代码不易获得,并且因为涉及到多个开源项目,若需要自助升级扩展某项功能则会较为复杂;

l  所有消息都需要被统一转换成标准消息后再做处理(对于不需要转换的消息来说存在多于环节),因此性能比Mule差;

l  支持OSGI热部署。

1.1.3   Mule

Mule是最早的开源ESB软件之一,比较轻量,最新版本是3.1.1。Mule的整体架构如图示包括几部分:

1、被集成的应用(Application);

2、通道(channel):集成外部应用与Mule进行消息交互;

3、消息接收器(Message receiver):从通道接受消息;

4、连接器(Connector):在接收端和发送端,知道如何把数据发送给通道或者从通道接受消息,消息接收器就属于连接器的一部分;

5、消息转换器(Transformer):对消息格式进行转换;

6、入站路由(Inbouxnd router):从通道接收入口消息的地址以及接收后对消息进行的处理;

7、组件(Component):处理集成逻辑的组件,可以用POJO,Groovy,Script,BPM,REST Service等技术;

8、出站路由(Outbound router):决定被集成组件处理过的消息要发送到哪里去;

9、消息分发器(Message dispatcher):正好和消息接收器相反,处理如何将消息分发给通道;

 

特点:

l  模块结构功能分明,具有IDE开发工具、开发配置简单,且可参考的文档和demo丰富;

l  消息的处理过程可灵活配置,仅在必要时可以通过Transformer组件转换处理消息,效率较基于JBI标准的ServiceMix要好;

l  不支持OSGI热部署;

l  能够获得完整的源代码,自主升级扩展要比ServiceMix容易。

 

1.2    MULE功能

1.2.1   MULE功能描述

Mule是开源企业服务总线,是企业应用集成工具的集合。Mule主要使用XML配置实现多个企业应用的整合,并提供灵活的机制,实现基于消息的数据路由,传输和不同系统之间的转换。通俗的说Mule的集成功能主要实现了下述功能:

1)       实现跨系统的服务调用;

2)       基于跨系统的服务,实现一定的业务逻辑;

3)       基于多种类型的消息通道,实现多个系统间的消息通信;

4)       支持对多种开源软件的集成。

1.2.1.1 Mule 支持三种部署方式:

1)     可独立部署;

2)     可和web应用一起部署到应用服务器;

3)     可和Java应用一起部署。

1.2.1.2 Mule提供了开发向导插件

能够集成到Eclipse环境,便于创建Mule项目以及调试。

1.2.1.3 配置方式:

1)       Mule主要是基于XML配置服务、流程及转换逻辑,能够通过配置文件清晰的表现整个集成逻辑以及调用关系;

2)       同时Mule支持基于annotation创建集成服务对象,包括创建业务逻辑组件和消息转换类,可简化一部分XML配置工作。

l  Mule支持对Webservice 的集成

1)       已经整合了CXF和AIXS发布服务的功能,能支持自动基于CXF或者AIXS发布WebService,并支持利用服务作为逻辑处理组件的功能。

2)       支持基于一定的业务逻辑,对webservice的代理访问;

3)       支持将webservice的包装成集成逻辑处理组件。

1.2.1.4 整合逻辑定义模式

Mule提供了多种服务整合的模式,包括如下几种:

1)       Service模式: Mule服务是一种集成机制,它基于一些入站路由端点、单个业务逻辑处理组件和一些出站路由和端点提供了一种固定的集成框架模式。为了实现复杂的路由或处理链,通常需要通过Mule提供的VM queue将多个Mule服务联系起来。

2)       Flow模式:流模式是Mule3提供的新功能,官方文档称它是一种既简单又灵活的集成机制,它能够实现复杂的服务集成业务流。Mule提供了基础的流构建模块,你可以很容易的基于这些基础的流模块实现集成的业务流功能。

3)       A configuration pattern:

1.2.1.5 异常处理

对Mule 3 分别针对以下两种场景提供了异常处理接口,只需要实现该接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值