简体   繁体   English

与编写我自己的规则检查器相比,业务规则引擎(Biztalk)有什么优势?

[英]What are the advantages of Business Rule Engine (Biztalk) over writing my own rule checker?

I have a requirement to write an application in .Net that can allow business customers to define their own rules. 我需要在.Net中编写一个应用程序,该应用程序允许业务客户定义自己的规则。 I have been looking into BRE (Business Rule Engine) by Microsoft that comes in Biztalk server. 我一直在研究Biztalk服务器附带的Microsoft的BRE(业务规则引擎)。 What I understood so far is that BRE provides you a flexible rule composer to drag drop properties from your .Net entity and then assert it against some condition (predicate). 到目前为止,我了解的是BRE为您提供了一个灵活的规则编写器,可以将拖放属性从.Net实体中拖动出来,然后针对某些条件(谓词)进行断言。 However, this is pretty basic and straight forward idea which in my mind can be simply achieved by defining my own domain specific language for writing easy to understand business rules. 但是,这是一个非常基本而直接的想法,在我看来,可以通过定义自己的领域特定语言来编写易于理解的业务规则来轻松实现。 All I have to do is to create a grammar using ANTLR or Coco/R and an interface where you can write and compile rules and I am good to go. 我要做的就是使用ANTLR或Coco / R创建一个语法,以及一个可以编写和编译规则的接口,我很高兴。 Can someone shed some light on how BRE is offering more and why one should prefer it over custom made solution? 有人可以阐明BRE如何提供更多功能,为什么人们应该比定制解决方案更喜欢BRE?

The question's answer really depends on factors such as: 问题的答案确实取决于以下因素:

  1. The enterprise need: BizTalk is an integration platform and if your enterprise is already using BizTalk, There should not be any question of writing your own rule engine vs BRE since BRE provides most of the functionality you need from a rule engine with great performance, also providing ability to cache long term facts at run time if required. 企业需求:BizTalk是一个集成平台,如果您的企业已经在使用BizTalk,那么编写自己的规则引擎vs BRE不会有任何问题,因为BRE提供了高性能的规则引擎所需要的大多数功能,而且如果需要,可以在运行时缓存长期事实。 Business Rule Composer provides easy rule building as well as can be installed to business users for composing rules. Business Rule Composer提供了轻松的规则构建功能,并且可以安装到业务用户来编写规则。 In some complex scenario, this can be customized as well. 在某些复杂的情况下,也可以对其进行自定义。 These rules you can use within BizTalk using Orchestration or .NET class libraries. 您可以在Orchestration或.NET类库中在BizTalk中使用这些规则。 So with BizTalk its a great rule engine with lots of flexibility. 因此,使用BizTalk,它是一个出色的规则引擎,具有很大的灵活性。
  2. If BizTalk is not your integration platform and you are considering it only for BRE then you need to think twice since using BRE itself also requires BizTalk license, also using BizTalk product only for BRE may not be cost effective. 如果BizTalk不是您的集成平台,而您仅考虑将其用于BRE,则需要三思,因为使用BRE本身也需要BizTalk许可证,并且仅将BizTalk产品用于BRE可能并不划算。 Something you need to think about. 您需要考虑的事情。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM