2

我不确定这个问题是否适合在这里提出,但我想不出更好的去处。

我正在构建一个 Web 应用程序,该应用程序具有大多数用例的多个替代路径。我将这些路径视为业务规则。我想先为主要场景编写我的应用程序,然后将替代场景应用为业务规则(即使应用程序处于生产状态,也可以添加和删除规则)。

我认为我的应用程序值得一个规则引擎。我过去没用过。所以我有几个疑问,但在此之前这是我的应用程序的配置文件:

  • 基于 Web 的应用程序(数据密集型)
  • 有点关键(与医疗保健有关) - 需要考虑活力
  • Microsoft .Net 平台(ASP.Net、MS SQL Server、WCF)

以下是一些查询:

  • 如何最好地外化规则?
  • 是否可以立即应用规则或批量应用规则是唯一的可能性?
  • 业务用户如何控制规则?
  • 有什么最好的(合适的)规则引擎?(我更喜欢容纳开源产品)

欢迎任何额外的经验,因为我仍在深入研究需求。

4

1 回答 1

1

有许多可用于 ASP.Net 的业务规则引擎;Windows Workflow Foundation、BizTalk Business Rule EngineSolver FoundationStream InsightReactive Framework。谷歌揭示了更多,例如Simple Rule EngineCustom Rule Engine

如果一个问题有很多解决方案,那就说明它们都没有任何好处,这就是我使用规则引擎的经验。我调查了 WWF,我的经验是实现引擎和定义规则比简单地在应用程序逻辑中编写规则更加困难和容易出错。

我不鼓励二进制格式或图形 DSL。根据我的经验,它们很难更改、调试、搜索和维护。

我的建议是以熟悉的、最终用户可理解的、特定领域的、基于文本的语言来实施规则。哪种语言取决于您在哪个领域工作,以及您的最终用户熟悉哪种语言。调查竞争产品和实现,看看你的领域已经在使用什么。

于 2010-03-17T22:15:49.977 回答