请确认:目前支持Windows Workflow Foundation是否明智?

12

我们正在为一家全程使用Microsoft产品的公司选择工作流程解决方案。鉴于WF4的消息,因为它似乎实质上是以前版本的重写,支持当前版本是否明智,还是应该寻找其他解决方案?

也就是说,当前版本是否如此糟糕,以至于我们不明智地尝试使用它?


据我所读,WF4.0将支持来自WF3.5的自定义活动。 - Tundey
另一个带有相关信息的问题:http://stackoverflow.com/questions/560031/windows-workflow-is-this-a-good-time-to-start - user1228
那个项目需要的是一只神奇的独角兽。仅有代码,流畅的API,简单易用和部署。仅仅在IIS7中添加一个“fabric”视图也不够资格,有人需要花时间在蒙古包里吃一些仙人掌并与史蒂夫·乔布斯交流。 - James White
7个回答

11

刚刚启动了一个使用.NET 3.5和工作流的项目,我认为WF的当前版本足够好用且稳定。它帮助我们快速推出产品(我们通常会面对功能增长和每周变化的需求)。但是,我有一些抱怨:

  • 工作流设计器有时非常缓慢,而且会自行重新排列状态机,这可能会让你发疯。
  • 没有内置的升级策略来保持旧的工作流在进行错误修复后继续运行。如果你要使用WF,请考虑如何尽早进行升级。
  • 与WCF集成(发送和接收活动)会隐藏WorkflowRuntime,这使得很难理解底层发生了什么。
  • 不容易进行单元测试。虽然有一些想法,但在我们开始此项工作时,似乎都不是特别容易的WorkFlow Unit Testing

我喜欢基于工作流的开发思想和潜力,但是我并不着急重复这种经历,而且可能会在长时间运行的进程中坚持不使用它。我会在短期、复杂的过程中再次使用它(比如用于价格计算的规则引擎)。


很好的总结 - 我也发现与WCF集成很难理解。 - Rob

2
也许对于你来说有点晚了,但现在WF 4.0已经发布beta版,其他人考虑同样的问题时可以考虑支持4.0而不是3.5。
这在一定程度上解决了以下问题:
• 工作流设计师会让你发疯,因为它在某些情况下运行速度很慢,并根据自己的意愿重新排列状态机。【设计师性能改进】
• 它们不容易进行单元测试。虽然有很多想法,但当我们开始Workflow Unit Testing时,似乎没有什么特别容易的方法。【我认为现在稍微容易一些了,一些工作流示例的介绍包括大量的单元测试】

保持旧工作流程运行的问题在4.0版本中仍然存在。 - Alan Christensen

1

我的理解是微软将提供向后兼容性和/或迁移策略到新的WF,所以我猜你可以放心使用它。然而,我从组织中的其他开发人员那里听说当前版本的WF非常难用。如果您有预算(并且根据您的工作流程的复杂性),您可能需要考虑K2:http://www.k2.com/en/index.aspx


3.5 和 4.0 将同时运行。它们之间会有桥梁,但似乎没有直接从一个版本升级到另一个版本的路径。 - user1228

1
作为一名工作流开发者,我认为当前版本使用起来非常痛苦。这并不令人惊讶,因为这是微软发布的v1.0软件 :)
我认为你应该首先考虑你对工作流软件的期望。你是否有一个明确定义的期望清单?实际上,我在想这样一个清单的内容。也许我们可以在每个主题上提供更详细的帮助。

轻描淡写地描述“编码”体验是痛苦的!虽然它运行良好,但制作它的痛苦(我甚至尝试手动编码,但VS也会出错)让我感到自杀倾向... - leppie

0

我不知道为什么人们对WF有如此负面的印象。当然它有缺点,但我认为它非常有用。我对它唯一的主要问题是缺乏升级现有工作流的支持(gbanfill名单中的第2个条目)感到困扰。


它们不仅仅是负面印象,它们是WWF固有的实际问题,这些问题的存在并不令人惊讶,因为这只是初版。 - Lonzo

0
使用当前版本的另一个优点是,"Dublin"(微软新的应用程序服务器)将建立在WCF和WF .NET 4.0上,但将很高兴地托管3.5 WF。因此,您将能够无需重写即可迁移到该版本。

0

简单说明一下,Visual Studio 2010 CTP包含了一个新的WF设计器更新,作为Oslo目标的一部分。


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