快速业务通道

使用Spring AOP和AspectJ编排工作流 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
行注释去掉:

// factRegistry.add("VALIDATED_ITEM");

你的输出将变为:

使用Spring AOP和AspectJ编排工作流 - 编程入门网

6.结论

该方法说明了怎样使用两层AOP来装配、编排并控制流程流(process flow)。第一层是用Spring AOP实现的,将流程装配为拦截过滤器链,其中每个过滤器都被注入了相应活动。第二层是用AspectJ实现的,提供流程的编排及流控制。通过拦截过滤器链来代理我们的流程,将使我们能够定义和维护流程的流向。而代理机制无需像BPM这样单独的引擎的,也提供了执行环境。我们通过使用已有技术(Spring AOP)提供的控制和执行机制做到了这一点。

该方法是轻量级、嵌入式的。它使用已有Spring基础架构并建立在流程是已编排的活动集合的前提之上。每个活动是一个POJO而且完全不知道任何管理它的底层架构/控制器组件。这有几个优点。除了典型的松耦合架构优点外,随着像OSGi这样的技术不断的普及和采纳,保持活动和活动调用控制分离,把活动实现为一个OSGi服务也成为可能,这使得每个活动都成为独立的单元(部署、更新、卸载等等……)。易于测试是另一个优点。因为活动是POJO,它们可以在使用它们的应用之外作为POJO来测试。他们有定义良好的输入/输出契约(它需要的数据以及它预期产生的数据)。你可以单独测试每个活动。

分离控制逻辑(拦截过滤器)和业务逻辑(POJO活动)将使你能够给流程事实规则接插更加成熟的规则门面(facade),同样,测试转移逻辑也应该不影响由下面活动实现的业务逻辑。

活动是独立的基本组成部分,可以被在一些其它流程中重复使用。例如“贷记审核”活动可以很容易被重用,将其装配在某些其它需要贷记审核的流程上。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号