实施企业级规则引擎时面临的五个最大挑战是什么?

发布于 2024-12-04 04:08:48 字数 367 浏览 1 评论 0原文

我根据我的知识编制了这份清单,但想丰富并完善它。使用此社区意见对其进行优先排序。我知道拥有一个集中式规则存储库本身是有争议的,但我们可以对此有单独的问题。

  1. 业务用户适应性使用平台编写规则[定义、分类、决定可能存在规则存储库中的规则]
  2. 易于从不同应用程序调用和使用规则
  3. strong>规则可移植性 - [RIF(规则交换格式)重要性?]
  4. 规则维护 – BRMS [业务规则管理系统]
  5. 规则引擎性能 - [多少,多快多可靠]

I have compiled the list as per my knowledge but would like to enrich & prioritize it using this community inputs. I understand having a centralized rule repository itself is debatable but we can have separate question for it.

  1. Business user adaptability to use the platform for writing rules [Definition, classification, deciding on rules that might go on a rule repository ]
  2. Ease of Rules invocation and consumption from different Application
  3. Rules portability - [RIF (Rule Interchange Format) importance?]
  4. Rules maintenance – BRMS [Business Rule Management System]
  5. Rule engine performance – [How much , How fast and how reliably]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

緦唸λ蓇 2024-12-11 04:08:48

以下是我根据 12 年使用 3 个规则引擎的经验得出的看法(按重要性排序):

  1. 能够在系统安装和测试后无需任何 IT 参与即可创建、编辑和部署规则。能够对我的规则进行版本控制、批准、测试和调试是件好事,但只要引擎附带正常的 API,这并不重要,因此我可以按照我需要的方式自己构建该功能。我不确定“平台”,只需给我一个用于规则创作和编辑的不错的 UI,最好是基于 Web 的 UI。
  2. 规则执行性能应该是优秀的。怎么强调都不为过:缓慢的引擎几乎总是会导致利润损失。在我的生活中,引擎必须能够在每个 2 毫秒内评估 50-80 个条件规则集(没有外部调用)(平均大约 1.5 毫秒是好的,0.5 毫秒是最好的)。它必须是线程安全的,所有规则评估必须完全独立于彼此以及引擎本身(规则缓存除外)。
  3. 规则应以 XML 格式呈现,以便可以保存在任何地方。我不在乎它是什么格式,只要它可以工作并且在引擎版本之间保持一致即可。我怀疑不同组织之间是否存在“共享”规则的巨大需求。我绝对不希望与任何人分享我的规则:)规则存储库可能是完全邪恶的,因为我可能需要将我的规则从一个存储移动到另一个存储(例如,在合并或其他人收购整个系统的情况下)与其他类型的存储)。只要发动机品牌保持不变就应该没问题。规则只是逻辑集。它们目前存储在哪里应该完全无关。如果引擎不能从任何地方以预期格式加载规则,那么我不需要这样的引擎。
  4. 能够创建、命名和保存小规则,然后按名称将它们组合到规则集中,这将是一个巨大的优势。

我目前能想到的规则引擎的所有其他功能都与我和我所做的事情无关。希望这有帮助。

Here is my take based on 12-year-long experience with 3 rule engines (ordered by importance):

  1. Ability to create, edit and deploy rules without any IT involvement after the system was installed and tested. Ability to version, approve, test and debug my rules is nice to have but not critical as long as engine comes with normal API, so I can build that functionality myself, the way I need it. I'm not sure about "the platform", just give me a decent UI for rule authoring and editing, preferably web-based UI.
  2. Rule execution performance should be EXCELLENT. Cannot emphasize enough: slow engines almost always lead to lost profits. In my life, the engine must be capable of evaluating a 50-80 conditions rule set (with no external calls) under 2 milliseconds each (about 1.5 millisecond on average is good, 0.5 milliseconds is great). It must be thread-safe, all rule evaluations must be completely independent from each other and the engine itself (other than the rule caching).
  3. Rules should be presented in XML format so it can be saved anywhere. I don't care what kind of format it is as long as it works and stays consistent between engine versions. I doubt that there is a huge need out there for "sharing" rules between different organizations. I definitely don't expect to share my rules with anyone :) Rule repositories can be total evil simply because I may need to move my rules from one storage to another (say, in case of merger, or asquisition of the entire system by others with other types of storages). It should be fine as long as the brand of engine stays the same. Rules are just logical sets. It should be completely irrelevant where they are stored at the moment. If the engine cannot just load a rule in an expected format from anywhere then I don't need such engine.
  4. Ability to create, NAME and save small rules and later combine them in rule sets by their names would be a huge plus.

All other features of rule engines that I can think of at the moment are irrelevant to me and to what I do. Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文