2010-09-15 36 views

回答

4

NServiceBus通过“传奇”支持工作流程, http://nservicebus.com/Sagas.aspx

的主要区别是,传奇故事更容易单元测试,并且你没有因为NSB的底层队列的使用担心的一致性和DTC确保失败的步骤会自动重试。

乌迪有一个播客讨论这一切:

http://www.udidahan.com/2007/10/23/podcast-durable-services-with-wcf-wf-and-nservicebus/

简而言之:如果您使用NSB就没有必要海事组织MS WF。

+0

这是不正确的。工作流程远不只是传奇故事。即使乌迪自己说:http://www.udidahan.com/2007/12/17/no-more-workflow-for-nservicebus-please-welcome-the-saga。所有常见模式实现在哪里? http://www.workflowpatterns.com/patterns/resource/ – Den 2015-02-19 17:36:43

10

我想给我的2美分:

我在新的项目正在与一个相当复杂的领域,其中一些领域的工作流程可能演变并在一些不同的情况而改变。我们一直在分析可能的解决方案来编排不同的应用程序服务器(WCF服务)。我们分析的第一个架构解决方案是使用Service Bus + PubSubs模式(nservicebus,rhino ESB,masstransit,Shuttle ESB ...)。我们分析的另一个解决方案是WF 4.0。我们正在接近做出决定,现在WF 4.0被选择的一个原因是:

  • 工作流程的自定义应用程序使用workflow diagrams
  • 工作流程diagram designer can be embedded建模,可用于生产过程中进化的工作流程,因为它们是在XAML中定义。
  • PubSubs与传奇故事模式,在某种程度上会冲淡工作流建模方式,并在一些复杂的情况它会是很难有工作流程是如何工作的
  • WF 4.0工作流程服务提供清晰的观点是on top of WCF,所以你可以有发送/接收与WCF端点通话的活动。因此,我们拥有所有的力量和WCF的灵活性:安全,可靠的通讯科,MSMQ,WS *标准,...
  • WF 4.0服务可以在Appfabric托管:可扩展性,可维护性,监控和故障诊断变得容易

有一个问题,我们已经在分析这个事实,即WF 4.0不支持状态机(就像它在3.5版中那样)。虽然MSFT explains how to implement state machines使用随4.0

希望这有助于

Juanjo

+0

[WF4 State Machine](http://blogs.msdn.com/b/endpoint/archive/2011/04/20/wf4-state-machine-user -experience.aspx)现在可用。 – TrueWill 2011-09-22 20:14:56

8

我有@Andreas奥朗德不同意新Fowchart活动。这就像是说“我拥有C#和.NET Framework,那么为什么我需要购买ERP系统?” @ juanjo.arana的答案更加平衡。

NServiceBus documentation for Sagas是一个页面(我的显示器上有5个屏幕)。该书Pro WF是850页。 (我读过它,它不是填充。)书Professional K2 blackpearl(讨论完整的BPM系统)是870页(亚马逊的计数是关闭的)。

即使WF 4(不包括SharePoint)也不是一个全功能的BPM系统。它缺少活动级别的安全模型,锁定(“Bob已声明此工作单尚未完成”),高级版本控制和报告。你可以构建所有这些东西,但它们不在“盒子”中。

看看NServiceBus Sagas页面的超时部分。将其与做expiration in WF 4的可视化方法进行比较。想象一下,在一个复杂的工作流程中跟踪这一点,每当管理者希望得到一个员工在文件处理系统中花费太长时间的通知时,都需要超时(升级)。

我同意工作流程有时候是矫枉过正的,而且他们可能很难测试。 (有ways to unit test WF 4。)但我不想用NServiceBus构建真实世界的BPM风格工作流。

相关问题