返回信息流流程引擎:类似于 Activity 的 BPMN 工作流编排引擎
规则引擎:类似于 输入一些规则,输出一个结果。
这类都是怎么实现的,有没有从0-1的教程呀,想简单手写一个。感谢!
最基础的一些疑问我就很难去自己写,比如:
1、流程引擎中 BPMN 中的线是怎么解析的?节点前后的输入输出是怎么传递的?其中有的流程还是多分支的或者环形的。
2、规则引擎中的复杂表达式怎么解析呀?有的还能支持输入一个文件脚本。。
直接看现成完整功能的开源项目有点头大,有没有简易版本的,或者从0-1的教程。。非常感谢!!
这是一条镜像帖。来源:北邮人论坛 / java / #66860同步于 2023/8/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【问题】如何从0-1开发流程引擎和规则引擎?
fatiexiaohao
2023/8/8镜像同步16 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 timb3rlak3 的大作中提到: 】
: 规则引擎可以看看drools,写一个简单的很容易
你好,目前主要是没有头绪如何从0-1写一个简单的呢?感觉无从下手
写一个简单的,就是:
if condition1: ...
elif condition2: ...
elif condition3: ...
elif condition4: ...
elif condition5: ...
相信你已经会了
【 在 fatiexiaohao 的大作中提到: 】
:
: 你好,目前主要是没有头绪如何从0-1写一个简单的呢?感觉无从下手
用Antlr 写一个简单的语法,实现一下visitor或者listener 。
【 在 fatiexiaohao 的大作中提到: 】
: 流程引擎:类似于 Activity 的 BPMN 工作流编排引擎
: 规则引擎:类似于 输入一些规则,输出一个结果。
: ............
规则引擎要完全自研不好搞,如果是表达式那种,你得做词法分析和语法分析。我手写了个go版本和rust版本的表达式引擎,功能就是支持表达式的解析执行。rust可看下这个https://github.com/ashyanSpada/expression_engine_rs,go版本是公司用的,就不分享了。
可以看一下go实现的expr规则引擎,github上有
【 在 ausar 的大作中提到: 】
: 规则引擎要完全自研不好搞,如果是表达式那种,你得做词法分析和语法分析。我手写了个go版本和rust版本的表达式引擎,功能就是支持表达式的解析执行。rust可看下这个https://github.com/ashyanSpada/expression_engine_rs,go版本是公司用的,就不分享了。