大型 Web 应用中的 Windows Workflow 使用

9

虽然我在互联网上查找的大部分示例都使用WF来处理向导式步骤或设计基于工作流的UI,而且由于Windows Workflow可以处理状态机,如果我们说,我们有一个类似于Stackoverflow.com的网站,在应用程序的哪些领域会使用WorkFlow Foundation?

示例:

  • 用户的问题获得了10个赞,给其所有者一个铜牌。
  • 问题刚刚获得了10,000次浏览,设置其top_question标志。

这些小事件(但确实太多了)是否应该使用Windows Workflow来处理?
是否有任何WF组件可放置在内置WF的顶部以便于执行此类操作?

3个回答

3
我还没有看到使用工作流引擎(如WF、BizTalk或其他引擎)构建的成功应用程序。成功指:它已经投入生产,并且生成的应用程序比如果没有开箱即用的工作流引擎构建要更容易维护。
Udi Dahan发布了一篇非常有趣的博客关于这个话题,详细阐述了为什么这些东西通常只在演示中有效,而在现实生活中则不然。
公平地说,我应该澄清一下,我没有任何关于WF的实际经验,我曾经玩过BizTalk,但发现它完全超出了我所需要的

1

我没有使用wwf的状态机部分,只用了顺序工作流。

起初我很兴奋,因为我希望使用wwf能够真正解决我们的一些问题。

最后,这真的是一团糟,我很高兴我们的项目只是一个小项目:

  • 设计师经常崩溃(公平地说,这是VS 2008设计师,VS 2010更稳定)
  • 将中等大小的工作流加载到IDE中非常缓慢
  • 中等大小的工作流比源代码难以阅读。这不是wwf特有的问题,而是所有可视化编码环境的问题
  • 没有开箱即用的UI来控制运行中的工作流实例
  • 我不确定,但我认为wwf没有工作流的版本控制。如果您已经有几个工作流实例正在运行,并且您想要更改工作流,则会出现问题。

WWF可以成为特定问题的解决方案,但我几乎无法想象哪个Web应用程序会从wwf中受益。


1

我曾经使用过WF (.net 3.5)中的状态机,并将其产品发布到生产环境中。这是一个电子采购系统,采购请求和采购订单需要经过多个状态(批准者、请求者等)。然而,我们遇到了一些问题,比如如果您在生产环境中更改状态机,则数据库中已有的实例必须手动按照新的状态机运行,否则会出现错误。我认为,如果您有像与UI批准交互这样的复杂逻辑,状态机可能会导致一些问题。我还没有检查过 .net 4.0 WF,也许它会有解决方案。


WWF是否支持动态工作流程,即是否允许管理员用户通过应用程序本身的某个界面更改工作流程。 - Muhammad Adeel Zahid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接