流程引擎调研 业务系统中使用流程引擎 疑问中

来源:互联网 发布:短信轰炸软件免费版 编辑:程序博客网 时间:2024/06/05 06:40

何为引擎

     以业务中遇到的场景举例, 业务代码中多个流程类似,例如支付,充值,支付押金. 可以抽象出基础模块,提供共同实体的增删改查能力,也可以抽象出引擎,抽象出控制逻辑节点(何时增加,何时修改成支付中,退款中,支付成功.是否有必要退款),回调业务方,业务方只要实现这些控制逻辑的实现. 但是有哪些控制逻辑有引擎决定.

     流程引擎也是,流程流转有引擎决定,所以才会有流转节点.

优点:

     业务中利用流程引擎可以解耦.

缺点:  

     但坏处是有一天流程引擎无法满足新功能的时候,重新开发工作量比较大.

特殊案例 :

    有遇到过一个特殊的 case.

     乘客和司机, 垫付场景.本来,乘客支付后分润给司机. 两个行为时顺序的.后续变更, 新增 平台垫付. 乘客支付和司机垫付两个行为即不是平行的,也不是互斥的, 乘客支付排斥垫付,但是垫付不排斥乘客支付,且要对乘客支付进行延迟判断.

   业务逻辑是:

        1.  3天后,如果乘客未支付.那么需要垫付. 然后触发分润,且乘客还是需要支付.

        2.  乘客支付,然后分润. 垫付不需要执行了.

     如何建模?

          这种流程该怎么建模,目前的流程引擎是否支持?

    

     状态机是弱化的流程引擎,触发是有业务系统触发的. 内部没有主动流转机制. 没有状态,联结节点