需要一些关于工作流设计的想法

时间:2011-06-18 18:48:36

标签: .net workflow workflow-foundation-4 state-machine

我想开始构建一个技术支持应用程序作为个人项目,使用Windows Workflow Foundation 4来实现业务流程。我对WF和BP很新,但这就是我这样做的原因。做了一些研究,我发现状态机工作流程最适合这个,因为它是一个长期运行的过程,需要大量的人工干预。所以基本上我想到的流程将是这样的:

  • 用户提交一份包含所有内容的表单 所需数据。
  • 创建并传递Ticket对象 作为工作流的InArgument。 该票现在处于待定状态 状态并等待ResumeBookmark 管理员打开票证时打电话。
  • 管理员分配(意思是一些 对象属性将是 初始化/修改/等等 一些数据库表)一张票 工程师,它进入一个Assigned 州。等等..

    现在我的问题是:除了修改对象属性之外,我无法找到添加状态活动流的某种程度复杂性的方法。根据复杂性,我指的是一种利用这种技术的方法,因为目前我认为与强制性实施相比,这并不具有优势。 任何想法都很受欢迎。提前谢谢

2 个答案:

答案 0 :(得分:1)

首先,我建议您阅读本书Pro WF: Windows Workflow in .NET 4.0并完成教程(如果您还没有)。虽然它并不完美,但它涵盖了许多重要的主题。

对于长时间运行的进程,您几乎肯定会想要实现持久性。否则,如果服务器出现故障,运行的工作流程将消失。还可以考虑在IIS下托管。

订阅The Problem Solver并查看his answers on SO。他还有一个Introduction to WF 4 video series。其他人也在Channel 9上发布了几个视频。

State Machine不是开箱即用的;这是一个单独的下载。但这不是必需的 - 您可以使用顺序,流程图或组合来实现您想要的效果。

准备编写自定义活动。 (请参阅第9频道视频,特别是Leon Welicki的视频。)如果这些视频符合您的要求,您必须实施安全性,锁定,工作清单等。 WF不是开箱即用的BPM系统。

最后,不要被吓倒。这一切都是可行的,WF 4是一个经过深思熟虑的框架。只是准备好花大量时间学习和实现这一点。

答案 1 :(得分:0)

我发现这个有用的示例对于在WCF下托管WF4服务很有用。它还涵盖了您可以进一步探索的一些关键概念:

http://programming4.us/Enterprise/332.aspx