使用 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. 跨虚拟层的传播
正如您看到的,事件可以因应用程序、业务、组件、平台或系统层的任何更改而发生,从技术观点上讲,业务事件的级别自然要比系统事件或组件事件高。
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接