有没有人成功地将Windows Workflow用于业务规则/验证引擎?


11

我想知道是否有人成功将Windows Workflow Foundation用于BusinessRules / Validation引擎,或者您是否知道一些示例代码或与此相关的文章。

如果您曾经使用过它,您怎么看?与其他BusinessRule / Validation系统相比如何?

我在想类似的规则

if (A, B, and C) 
    AllowAccess();

要么

if (Value between X and Y)
    return true;

Answers:


6

几个月前,我开始使用WWF WCF构建引擎。我不知道您的规则库有多复杂,但是我们的规则库很大。如果您有可能开设40,000个分支机构,那么WWF并不适合。作为替代方案,我最终构建了一个在SQL中使用逻辑异常表的引擎。这些行将存储基本值,以及用于在异常之间变化的公式的格式化字符串。结合动态语言(我使用带包装器的嵌入式ironpython引擎,并且可以使用嵌入式JScript引擎),可以在高度抽象的级别动态确定逻辑。我很高兴我走了这条路。拖放逻辑看起来很棒,但是尽管有市场营销,商务人士也将永远无法使用它,并且它只会使开发人员放慢恕我直言的速度,很快就会陷入困境

更新:如果您仍然感兴趣,请参阅入门指南。它当然不算大,但是有一些不错的视频。至于设置,我们的网络工程师为我完成了设置(服务器维护,安全性等公司政策),但据推测它几乎与设置基本WCF服务相同。基本上将其放入ISS中的虚拟目录中。由于这通常是一个长期运行的过程,因此在编写服务时请特别注意内存管理。6个月不重复配置某些资源确实会加起来,您的服务器也不会满意。


如何设置?您是否知道任何在线开始或包含示例代码的文章?
雷切尔

谢谢。执行业务规则的效果如何?
雷切尔

坦白说,我反对使用WWF的想法,但是我的队友全力以赴,所以我至少想给它一个机会:)
Rachel

1
@ Rachel-性能是合理的(足够快,可以在具有多线程的UI设置中运行)。它的运行速度也不是那么快,但是使用分布式WCF服务的任何事情都不会令人兴奋。
Morgan Herlocker 2011年

互联网上是否仍然有一些资料可以证明您的逻辑引擎和IronPython方法?(您的“入门指南”链接不再起作用)。
罗伯特·哈维

1

我必须同意Ironcode。在新的Biztalk推出之前的几年(奇怪的是),我们编写了一个拖放式流程图式系统。想法是非程序员可以编程,并且系统将易于维护和更改。

结果是:您仍然需要“业务分析师”,他们需要像程序员一样接受过严格的培训,但是要使用WWF系统的新“语言”。因此,您在那里根本没有获得太多收益。调试器远不及真正的开发系统那么好,所以您就迷失了。您还需要程序员编写棘手的模块,这些模块是数据和GUI处理的核心。可伸缩性也很快消失了。简单的业务规则很容易组合在一起,但是一旦超过12条,您就会陷入意大利面。

我认为它有一些好处,但是基本上,使用脚本引擎将定制脚本模块捆绑在一起会更好。

但是,对于营销类型而言,它确实看起来很酷,这是一个很棒的演示:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.