代码之家  ›  专栏  ›  技术社区  ›  AJ.

工作流UI集成—WF是一种好方法吗?

  •  2
  • AJ.  · 技术社区  · 16 年前

    有点类似于 this question ,只是我们还没决定和WF一起去。

    我正在设计一个系统,需要一系列的决策和活动上的“工作对象”,所以我自然开始考虑工作流程,特别是WF。我想知道的是,如果WF是一个很好的解决方案,如以下情况(这个问题过于简单化)的情况(请原谅糟糕的ascii艺术):

                  __________________
                 | Gather some info |
                 |    (web page)    |
                 |__________________|
                          |
                          |
                         / \
                        /   \
                       /     \
                      /       \
                     /  cond   \
                     \    1    /
                      \       /
                       \     /
                        \   /
                         \ /
                          |
                          |
            ______________|_______________
           |                              |
           |                              |
           |                        ______|______
     ______|________               / do some    /
    | Get more info |             /  process   /
    |  (web page)   |            /____________/
    |_______________|
            |
            |
           / \
          /   \
         /     \
        / cond. \
        \   2   /
         \     /
          \   /
           \ /
            |
            |
            |__________________
            |                 |
            |                 |
       _____|_____       _____|_____
      /   some   /      /  another /
     / process  /      / process  /
    /__________/      /__________/
    

    get more info (web page) 步骤以及随后会发生什么,这意味着工作流运行时的执行会停止。我知道这是可能的,但我不确定WF是这类代码的最佳方法,因为在整个工作流的许多不同点上可能需要用户交互,并且工作流将驱动所需的数据输入屏幕。我们使用的是WinForms/ASP.NET web forms包for UI,它是自主开发的,很难推动部署,因此类似SharePoint集成的东西是不可能的。我们的后端是DB2,工作流代码(无论是在WF中还是在其他地方)也需要与之交互。

    1 回复  |  直到 9 年前
        1
  •  1
  •   Dave Swersky    16 年前

    使用WF的长时间运行的工作流功能,我相信它会起作用。您的工作流可以随时保存到数据库中。如果要填写多个条件表单,请将它们的定义作为步骤包含在工作流中(有许多方法可以实现这一点)。这样,工作流不仅驱动流程,而且驱动数据请求。

    当工作流被持久化时,它可能会被继续处理该工作流的用户“唤醒”。应用程序(ASP.NET、Winforms等等)可以查询工作流,找出要呈现的抽象“表单”。

    推荐文章