关闭

K2.Net 2003中的5种业务规则(Rules)

标签: .net任务managerproperties服务器
1055人阅读 评论(0) 收藏 举报

在K2流程系统中,流程中的任何一个执行节点(一个节点可以包含多个事件)都可能包含客户端事件,服务器端事件,以及子流程(IPC,Inter Process Communication)事件,或者其他事件。通常情况下,我们需要在流程节点中包含大量的业务逻辑,比如:流程节点的执行者是谁?在执行者启动流程节点任务之前哪些前提条件必须要满足,等等。流程节点是流程中的关键元素,任务执行者在流程节点做出审批、输入数据或者提取数据。

为了实现各种复杂的业务逻辑,K2提供了5种类型的业务规则:

1. Preceding Rule(前置规则)
Preceding Rule是一种逻辑表达式,当表达式为真时,一个流程节点才可以开始执行。换句话说:什么条件为真的情况下,流程任务才可以产生。K2提供了And,Or和Xor等3种逻辑判断符,能够实现逻辑组合。 

2. Start Rule(开始规则)
Start Rule是一个时间规则,代表一个流程任务什么时候开始。比如,可以在流程发起后等待2小时再开始这个流程任务,或者当某个流程变量为真的情况下,再等待2小时开始流程任务。

3. Destination Rule(执行人规则)
用于指定谁来执行任务。默认情况下,K2的用户信息来自于Active Directory,因此,它可以非常方便地将任务提交给用户的Manager。如果有多个可能的任务执行者,我们可以先把所有可能的执行者添加到Destination Rule中,然后对每个Rule设定条件,比如:当A为真,发送给Originator的Manager,当B为真,发送给GeneralManager;或者可以预先定义一个Destination Queue,把这个Destination Queue直接指定任务执行者。

4. Escalation Rule(过期规则)
如果希望某些任务必须在一定时间内完成,比如8小时,如果超过8小时任务依然没有被执行,我们必须执行一定的操作(比如:强制本任务过期,或者强制本任务过期并且将流程流转到某一个流程节点,等等),这样的情形下,我们就可以定义任务的过期规则。过期规则用于指定什么时候和如何执行这样的操作。 

 

5. Succeeding Rule(后置规则)
Succeeding Rule是一个逻辑表达式,当它为真时,某个流程节点才可以完成。换句话说就是:什么情况下流程节点才可以结束。比如:有一个审批任务,需要同时发给5个部门经理作审批,我们希望:只要他们中的一个不同意,流程就执行下一步操作(否决后的操作);至少有3个部门经理同意,流程就流转到下一步操作(同意后的操作)。这是K2一个非常好的规则,因为每个部门经理的审批意见都会保存在各自的Slot中,流程中的变量值不会互相覆盖,这样就可以非常方便地查询各个经理的审批意见,而不需要为每个经理都定义变量。K2提供了And,Or和Xor等3种逻辑判断符,能够实现逻辑组合。

K2 Studio 中,除了Escalation Rule外,其他所有的规则都可以在流程节点上点击鼠标右键选择Properties激活。Escalation Rule可以直接用鼠标右键激活。
 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:117981次
    • 积分:1799
    • 等级:
    • 排名:千里之外
    • 原创:58篇
    • 转载:31篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论