【问题标题】:Suitable 'business rules' tool / engine for my web application [closed]适合我的 Web 应用程序的“业务规则”工具/引擎 [关闭]
【发布时间】:2010-03-15 17:53:19
【问题描述】:

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

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

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

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

这里有一些查询:

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

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

【问题讨论】:

    标签: asp.net open-source rule-engine product business-rules


    【解决方案1】:

    有许多可用于 ASP.Net 的业务规则引擎; Windows Workflow Foundation、BizTalk Business Rule Engine、Solver Foundation、Stream Insight 和 Reactive Framework。谷歌揭示了更多,例如Simple Rule Engine和Custom Rule Engine。

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

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

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

    【讨论】:

    • 谢谢朋友。我持有类似的观点,但你的观点肯定加强了它。考虑到我的应用程序更像是一个产品而不仅仅是一个网站,我最好继续构建一个专注于我的领域的特定应用程序。
    • 所有这些工具的问题在于,它们都试图通过发明以简化方式编辑这些表的新方法来向最终用户“隐藏”决策表的复杂性。现在有一些新工具试图摆脱决策表。这种类型的规则管理工具才刚刚开始出现。检查 Web Rule asp.net 控件,例如 (rule.codeeffects.com)。根本没有决策表。而且,我相信,这将在未来节省业务规则编写 :)
    猜你喜欢
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    相关资源
    最近更新 更多