工作流代理人机制研究

来源:互联网 发布:淘宝客需要什么条件 编辑:程序博客网 时间:2024/04/29 13:39

首先,工作流是什么就不解释了。

任务(task)在某些场合也称作工作项(workitem),可以视为工作流体系人工活动中不可分解的原子对象。

无论多么复杂的流程/过程,如果是需要人工参与的,最后都会分发到具体的执行者,注意:这里的执行者参与者是不同的概念。执行者是什么呢?可以理解为执行者才是任务实际的办理人,而参与者则是一种流程的定义级对象而非流程的实例化对象。

因为任务具体分配到了实际的人——执行者,所以任务基本无法分解,如果分解任务,则会涉及到任务的退回、取回、提交、查询、数据归并、父子任务关系维护与处理等一系列问题,无疑这需要更为复杂的工作流引擎架构支持。那么,如何在不分解任务的前提下,实现将A的任务交给B代为办理,甚至交给B、C、D……等多人共同代为办理呢?

解决这个问题,我们可以按照两个基本思路去实现,这样可以在不触动WfMC参考架构及某些现有系统的前提下,利用最少的资源去实现最可能广泛的工作流代理人机制。

第一条思路:不分解任务,但同一任务可以由执行者指派多人共享办理,实现变相的“代理”,最后统一提交。

第二条思路:在活动产生新工作项,即分配任务时,通过支持代理人的组织权限系统获取执行者的代理人,然后,工作流引擎让这些代理人按照活动定义的分配、执行、提交等策略办理任务。

以上是我解决此问题的2条基本思路,并都已经成功应用在我设计的工作流引擎体系中。

原创粉丝点击