WEB开发网
开发学院软件开发Java 使用 Apache Geronimo 和 JMS 构建事件驱动的框架... 阅读

使用 Apache Geronimo 和 JMS 构建事件驱动的框架

 2010-04-23 00:00:00 来源:WEB开发网   
核心提示: EDA 受益于以下属性:无耦合的关联:事件发布者和事件订阅者预先无需知道彼此的存在,多对多的交互:一个或多个事件会影响一个或多个订阅者,使用 Apache Geronimo 和 JMS 构建事件驱动的框架(2),基于事件的控制流程:当应用程序响应发生的事件时,应用程序流程非常自然,事件可以因应用

EDA 受益于以下属性:

无耦合的关联:事件发布者和事件订阅者预先无需知道彼此的存在。

多对多的交互:一个或多个事件会影响一个或多个订阅者。

基于事件的控制流程:当应用程序响应发生的事件时,应用程序流程非常自然。

异步消息传递:业务逻辑可以随事件同时发生。

通过围绕 EDA 构建应用程序和系统,您可以用使其更具响应性的方式构建它们,因为通过设计,事件驱动系统更适用于不可预知且不断更改的环境。

事件驱动设计和开发的优点

事件驱动的编程有许多优点。例如,此类编程可以:

减少开发和维护分布式系统的复杂性。

使得应用程序和服务的装配和配置更加容易且成本更低。

促进源代码和组件重用,从而减少 bug 并促进敏捷的开发和部署。

短期内,事件驱动的设计和开发允许更加快速、容易的定制。长期内,系统状态更加精确。

EDA 和 SOA 的结合

与顺序式或过程式系统中客户机必须轮询更改请求不同,EDA 允许系统和组件在事件发生时实时动态地作出响应。EDA 通过引入长时间运行的处理功能来弥补 SOA 的不足。因为事件消费者在事件发生时接收事件,并且会调用松散耦合的服务来向客户提供更及时更精确的数据,所以对业务有益。

在 EDA 内部,您可以跨 SOA 的各个分段(包括物理层和架构的虚拟层)传输事件,这样系统可以有效地作出响应。图 1 说明了跨架构堆栈各层传播的事件。

图 1. 跨虚拟层的传播

正如您看到的,事件可以因应用程序、业务、组件、平台或系统层的任何更改而发生,从技术观点上讲,业务事件的级别自然要比系统事件或组件事件高。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 Apache Geronimo

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接