MuleESB--简介

来源:互联网 发布:海盗湾中文域名 编辑:程序博客网 时间:2024/05/01 23:15

     Mule译为:骡子、顽固的人。Mule是一个以java为基础的企业服务总线(ESB),该集成平台允许开发者在遵循SOA服务导向式架构方法学下快速便捷的将不同应用程序连接在一起交换数据。可以忽略各个应用程序中使用的不同技术,使他们集成在一起。

Mule的主要功能如下:

l       服务的创建与管理(Service creation and hosting):用Mule ESB作为一个轻量级的服务容器来暴露和管理可重用的服务。 

l       服务调解(Service mediation):隐藏服务消息的格式和协议,将业务逻辑从消息中独立出来,并可以实现本地独立的服务调用。 

l       消息路由(Message routing):基于内容和规则的消息路由、消息过滤、消息合并和消息的重新排序。 

l       数据转换(Data transformation):在不同的格式和传输协议中进行转换数据。 

 

     Mule通过Transports/Connectors与外围的异构系统连接,提供Routing(路由)、TransactionManagement(事务管理)、Transformation(转换)、Message Broker(消息代理)、TransportationManagement(传输管理)、Security(安全)等核心模块。Mule可以单独使用,也可以架设在常用的应用服务器上。

基本概念:

1.Model

Model表示托管各个服务的运行时环境。


2. Service

Service是用来处理服务请求的基本单位,它调用各个组件进行服务请求的处理。


 3.Transport

Transport管理消息的接收和发送,数据转换的过程也是在Transport中通过调用Transformer完成的。


3.1 Connector

Connector用于管控特定协议的使用,如HTTP Connector、JMS Connector等。

3.2 End-Point

Endpoint用于表示一种协议的特定使用方式,如listening/polling、从中读取、向指定地址写入等,定义了发送和接收消息的通道。Endpoint控制的是底层的实体在Connector中如何被使用。

Endpoint定义于Inbound和Outbound Router中。

4.Transformer

Transformer用于转换消息的内容。

 

 5.Router

Router使用Filter基于消息中的属性信息进行消息的分发。

 

Router在Service中的位置决定了Router的性质(inbound、outbound和response)和担任的角色(pass-through、aggregator等)。

6. Component

Component是Service的核心部件,是Service的业务逻辑的实现。

Component可以是Java Class(POJO、Spring Bean)、Web Service、Script等。

Component可定义自己的生命周期:initialise、start、stop、dispose,不过需要实现Mule的LifeCycle接口。Mule3.0版本开始提供@PostConstruct和@PreDestroy的注解,对应生命周期的initialise和dispose阶段,不需要实现Mule的LifeCycle接口了。


 7.Flow(@since 3.0)

Flow是Mule 3.0新引入的,包含一个消息源(Message Source)和多个消息处理器组成的处理器链。

 

小结:

         MuleESB的出现,提供了企业另一种解决问题的思路。由于网上资料不多,所以大部分都是参考的英文文档,下面会从最简单的HelloWorld开始,一步步学习MuleESB。

 

0 0