Mule 是一个基于ESB架构理念的消息平台。Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是通过消息端点(message endpoint)来进行的。这些端点为众多的分立的技术,比如Jms, Smtp, Jdbc, Tcp, Http, Xmpp, file等等,提供了简单和一致的接口。
Mule 应用通常是由网络中的许多Mule 实例组成。每一个实例都是一个驻留一个或者多个UMO组件的轻量级容器。每一个UMO 组件都有一个或者多个通过它(们)发送和接收事件的端点。
容器通过UMO组件提供各种各样的服务,比如事务管理、事件转换,路由,事件关联、日志、审计和管理等等。Mule将对象构造从管理手段中分离出来,通常流行框架和IoC/DI 容器,如Spring, PicoContainer 或者 Plexus 可用这种管理手段来构建你的UMO 组件。
很多人认为, "Mule是一个Jms 实现"。实际上,Mule 不是一个Jms server,但是可以配置来使用任何你觉得非常漂亮的Jms server。Mule 的理念是,如果已经有了稳定和广泛接受的实现,就不会直接实现任何传输。例如,Mule 就重用了Axis 和 GLUE 的SOAP栈而不是重新实现一个。Mule 提供了一个一致的服务集来管理任何类型的连接的事件流、关联、事务、安全和审计。
下面是Mule Server 组件的简单图示:
Mule Manager是Mule server 实例的中心(也称为一个节点户或者Mule Node)。其主要的角色是管理各种对象,比如Mule实例的连接器、端点和转换器。这些对象然后被用来控制进出你的服务组件的消息流,并且为Model和它所管理的组件提供服务。
model 是管理和执行组件的容器。它控制进出组件的消息流,管理线程、生命周期和缓充池。默认的MuleModel是基于SEDA的,它使用一个有效的基于事件的队列模型来获取的最大的性能和直通性。
UMO代表Universal Message Object;它是一个可以接收来自于任何地方的消息的对象。UMO 组件就是你的业务对象。它们是执行引入的事件之上的具体业务逻辑的组件。这些组件是标准的JavaBean,组件中并没有任何Mule特定的代码。Mule 基于你的组件的配置处理所有进出组件的事件的路由和转换。
Endpoint是Mule的通信能力的基础。一个Endpoint定义了两个或者多个组建应用或者存储库之间的通信渠道。并且提供了一个强大的机制来允许你的对象在一个统一的方式上再多种协议之上进行交谈。端点可以通过消息过滤器、安全拦截器和事务信息进行配置来控制什么消息,在何时,以及怎样通过端点进行发送和接收。
外部应用可以使任何应用,从应用服务器到遗留的传统应用,主机程序,或者C/S系统。基本上是任何可以产生和操纵数据的应用。因为Mule通过endpoints执行所有通信,UMO 组件并不打算在其中包含应用产生数据,以及应用主流,以及使用传输协议的部分。
- 关键特性
基于J2EE 1.4的企业消息总线( Enterprise Service Bus (ESB))和消息代理(broker)
可插入性连接,比如Jms (1.0.2b 和 1.1), vm (嵌入), jdbc, tcp, udp, multicast, http, servlet, smtp, pop3, file, xmpp等
支持任何传输之上的异步,同步和请求响应事件处理机制
支持Axis或者Glue的Web Service.
灵活的部署结构[Topologies]包括Client/Server, P2P, ESB 和Enterprise Service Network.
支持声明性和编程性事务,包括XA 支持
对事件的路由、传输和转换的断到端支持
Spring 框架集成。可用作ESB 容器,而Mule c也可以很容易的嵌入到Spring 应用中。
使用基于SEDA处理模型的高度可伸缩的企业服务器
支持REST API 来提供技术独立和语言中立的基于web的对Mule 事件的访问
强大的基于EIP模式的事件路由机制
动态、声明性的,基于内容和基于规则的路由选项
非入侵式的方式。任何对象都可以通过ESB 容器管理
强大的应用集成框架
完整的可扩展的开发模式
- 何时使用
一般在这些情形下使用Mule -
集成两个或者多个需要互相通信的或者多个现有的系统.
需要完全和周围环境去耦合的应用,或者需要在系统中伸缩不止一个组件的系统
开发人员不知道未来是否会将其应用分发或者伸缩需求的单VM 应用。
分享到:
相关推荐
Mule ESB(企业服务总线)是一款强大的集成平台,由Mulesoft公司开发,用于构建和管理企业级的应用程序网络。"mule-standalone-3.9.0.zip"是一个包含Mule ESB独立运行时环境的压缩包,版本为3.9.0。在本文中,我们将...
6. **与Spring框架的集成**:Mule ESB可以作为ESB容器运行,也可以方便地嵌入到Spring应用程序中,利用Spring的IoC(控制反转)和DI(依赖注入)特性。 7. **基于SEDA(Staged Event-Driven Architecture)的处理...
- **定位**:Mule ESB 3.0是一款轻量级的消息框架和整合平台,旨在帮助企业轻松地集成不同的系统和服务。 - **核心特性**:基于EIP(Enterprise Integration Patterns)原则构建,支持多种传输协议(如file, FTP, ...
7. **Deployment**: 部署Mule应用程序到MULE ESB-4.1运行环境非常简单。在描述中提到,只需将AnyPoint Studio开发的项目放到`APPS`目录下,Mule服务器会自动识别并加载这些应用程序。 在实际应用中,用户可以通过...
### ESB原理及Mule ESB实践 #### ESB(Enterprise Service Bus)原理概述 **ESB**(企业服务总线)是SOA(面向服务架构)架构中的关键组件之一,用于实现服务间的智能集成与管理。其核心作用在于简化不同系统间的...
Mule ESB 是一个轻量级的基于java的企业服务总线和集成平台, 使得开发人员可以快速,简单的连接多个应用, 使得它们可以交换数据。 Mule ESB 容易集成现有异构系统,包括:JMS, Web Services, JDBC, HTTP, 等. ESB...
《Mule ESB详解——构建企业级集成解决方案》 Mule ESB,全称为Mule Enterprise Service Bus,是一款强大的开源企业服务总线,用于构建灵活、可扩展的企业级集成解决方案。Mule ESB的核心功能是作为不同应用系统...
### Mule ESB 开发实例详解 #### 一、Mule ESB ...通过本示例的学习,初学者可以对 Mule ESB 的基本使用有一个初步的了解,并能够动手实践一个简单的集成应用。随着经验的积累,可以进一步探索更多高级功能和技术。
1. **强大的集成能力**:Mule ESB支持多种协议和API,使得与其他系统集成变得简单。 2. **可视化开发**:提供Anypoint Studio,一个基于Eclipse的IDE,用于图形化设计和构建集成流程。 3. **事件驱动架构**:Mule ...
本篇文章将详细讲解如何在Tomcat服务器中集成Mule ESB,这是一个轻量级且强大的集成平台。 首先,我们需要理解Mule ESB的角色。Mule ESB是一种开源的ESB,它允许开发者通过连接不同系统、应用程序和服务来实现数据...
《Mule ESB 开发手册》是一份详尽的指南,专为希望深入了解并掌握 Mule ESB(Enterprise Service Bus)技术的开发者设计。Mule ESB 是一款强大的集成平台,能够连接各种应用程序、数据源和服务,实现企业级的数据...
《Mule ESB Cookbook随书源码》是一个与Mule ESB相关的实践指南,它包含了大量实例代码,旨在帮助读者深入理解和应用Mule ESB这一开源企业服务总线(Enterprise Service Bus)。Mule ESB是业界广泛采用的ESB解决方案...
Mule ESB 3(Enterprise Service Bus)是一款广泛应用于企业级集成场景的开源中间件平台。本书旨在为开发者提供全面且深入的指导,帮助他们掌握如何利用Mule ESB 3 开发高效、稳定的应用程序。本书涵盖了从基础到...
Mule 是一个基于ESB架构理念的消息平台。Mule 的核心是一个基于SEDA的服务容器,该容器管理被称为通用消息对象(Universal Message Objects /UMO)的服务对象,而这些对象都是POJO。所有UMO和其他应用之间的通信都是...
在本文中,我们将深入探讨Mule ESB的基本概念,并通过Mule Studio——一个基于Eclipse的集成开发环境——进行实践操作,从而让你逐步掌握如何使用Mule ESB构建应用。** ### 1. Mule ESB简介 Mule ESB是一个开源的...
Mule ESB(Enterprise Service Bus,企业服务总线)是一款强大的开源集成平台,它帮助企业将不同的系统、应用程序和服务连接在一起,实现数据的高效流转。本教程将带您入门Mule ESB项目,通过实例学习其核心概念和...
Mule ESB,全称Mule Enterprise Service Bus,是一个开源的企业服务总线框架,专注于提供灵活、高效的集成解决方案。它基于Java平台,设计目标是简化不同应用之间的数据交换和系统集成。Mule ESB的核心特性使其能够...
总结来说,《Mule ESB 3用户指南》为用户提供了一个全面的、步骤详细的、实践导向的指导,从基础的配置、服务集成到开发、测试、文档编写和云服务集成,覆盖了使用Mule ESB进行企业级集成应用开发的各个阶段。
在本文中,我们将通过一个简单的小例子来介绍如何使用Mule ESB进行开发。 首先,我们需要进行环境配置。安装Mule Studio,它是Mule ESB的集成开发环境。确保已经安装了JDK,版本至少为1.6u26或1.7u13,并设置了JAVA...