我们正在设计一个网站,用户可以填写申请表并提交。创建应用程序后,它会通过不同的部门进行审核。每次审核后,部门人员都会登录到网站并更新应用程序的状态。审核完成后,该申请被称为“已批准”。此外,通信(电子邮件)将发送给申请人,以更新他们的申请状态。 我正在考虑将Windows Workflow用于此应用程序,但我是新手。 任何人都可以告诉我,如果将WF用于这样的应用程序是否有意义......或者它是否有点过分......我正在考虑使用状态机工作流程,因为每个应用程序创建都会经历不同的状态。我的一个主要问题是,此过程还涉及手动工作,例如查看应用程序(这可能需要数天),然后更新状态(例如通过单击网站上的按钮)。工作流程可以处理这种事情吗?
我经历了很多网站,但是他们谈论了状态自动改变的非常基本的例子。但就我而言,有很多人际互动。
感谢任何帮助
感谢!!!
答案 0 :(得分:3)
Here is a sample描述了您所描述的非常相似的工作流程 - 尽管它们使用的是Windows窗体客户端而不是Web客户端 - 但这些细节在使用工作流运行时时无关紧要。
我想说你的情况非常适合工作流程 - 运行时运行时会自动在某些点保持工作流程详细信息,因此支持长时间运行的工作流程,因此需要数天或数周才能完成的步骤完全正常。
答案 1 :(得分:2)
“我的情况是有很多人际互动”。
这是最简单的构建方式。这只是交易。
流程中的每个阶段都是一个简单的Web应用程序。
获取在此状态下等待的所有项目。在列表中显示它们。用户选择一个。
显示那件作品。用户进行更改。保存它。一些变化会将其移至下一个州。它仍然只是一个更新。
就是这样。没有什么花哨。
您只需要非常清楚地定义每个州。
您必须有一个简单的查询才能找到处于此状态的工作。
您必须有一个简单的更新,将工作转移到下一个状态。
各州必须非常,非常明确和简单的定义。例如,一列带有州名。
然而,状态转换规则可能很复杂。如果工作是高度手动的,它可能就像可用状态的下拉列表一样简单。如果状态转换很复杂,那么,您可能需要更复杂的东西来体现转换规则。但由于它是手动的,所以你不需要太多。
我是否需要为每个创建的应用程序创建单独的工作流实例?
我不知道这可能意味着什么。正在手动处理步骤流程中移动的每个“应用程序”都有一个“状态” - 它正在等待的管道的一个步骤。
每个应用程序还包含每个州更改的完整历史记录。我不知道哪个是可以有实例的“工作流程”。它们只是成为对象的状态。
这是一个Web应用程序。所以它会有一些其他逻辑,例如查看应用程序,导航等。我是否还需要在工作流程中适应这一点?
是和否。是的,每个处理阶段都会显示应用程序,以便用户在该阶段可以执行任何增值操作。他们添加信息或批准信息。
工作流程中的每个阶段都是某个人做出决定并采取行动的地方。因此,每个阶段都会显示该人做出决定所需的所有信息。无需额外查看。
导航并不是非常有趣。人们去页面看他们未经处理的工作队列。我想你必须建立一个带有一些URL的页面,但没有那么多。
根据工作流程只提供部分应用程序是否可以。
不确定。为什么不?我不确定我理解这个问题。
您的网络应用只是查询数据库中的一些东西,并将该队列的内容呈现给一个人。此人可以请求详细信息并对队列中的特定项目进行更改。这个人可以做的一个改变就是将这些东西从队列中移出并移到别人的队列中。
这不是很复杂。它不应该。确定允许的状态变化有多难。