wcf工作流与并行子流复杂场景

时间:2014-09-21 08:13:32

标签: c# wcf parallel-processing workflow flowchart

Workflow Scenario http://i61.tinypic.com/mmftz5.jpg

根据随附的情景,我们有一个工作流程:

  1. 第一个用户启动请求并获取RequestId并将请求分配给经理收件箱。
  2. 经理查看请求并选择相关审批人(1..n)并为其分配流程。
  3. 看到请求的Foreach审批人,审批人可以拒绝并向经理返回请求或接受并选择相关员工做某事。(审批流程是平行的)。
  4. 每位接受工作的员工都可以完成并完成指定的工作。
  5. 如果所有雇员完成了分配的工作,则工作流程已完成。
  6. 在这种情况下,我们遇到了一些困难:

    1. 同一时间的工作流程可能处于不同的状态(aprovers state和employees state。审批人(1)可以为其员工分配流程,但审批人(2)可能没有任何状态)。
    2. WCF操作名称并行foreach会生成重复的书签。
    3. 我需要帮助我实现此方案的最佳解决方案或简单示例。 (为审批者和员工制作子工作流程?,如何解决并行性问题?使用外部wcf流程?)

1 个答案:

答案 0 :(得分:0)

将您的数据设计考虑在内,并使数据包括“ForApproval',' Rejected',' Approved(By)'和可选的批准人。 如果事务失败,请对您的数据进行事务处理并中断工作流。例如。被拒绝无法获得批准,反之亦然。

如果在一个并行分支上,您有一个拒绝批准者,而另一个分支机构批准另一个分支机构,让第一个交易获胜并打破丢失的工作流程。

您可以/必须决定审批人是否可以从其他审批人处分配工作。等