8

我正在为一个受工作流驱动的新应用程序设计规范。

在我重新发明轮子之前,是否已经有一个像样的轻量级工作流引擎可以插入到 ASP.NET 中?

基本上,我正在寻找能够在自动处理状态管理的同时处理通过一组定义的工作流页面移动的东西。

如果还没有,我肯定会尝试从我的应用程序中抽象出引擎并将其放在 codeplex 上,因为它真的很方便。

有什么建议么?

注意:.NET 2.0,所以没有 WWF,尽管我认为 WWF 对我的需求来说太过分了。

编辑:似乎有一个合法的需求,并且那里没有产品......所以我可能会建造这个。

这是我所描绘的:

  • 称为 WebFlowPage 的自定义页面类
  • 所有 WebFlowPage 都在工作流映射器中注册。
  • 每个 WebFlowPage 都有某种形式的状态对象。
  • HttpHandler 处理基于工作流选择适当的 WebFlowPage,并从状态对象中填充它。
4

10 回答 10

2

我认为“工作流程”一词非常容易解释。我最近一直在使用一种与您所描述的非常不同的工作流程。Mine 是一个基于状态机的工作流,其中特定记录的状态决定了用户可以采取哪些操作来将记录移动到业务流程的下一步。因此,在这种情况下,“工作流程”意味着记录如何从一种状态流向另一种状态,直到最终完成。

您对工作流的使用似乎更多地与在线性多步骤过程中将用户从一个页面移动到另一个页面有关,这是一个完全不同的用例(如果我错了,请纠正我)。因此,在提出任何人都可以使用的通用“工作流”引擎之前,我建议更好地定义该系统将处理的情况类型。

于 2008-12-24T04:12:57.017 回答
2

Not sure exactly what you wish to do here, but Ra-Ajax can easily keep state at least if you want your solution ajaxified...

For reference purposes you might want to check out the Ajax Calendar sample or even the (banalistically implemented) Ajax Wizard sample. It surely beats the hell out of doing it with JavaScript...

And every time you "do something" you're in "server-land" which means you can store temporaries all the time as you wish...

The project is LGPL

(PS! Yes I do work with it)

于 2008-11-25T00:26:11.170 回答
2

构建自定义工作流引擎并非易事,尽管乍一看似乎很简单。我们已经尝试过了。这在很大程度上取决于您需要涵盖的逻辑的复杂性。

鉴于 Windows Workflow Foundation 的当前状态以及缺乏另一个抽象工作流概念的框架,如果您需要复杂的逻辑、异步处理或工作流中的分支,我会选择 WF。

通过工作流跟踪您的状态可以通过携带某种 xml 有效负载或将状态存储在数据库中来完成,

如果您的工作流程实际上是一组需要用户填写的顺序表单,那么可以通过一些简单的自定义解决方案来完成跟踪步骤并引导用户进行下一步。

于 2008-12-07T21:22:31.020 回答
2

工作流是动态的还是静态的?

如果工作流程很简单,您可以推出自己的工作流程引擎。在某些情况下,它可以相当简单,只需几个数据表来处理规则、处理和状态。

许多工作流引擎是为大规模处理(例如信用卡应用程序)而构建的。对于小规模,您至少应该考虑自己的,这将消除/对引擎的开销和依赖。

于 2008-11-25T00:00:24.640 回答
2

你也可以看看InRule引擎。此外,还有nxBRE

这些也主要用于业务规则。InRule 是专有的,而 nxBRE 支持 RuleML(事实上的标准)。

您可能需要为页面制作自己的实现,并将规则引擎用作“结构”。

目前,我知道 Sharepoint 2007 支持页面工作流(使用 WF),但这意味着使用 .NET Framework 3 和部署 sharepoint。

我的建议是使用任何你觉得更轻、更容易使用的东西。

于 2008-12-08T21:13:50.383 回答
1

在网上浏览一些工作流和 BPM 资源时,我发现了以下项目:NetBPM。不幸的是,该项目似乎已停止。

于 2008-12-08T20:41:51.790 回答
1

我已经使用了几个月http://objectflow.codeplex.com。不是特定的,但它可能适合您的需求

于 2010-12-04T19:43:08.093 回答
0

工作流程选项很少。“Aspose”和“Skelta”是我正在评估的报价。

法比奥

于 2009-07-08T19:44:29.257 回答
0

我不认为有一个工作流引擎会自动为您处理状态,但是如果您正在浏览一组页面,例如电子商务网站上的结帐等流程,也许 ASP.NET 向导控件可以帮助您?

于 2008-11-24T22:57:23.237 回答
0

您可以使用WorkFlow Engine,只需阅读文档并运行Demo即可。他们在其中添加的动态工作流引擎所需的所有功能。

于 2022-01-05T08:40:12.960 回答