收藏 分享(赏)

浅谈Mule ESB架构设计.doc

上传人:weiwoduzun 文档编号:2948343 上传时间:2018-09-30 格式:DOC 页数:7 大小:681.17KB
下载 相关 举报
浅谈Mule ESB架构设计.doc_第1页
第1页 / 共7页
浅谈Mule ESB架构设计.doc_第2页
第2页 / 共7页
浅谈Mule ESB架构设计.doc_第3页
第3页 / 共7页
浅谈Mule ESB架构设计.doc_第4页
第4页 / 共7页
浅谈Mule ESB架构设计.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、浅谈 Mule ESB 架构设计一、简介Mule 是一个基于 Java 的轻量级企业服务总线和集成平台。它的主要特性包括:1. 基于 J2EE1.4 的企业消息总线(ESB)和消息代理(broker);2. 可插入的连接性,支持 20 多种传输协议,比如:jms、jdbc 、tcp、udp、multicast、http、servlet 、smtp、pop3、file、xmpp 等;3. 支持任何传输之上的异步,同步和请求响应事件处理机制;4. 支持 Axis 或者 Glue 的 Web Service;5. 灵活的部署结构,包括 Client/Server, P2P, ESB 和 Enterp

2、rise Service Network;6. 与 Spring 框架集成:可用作 ESB 容器,也可以很容易的嵌入到 Spring 应用中;7. 使用基于 SEDA 处理模型的高度可伸缩的企业服务器;8. 强大的基于 EIP 模式的事件路由机制等。二、整体结构图 1 整体结构从上图可见,Mule 通过 Transports/Connectors 与外围的异构系统连接,提供Routing(路由)、 Transaction Management(事务管理)、Transformation(转换)、Message Broker(消息代理)、Transportation Management(传输管理

3、)、Security(安全)等核心模块。Mule 可以单独使用,也可以架设在常用的应用服务器上。图 2 架构简图(1)外围系统的服务请求通过 Mule ESB 的 Transport 接入,Mule 通过 Transformer 进行数据的格式转换,然后经过 Inbound Router 进行消息过滤(内部通过配置 filter 实现)后交给Mule 的 Component 进行业务逻辑处理,处理后的结果通过 Outbound Router 确定传递给哪个接收方,然后通过 Transformer 进行数据格式转换,通过 Transport 连接至接收方,传递信息。此图描述的是 Mule 中的一

4、个典型场景的处理过程,涵盖了 Mule 中的各个关键组件。其中某些处理步骤不是必须的,如 Inbound Router、Transformer。图 3 架构简图(2)图 4 架构简图(3)三、功能a) 服务中介1. 将业务逻辑和消息发送分离;2. 屏蔽服务的消息格式和协议;3. 提供任意位置的服务调用;4. 提供协议桥接。b) 数据转换1. 在应用间交换不同格式的信息;2. 操作消息的负载内容,包括加密、压缩和编码转换;3. 在异构的传输协议的数据类型间格式化消息。c) 消息路由1. 基于消息内容和复杂规则路由消息;2. 消息的过滤、聚合以及重新排列序号。d) 服务创建和托管1. 暴露端点、E

5、JB、Spring Bean 以及 POJO 作为服务;2. 作为轻量级的服务容器进行服务托管。四、基本概念Mule ESB 中有一些基本的概念,理解这些基本概念后才能理解 Mule 的内部机制。从中也可以看到 Mule 解决问题的基本思路。4.1 ModeModel 表示托管各个服务的运行时环境。图 5 Model4.2 ServiceService 是用来处理服务请求的基本单位,它调用各个组件进行服务请求的处理。图 6 Service4.3 TransportTransport 管理消息的接收和发送,数据转换的过程也是在 Transport 中通过调用Transformer 完成的。图 7

6、 Transport4.3.1 ConnectorConnector 用于管控特定协议的使用,如 HTTP Connector、JMS Connector 等。4.3.2 End-PointEndpoint 用于表示一种协议的特定使用方式,如 listening/polling、从中读取、向指定地址写入等,定义了发送和接收消息的通道。Endpoint 控制的是底层的实体在 Connector中如何被使用。Endpoint 定义于 Inbound 和 Outbound Router 中。4.4 TransformerTransformer 用于转换消息的内容。图 8 Transformer4.5

7、 RouterRouter 使用 Filter 基于消息中的属性信息进行消息的分发。图 9 RouterRouter 在 Service 中的位置决定了 Router 的性质(inbound、outbound 和 response)和担任的角色(pass-through、aggregator 等)。4.6 ComponentComponent 是 Service 的核心部件,是 Service 的业务逻辑的实现。图 10 Component: implicit bridge componentComponent 可以是 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 FlowFlow 是 Mule 3.0 新引入的,包含一个消息源(Message Source)和多个消息处理器组成的处理器链。图 11 Flow

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报