让用户直接使用Rule的语言不是一个好的选择,我认为应当给客户一个GUI,通过这个GUI用户来选择Rule,然后程序将用户的选择翻译成Rule语言,这是我目前对最终用户使用DRools的认知。
因为让用户直接在编辑器中编辑Rule Language要求过高,产生错误的几率过高。如果用户直接操作Rule Language,就类似于用户需要学习一门脚本语言,Learning Curve的问题较突出,而且用户也没有这么多时间。另外,维护起来很困难。
如果做成GUI,用户只需下拉菜单,选择预先设好的条件和参数值即可。当然预先的设定是必不可少,但是很多设定用户都可以自己完成的,尤其是业务数据。
真实ERP产品其实也是这样做的。但是局限于ERP产品开发商出于商业目的,战略规划和预算的投入,Rule的工具还有待完善,尤其是对于复杂的行业应用,当Rule很多时,例如几万条,几十万条,软件的Performance会有问题,并且Bug也会随之更多显现出来。这是让ERP厂商马上修改产品以适应客户的需求往往很难达到。
我看到的DRools BRMS虽然给出了GUI,但是过于简单,对于Rule的数量很少时,管理还是可以的,但是一旦数量级爆增,就很难使用。这是就需要开发适应用户使用习惯的,符合行业习惯的客户终端工具。
分享到:
相关推荐
DRL允许用户以类似自然语言的方式编写业务规则,包括条件(when)和行动(then)部分。问题可能出现在以下几个方面: 1. **语法错误**:编写DRL时,如果没有遵循语法规则,会导致编译失败。例如,括号不匹配、...
RuleEngine 的出现改变了这一现状,它提供了直观的拖拽式界面,用户可以通过构建流程图、设置条件判断和动作执行来构建复杂的业务流程。这种无代码或低代码的方式大大提高了开发效率,减少了错误的可能性,使得非...
此外,`validation-rule-generator`还可以帮助你生成自定义验证消息,这些消息可以在验证失败时返回给用户,提供更友好的错误提示。通过自定义验证消息,你可以提高用户体验,让他们更好地理解输入数据的问题所在。 ...
1. **编写规则文件**:`rule.txt`就是这样的规则文件,它定义了哪些类或包需要被移动、重命名或者排除。规则文件中的每条规则通常包含三个部分:`from`指定要操作的类或包,`to`定义新的类或包位置,`do`指定操作...
当需要进行验证时,我们不再直接在控制器中编写规则,而是通过规则仓库实例调用相应的方法获取规则数组,然后传递给Validator。 ```php public function store(Request $request) { $rules = (new UserRules())->...
根据压缩包内的文件名,"sweet rule"很可能是用户手册或者使用指南,它将详细解释如何创建、编辑、测试和部署规则。这份文档可能包括以下关键部分: 1. **安装与配置**:如何下载SweetRule,安装到本地环境,以及...
在【标题】"hidl service selinux rule"中提到的,是关于如何在HIDL(硬件接口定义语言)服务中添加SELinux规则的相关内容。HIDL是Android用于抽象硬件接口的一种方式,它允许上层应用程序与底层硬件驱动进行通信,...
- **C#实现**:使用C#编写,充分利用了语言的强类型和面向对象特性,使得代码更加清晰和易于维护。 - **灵活性**:RuleEngine22允许开发者自定义规则表达式,可以处理复杂的业务逻辑。 - **开源性质**:Rule...
它具有高度可扩展性,允许用户根据自己的需求编写自定义规则来增强其检查能力。在cppcheck中,自定义规则主要通过正则表达式来实现,这使得开发者可以针对特定的编程习惯或者项目需求定制检查。 **cppcheck自定义...
在这个C#代码示例中,`Rule`类被用来管理游戏的规则,特别是考虑了禁手规则。 禁手规则是为了防止一方玩家快速获胜而设立的特殊规则,主要分为以下几种: 1. **双三禁手**:不允许玩家形成两个活三(即将形成五个...
这种技术允许非技术用户定义业务逻辑,而无需深入编程知识。jBoss Rule(现称为Drools)是一个开源规则引擎,基于查尔斯·弗罗姆曼的《产生式规则方法》一书中提到的Rete算法。该引擎支持复杂的事件处理和业务流程...
Fortify是一款著名的静态代码分析工具,它主要用于检测软件源...对于新引入的规则,可以通过编写测试用例或审查现有代码来验证其正确性。此外,定期进行代码审计,结合Fortify的报告,可以持续提升软件的安全性和质量。
NX二次开发UF_CLONE_set_name_rule 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的专业人士...
NX二次开发UF_CLONE_set_identifier_display_rule 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等...
在IT行业中,前端开发是至关重要的一个领域,它关乎到用户与应用的交互体验。而“前端开源库”则是开发者们共享和复用代码的重要资源,可以极大地提高开发效率和代码质量。今天我们要讨论的是一个名为"前端开源库-...
杂项函数是用于执行一些特别功能的函数,如askUser(,,)允许脚本与用户交互,getMaterial()用于获取材料属性,isApiRunning()可以检查API是否正在运行。 字符串操作函数用于处理文本数据。如findStr(,)用于查找字符...
在实现自定义rule时,我们会在execute方法中编写相应的业务逻辑,通过获取请求参数和用户信息来判断权限。在上面的代码示例中,ArticleRule类就是实现了这样的逻辑:只有文章的创建者或者管理员才有权限修改文章。 ...
3. 用户界面:Rule_Builder可能会提供一个图形化用户界面(GUI),让用户通过拖放或填写表单的方式来创建和编辑规则,而无需编写代码。 4. JSON格式:由于JavaScript与JSON(JavaScript Object Notation)的紧密...
ATP规则书,即《ATP rule book》,是指导用户如何使用ATP进行电磁暂态计算的官方文档。这份规则书中包含了ATP程序的详细说明,包括模型的设定、输入文件的编写、结果的解释等关键内容。它解释了ATP的内部工作机制,...
为了更好地理解 SWRL 的工作原理及其应用范围,文档中提供了多个示例来展示如何使用 SWRL 编写规则并进行推理。这些示例涵盖了不同领域的知识表示,帮助读者深入了解 SWRL 的灵活性和实用性。 #### 现状与发展 ...