我正在评估WF在web上的业务应用程序中的使用情况,我很乐意听到一些关于这项技术的最新第一手资料。
我在这里的主要兴趣是提高项目的可维护性,以及在处理频繁变化的复杂流程时提高开发人员的生产力。
我真的很喜欢WF的想法,但是它似乎相对不为人所知,我遇到的许多旧评论都提到,一旦你进入它,它就会非常复杂。
如果它被过度设计到了无法使用(或者是一个糟糕的折衷)的程度,这是我需要知道的。
当然,它从2006年底就已经推出了,所以它可能已经成熟了。如果是这样的话,这是另一条非常有帮助的信息!
提前感谢!
发布于 2008-09-22 16:01:16
Windows Workflow Foundation是一个功能非常强大的产品,但仍处于其第一个版本:-(
使用的主要原因包括:
通过将工作流外部化为XML files.
WF以库/框架的形式出现,因此大多数时候您需要编写实例化WF运行时的主机。也就是说,使用托管在IIS中的WCF是一个可行的解决方案,并且节省了大量的工作。然而,WCF/WF耦合并不完美,需要做一些认真的工作。有关更多详细信息,请参阅此处的http://msmvps.com/blogs/theproblemsolver/archive/2008/08/06/using-a-transactionscopeactivity-with-a-wcf-receiveactivity.aspx。期待在下一个版本中有相当多的变化/增强。
WF (和WCF)是微软推出的许多新功能的核心。在PDC期间,你可以期待一些有趣的公告。
顺便说一句,让一个工作流的多个版本运行需要一些工作,但这主要是标准的.NET。
关于对业务需求进行可视化建模。从理论上讲,这在分离意图和实现的情况下工作得很好。然而,在实践中,您会纯粹因为技术原因而在工作流程中丢弃相当多的额外活动,这在某种程度上违背了您的目的,因为您必须告诉业务分析师忽略一半的形状和线条。
发布于 2008-09-22 15:38:34
相关问题:When to use Windows Workflow Foundation? My答案如下:
仅当满足以下任一条件时,才可能需要WF:
有关更多细节,请参阅Paul Andrew的帖子:What to use Windows Workflow Foundation for
请不要混淆或将WF与任何类型的可视化编程联系起来。这是错误的,可能会导致非常糟糕的架构/设计决策。
所以,如果你有这样的需求,那么WF是一个很好的候选者。当然,这是相对复杂的,但提到正在尝试解决的问题也是复杂的(有时非常复杂)。IMHO,这是非常复杂的,例如,对附加了事件处理程序(当对象不在内存中时可以触发的事件)的对象进行脱水/再消重。
我不能判断您所说的“中小型项目”是什么意思,但通常我会说,如果您的项目至少有上述列表中的两个需求,那么您可以考虑将WF作为解决方案。
发布于 2008-09-22 14:51:45
我们已经在一个大型的SharePoint应用程序中使用了WF,我可以说它还不错。它有很强的功能和灵活性。而且,正如Kevin提到的,一旦你摸索了工作流的基本概念,你就可以用它做任何你想做的事情。
另一方面,它有一些非常严重的问题,比如缺乏版本控制,这可能会在未来真正损害你的应用程序。我们不得不部署多达3个名为xxx-v1、xxx-v2和xxx-v3的相同工作流的并行版本,以保持旧实例运行,并让新实例使用更新版本。真让人头疼。哦,还有一些非常不直观的概念(关联标记,wtf??)
https://stackoverflow.com/questions/115124
复制相似问题