试用了一下 flowable,效果非常棒,工作流引擎这东西真是非常重要,不然全靠自己写的话复杂的业务流程能写出一堆 bug 来
你说的请假的例子按照这个图走呢,到把需要确认的 HR 当作一个组,每次 HR 做出审批通过操作的时候都检测一下是不是最后一个待审批的 HR,这样是否实现了并行审批的效果?
https://www.flovate.com/workflow-management-vs-business-process-management/
我可能把 workflow engine 和 business process engine 弄混了,严格来说 airflow 和 cadence 应该是属于 workflow engine 的,按照上面这篇文章作者的意思是着眼的角度更小,更关注具体任务的执行。一会儿我再去调研下 activity 的接口比较下差异
感谢,那么状态机和你说的 PetriNet 有什么区别呢,在我看来一个工作流应该就是一个状态机,外界传入不同的事件从而改变自身状态,不知使用 PetriNet 有什么好处。
我调研了一下 uber 开源的 cadence,应该是类似状态机的实现,但是也能处理工作流,测试了一下 https://github.com/samarabbas/cadence-samples/tree/master/cmd/samples/expense 这个例子,就是个审批模型,但是 cadence 目前似乎存在缺陷没法查询工作流内部状态以及按照 bpmn 的标准生成工作流。
在上家公司用过 airflow,不知和 PetriNet 有什么区别,似乎 PetriNet 也是个有向无环图,从状态起点达到状态终点。
网上有人用 aws step function 或者是 azure logic app 实现自己的业务流程,我看文档 step function 最大执行时间能达到 1 年,也就是说一个流程可以在里面跑 1 年,对于审批系统来说足够用了,你觉得是否可以试试。
https://github.com/meirwah/awesome-workflow-engines 找到一个 awesome list,但是我不太了解工作流引擎这块,想问下 OA 系统里面的审批规则制定和执行用那个库比较好,或者能用哪个 saas 服务,求推荐
最近我也要做一个类似 bpmn 的应用,包括审批流程的制定和执行审批,不知道这些功能用你的引擎能否实现。大牛既然是做这方面的能否推荐一些云服务给我用用