【问题标题】:Workflow for "Process Application" website“流程申请”网站的工作流程
【发布时间】:2010-01-14 23:30:15
【问题描述】:

我们正在设计一个网站,用户可以填写申请表并提交。申请一经创建,经过不同部门审核。每次审核后,部门人员登录网站更新申请状态。审核完成后,该申请被称为“批准”。此外,还会向申请人发送通信(电子邮件),更新他们的申请状态。 我正在考虑为这个应用程序使用 Windows 工作流,但对它很陌生。 谁能告诉我为这样的应用程序使用 WF 是否有意义.. 还是会有点矫枉过正.. 我正在考虑使用状态机工作流程,因为创建的每个应用程序都会经历不同的状态。我主要担心的一个问题是,此过程还涉及手动工作,例如审查应用程序(这可能需要几天时间)然后更新状态(例如通过单击网站上的按钮)。工作流可以处理这种事情吗?

我浏览过很多网站,但他们都在谈论状态自动变化的非常基本的例子。但在我的例子中,有很多人际互动。

感谢任何帮助

谢谢!!!

【问题讨论】:

    标签: asp.net workflow workflow-foundation


    【解决方案1】:

    MSDN 上的Here is a sample 描述了您所描述的非常相似的工作流 - 尽管它们使用 Windows 窗体客户端而不是 Web 客户端 - 但考虑到工作流运行时的使用,这些细节应该无关紧要。

    我会说您的情况非常适合 Workflow - 通过让运行时在运行时在某些点自动保留工作流详细信息来支持长时间运行的工作流,因此需要数天或数周才能完成的步骤非常好。

    【讨论】:

      【解决方案2】:

      “我的案例有很多人际互动”。

      这是最容易构建的东西。这只是交易。

      流程中的每个阶段都是一个简单的网络应用程序。

      1. 获取在此状态下等待的所有项目。在列表中显示它们。用户选择一个。

      2. 显示该作品。用户进行更改。保存它。一些更改会将其移至下一个状态。它仍然只是一个更新。

      就是这样。没有什么花哨。

      • 您只需要非常非常清楚地定义每个状态。

      • 您必须有一个简单的查询,可以在这种状态下找到工作。

      • 您必须有一个简单的更新,将工作转移到下一个状态。

      状态必须非常、非常清晰和简单的定义。例如,一列带有州名。

      但是,状态转换规则可能很复杂。如果工作是高度手动的,它可能就像可用状态的下拉列表一样简单。

      如果状态转换很复杂,那么,也许您需要更复杂的东西来体现转换规则。不过因为是手动的,所以不需要太多。


      1. 我是否需要为每个创建的应用程序创建一个单独的工作流实例?

        我不知道这可能意味着什么。通过手动处理步骤的管道移动的每个“应用程序”都有一个“状态”——它正在等待的管道步骤,现在。

        每个应用程序还具有每个状态更改的完整历史记录。我不知道其中哪一个是可以有实例的“工作流程”。它们只是对象的存在状态。

      2. 这是一个网络应用程序。所以它会有一些其他逻辑,例如查看应用程序、导航等。我是否也需要在工作流程中适应这些逻辑?

        是和否。是的,每个处理阶段都显示应用程序,因此该阶段的用户可以做他们所做的任何增值事情。他们添加信息或批准信息。

        工作流程中的每个阶段都是一些人做出决定并采取行动的地方。因此,每个阶段都会显示人们做出决定所需的所有信息。不需要额外的视图。

        导航不是很有趣。人们去页面查看他们未处理的工作队列。我想你必须用一些 URL 构建一个页面,但没有太多的。

      3. 是否可以只使用基于工作流的应用程序的一部分。

        当然。为什么不?我不确定我是否理解这个问题。

        您的网络应用程序只是从数据库中查询一个队列,然后将该队列呈现给一个人。此人可以请求详细信息并对队列中的特定项目进行更改。该人可以做出的一项更改是将内容移出他们的队列并进入其他人的队列。

        这不是很复杂。不应该。困难的是定义允许的状态变化。

      【讨论】:

      • 哇!多么好的,简单的解释。谢谢。
      • 谢谢洛特!这绝对有助于我前进。:) 进一步思考后,我提出了以下问题: 1. 我是否需要为每个创建的应用程序创建一个单独的工作流实例? 3. 它是一个网络应用程序。所以它会有一些其他的逻辑,比如查看应用程序、导航等。我是否也需要在工作流中适应这个?是否可以只拥有基于工作流的应用程序的一部分。再次感谢!!!
      • “工作流实例”?不知道那是。每个对象都有一个状态——整个步骤序列中的步骤。只是一个状态,仅此而已。
      • 可能我的框架不正确。我的意思是询问每个登录的用户是否需要初始化工作流程。但是后来,我发现,我只需要启动一次工作流程。谢谢
      • “开始工作流程”?这意味着什么?每个应用程序都有一个存在状态。当您插入或更新时,您设置(或更改)状态。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多