业务工作流平台设计(七)
自定义活动(四)
保持状态的一致性及完整性
上一节讲过,要完成一个审核活动所要处理的数据有下面的内容
l工件进行编辑并进行保存
l记录工件的审核情况
l运行完后保存WF实例的状态
通过上面我们可以看到在工作流活动运行之外我们还进行了一些数据的操作,就自定义审核活动来讲,在WWF的一些技术细节与应用体会(二)中我提到过活动执行的完整性及一些实现方法,在这里是用不上的,因为我们的部分数据在工作流之外进行了处理。我们必须在工作流运行环境之外提供一个将数据的收集、工件的编辑及活动运行后WF实例的持久化放在同一事务中。
另在开发自定义审核活动时我们需要指定PersistOnClose属性。否则这个状态将不会被记录。这个属性非常关键!我们只希望在活动运行完成时自动进行持久化以便使工作流过渡到下一个活动中去。但将条件不满足时,放弃运行(不是中止!)。这对数据的状态一致性也非常重要。
待续……