SOA架构中的事件驱动服务

豆豆网   技术应用频道   2008年01月22日  【字号: 收藏本文

内容摘要:讨论使用Mule实现一个高效的事件驱动和面向服务的平台,一个轻量级的事件-消息架构,企业信息总线(ESB)模式。组件和程序可以使用Mule通过公共的JMS或其他的消息处理技术去实现通信。

  垂直关系意味着一个事件的分类方法,这些事件保留了一些不变的东西而穿越一个系统不同的层,事件分类如下:

  · 生命周期事件:一个实体生命周期的变化,例如一个进程的停止或启动

  · 执行事件:运行时事件,例如服务或组件的调用

  · 管理事件:当一个状态超过了预先的定义或一定范围时

  平行关系意味着一个事件的分类方法,这些事件保留了一些不变的东西而穿越一个系统不同的层,事件分类如下:

  · 系统层事件:系统级动作,例如创建一个文件或关闭一个端口

  · 平台层事件:平台级动作,例如修改一个数据源或增加一个新的服务

  · 组件层事件:组件级动作,例如视图对象的转换或状态机变化

  · 业务层事件:业务级动作,例如创建用户或删除帐号

  · 应用层事件:应用级动作,例如增加保险金或报价提交

  许多ESB框架和平台意识到在SOA中包含基于事件驱动的通信有很多优势。在Java开发领域,Mule就是这些最有前景的平台之一。

  介绍Mule

  Mule是一个开源消息ESB框架,一个消息代理,一个分级事件驱动的框架(SEDA)。SEDA定义了一个依照分级队列、高度并行的企业级平台。Mule使用SED的概念增加事件处理的性能。

  Mule支持同步、异步和请求响应事件,事件处理和传输实用不同的技术例如JMS,HTTP,电子邮件和基于XML的RPC。Mule能很容易地嵌入到任何应用框架中,明确支持Spring框架。Mule也支持动态的,预定义的,基于内容的和基于规则的消息路由。Mule使得预定义的和计划性的事务更容易,包括XA事务支持。Mule提供一个有代表性的状态调用(REST)API提供给与Web的事件访问。

  Mule ESB模式驱动系统中所有服务,这个系统有着一个分离的消息通讯中枢。服务注册在总线上,但不知道其他任何被注册的消息;因此,每个服务只关心处理它收到的事件。Mule也把容器,传输,转换细节从服务中分离出来,允许任何对象作为服务注册到总线的。

责编:豆豆技术应用

正在加载评论...