Mule ESB 简介

一、
Mule是一种轻量级的ESB消息框架。它是可升级的、高分布式的对象代理,可以通过异步传输消息技术来无缝的处理服务与应用之间的交互。

Mule框架提供了一个可升级的环境,可以把自己的业务组件部署在里面。Mule管理所有组件之间的交互,不管它们是在同一个虚拟机中还是在internet上,也不管底层使用的传输方式。

Mule围绕着企业服务总线(ESB)架构进行设计,保证了不同的组件或者应用可以通过公共的消息总线进行交互,公共的消息总线一般是由JMS或者其他消息服务器来实现。

它的主要特点有:

   1.基于J2EE1.4的企业消息总线(ESB)和消息代理(broker). 
   2.可插入的连接性:比如Jms,jdbc,tcp,udp,multicast,http,servlet,smtp,pop3, file,xmpp等. 
   3.支持任何传输之上的异步,同步和请求响应事件处理机制. 
   4.支持Axis或者Glue的Web Service. 
   5.灵活的部署结构[Topologies]包括Client/Server, P2P, ESB 和Enterprise Service Network. 
   6.与Spring 框架集成:可用作ESB 容器,也可以很容易的嵌入到Spring应用中. 
   7.使用基于SEDA处理模型的高度可伸缩的企业服务器. 
   8.强大的基于EIP模式的事件路由机制等.


几个名词:

   1、Connectors :就是支持不同协议的连接器。例如:Http,FTP,Mail,Soap,JMS,MQ等等。通常连接器有三种类型:只用于接收,只用于发送和两者皆可。

   2、EndPoints Address:终端地址,类似于jms://topic:myTopic这样的东西。前面的jms就是连接器的类型。后面是各个连接器能识别的地址。这个地址可以是接收器识别的地址,例如:jms://topic:myTopic表示对myTopic这个队列进行监听。也可以是发送器识别的地址。例如pop3://user:[email protected]将某一个消息发送到远程邮箱里面。注意这里的地址是你自己命名的,通常不同的应用有不同的地址,例如某个应用是jms://topic:myTopic。另一个是jms://topic:myTopic2

   3、UMO Components :可以想象成这是ESB总线上的一个个芯片,控制器。在Mule里面,他们是一些POJO,负责接收消息,然后进行处理,在发送出去。例如,一个UMO它的作用是监听jms://topic:myTopic里面的消息,如果有,加以处理后发送到pop3://user:[email protected]这个邮箱里面。显而易见,UMO通过简单的调用EndPoints Address来接收消息和转发消息。它不需要知道自己按照什么协议接收和发送消息。这就是ESB的作用所在,即提供统一的总线接口。

企业集成有很多种模式,随着技术的发展,实时的、面向消息的企业集成越来越成为主流,面向消息的企业集成的稳定性和兼容性要求其基础件,也就是message系统必须提供足够强壮和可扩展的设计。
消息集成使得message系统负责转换两个应用之间的数据格式,从而使得应用可以专注于他们需要共享什么数据而不是如何共享它们。

二、
企业应用集成是一个巨大而复杂的系统,作为其基础件ESB系统,必须能够提供对其完全的支撑以及足够强壮的系统,这正是ESB系统建设的难度所在。
下面几种是作为面向消息的企业集成的基础件所必须提供的几个关键性组件。
1、Channels : Messaging应用通过一个Message Channel传送数据,一个sender到receiver的虚拟管道。一个新安装的消息系统默认不包含任何channel;你必须知道你的应用需要怎样通讯,然后才能建立channel来完成它。
2、Messages :Message是在channel上传输的不可分割的包。因此,为了传输数据,应用必须将数据打包成一个或多个packets,将每个packet包装成一个message,然后将其传输到一个channel。同样的,一个receiver应用在接受到message后必须从message中提取出数据才能使用。Message系统应该能重复的传输message,直到它成功为止。

3、Pipes and Filters : 最简单的情况下,message系统将一个消息直接从sender计算机传送到receiver计算机。然而,通常在消息从sender中发出后,receiver接受到之前,有一些动作需要对message执行。举例来说,message也许需要验证或者转换。Pipes and Filters架构使用channel将多个处理步骤连接起来。
 
4、Routing : 在一个大型的、拥有许多不同的应用和channel连接的企业应用中,一个message可能需要穿过多个channel才能到达最终目的地。Message的路由如此复杂以至于最初的发送者无法知道那些channel能将message传送给最终的receiver。因此,最初的发送者将message发送给一个Message Router,一个以Pipes and Filters架构中的filter形式存在的应用组件。Router将决定如何将message发送到最终receiver或者至少是下一个Router。
 
5、Transformation : 不同的应用的数据格式可能不同。为了调节sender和receiver之间的数据格式不同的问题,message必须经过一个中介的filter,一个Message Translator,它将message从一个格式转换成另外一个格式,或转换成一个公共的格式。
n

 

 

你可能感兴趣的:(spring,虚拟机,应用服务器,jms,企业应用)