1 2 3 4 5 6 7 8 9 10 下一页 1. 简介 如果你需要实现一个流式的流程,特别是嵌入的,并且你想让其易于配置、扩展、管理和维护。你是否需要一个功能齐备的BPM引擎呢:引擎都有自己的抽象负载,它对于你正在寻找的简单流程编排来说似乎过于笨重了;或者有什么轻量级的替代方案可以使用,让我们不必采用一个功能齐备的BPM引擎?本文说明了如何使用面向方面编程(AOP)技术来构建并编排高可配置、可扩展的轻量级嵌入式流程流(process flow)。目前例子是基于Spring AOP和ASPect J的,其他AOP技术也可实现同样的结果。 2. 问题 在我们继续深入讨论之前,首先我们需要更好地理解实际的问题,然后试着把我们对问题的理解与一套可用模式、工具和/或技术进行匹配,看看是否能找到一个合适的。我们的问题就是一个流程(process)本身,那么让我们好好理解一下它吧。什么是流程?流程是经过协调的活动的集合,这些活动致使一组目标得到实现。活动(activity)是指令执行的一个单元,它是一个流程的基本组成部分。每个活动操作一部分共享数据(上下文),以实现流程整体目标的一部分。已被实现的流程目标的各部分代表既成的事实(facts),这些事实被用来协调剩余活动的执行。这实质上把流程重新定义为一个在事实集合上进行操作的规则模式,用来协调定义该流程的那些活动的执行。为了让流程协调活动执行,它必须知道如下属性: 活动——定义流程的活动 共享数据/上下文——定义共享数据的机制和活动所完成的事实 转移规则——基于已注册的事实,定义前一个活动结束之后跟着是哪个活 执行决策——定义执行转移规则的机制 初始化数据/上下文(可选)——由该流程操作的共享数据的初始化状态 (责任编辑:admin) |