`
阅读更多
一个ESB集成框架CodeHaus Mule

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 Manager是Mule server 实例的中心(也称为一个节点户或者Mule Node)。其主要的角色是管理各种对象,比如Mule实例的连接器、端点和转换器。这些对象然后被用来控制进出你的服务组件的消息流,并且为Model 和它所管理的组件提供服务。

Model

model 是管理和执行组件的容器。它控制进出组件的消息流,管理线程、生命周期和缓充池。默认的MuleModel是基于SEDA的,它使用一个有效的基于事件的队列模型来获取的最大的性能和直通性。

UMO Components

UMO 代表Universal Message Object;它是一个可以接收来自于任何地方的消息的对象。UMO 组件就是你的业务对象。它们是执行引入的事件之上的具体业务逻辑的组件。这些组件是标准的JavaBean,组件中并没有任何Mule特定的代码。 Mule 基于你的组件的配置处理所有进出组件的事件的路由和转换。

Endpoints

Endpoint 是Mule的通信能力的基础。一个Endpoint定义了两个或者多个组建应用或者存储库之间的通信渠道。并且提供了一个强大的机制来允许你的对象在一个统一的方式上再多种协议之上进行交谈。端点可以通过消息过滤器、安全拦截器和事务信息进行配置来控制什么消息,在何时,以及怎样通过端点进行发送和接收。

External Applications

外部应用可以使任何应用,从应用服务器到遗留的传统应用,主机程序,或者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 应用。

项目地址:http://mule.codehaus.org/
分享到:
评论

相关推荐

    瘦死骆驼比马大 超高性价比的“过气”路由器选购指南.pdf

    瘦死骆驼比马大 超高性价比的“过气”路由器选购指南.pdf

    比马印第安人糖尿病数据集.data.zip

    比马印第安人糖尿病数据集.data.zip

    比马网站

    这是一个用引导的项目。入门首先,运行开发服务器: npm run dev# oryarn dev 使用浏览器打开以查看结果。 您可以通过修改pages/index.js来开始编辑页面。 当您编辑文件时,页面会自动更新。 可以在上访问。...

    Pima Indians Diabetes Database

    比马印第安人糖尿病数据集(Pima Indians Diabetes Dataset)涉及根据医疗记录预测比马印第安人5年内糖尿病的发病情况。 它是一个二元分类问题。每个类的观察值数量不均等。一共有 768 个观察值,8个输入变量和1个...

    pima-indians-diabetes.csv

    比马印第安人糖尿病数据集(Pima Indians Diabetes Dataset)涉及根据医疗记录预测比马印第安人5年内糖尿病的发病情况。

    新浪博客小助手 龙网新浪博客小助手 v9.4

    博客中的老大,当属老牌的新浪博客,拥有较高人气与用户,虽说现在不流行玩博客了,但瘦死的骆驼比马大,不管是站内流量还是百度收录,依然不能小视。龙网新浪博客小助手功能介绍:

    protoc-gen-bima

    原始比马 插件ini digunakan bersamaan dengan骨架bima 安装 go get github.com/crowdeco/protoc-gen-bima Modifikasi文件原型 syntax = "proto3"; package grpcs; import ... import "protoc-gen-bima/options/...

    bima:分散式保险解决方案不仅仅是保险,它还是人民的保险。 由智能合约提供支持

    比马 分散式保险解决方案不仅仅是保险,它还是人民的保险。 由智能合约提供支持

    amy

    它可能比马齿stronger要强一些,但还不如狡猾。 它与xboard兼容,使用游戏底盘和一本开幕书。 版权 艾米是根据BSD 2条款许可发行的。 您应该在包含此许可证的Amy发行版中找到文件“ LICENSE”。 请注意,Amy使用的...

    crank:处理慢速重启

    曲柄-缓慢地重新启动服务器因为我们比马更现代。 Crank的主要目标是为处理长期TCP套接字连接的服务器处理重启。 传统的流程​​管理器往往相当残酷,会杀死服务器。 我们希望能够让客户有机会在其他地方重新建立联系...

    Python选择题小游戏源代码.py

    Python选择题小游戏源代码.py

    2022数据库系统工程师答案讲解(试题一)

    2022年全国软考——数据库系统工程师试题一(数据库设计案例)讲解视频

Global site tag (gtag.js) - Google Analytics