用有限状态机验证工作流设计

工作流编排

在电子商务领域,一个订单的生命周期,往往长达数天,涉及到创建,支付,履约等行为和状态。怎么管理订单状态呢?如果任何一个REST API, 都能够随意修改订单状态,那么订单状态将漏洞百出,容易有资金损失风险。 这个时候,就需要诸如Camunda, AWS Step Functions Workflow Studio之类的工作流引擎Workflow Engine 编排工具,来配置状态转移的时序逻辑,前提条件,和允许范围等。 工作流编排,适合于连接和管理松散的用户行为,逐渐流行,不限于电商领域。但是,工作流仍然有随意性。这篇文章将解释,并推荐解决办法。

电商订单有限状态机

举一个最简单的订单有限状态机:虚拟商品。比如说,购买桌面应用的license。其分成如下四个状态:initiated, paid, delivered, canceled。理所当然的,也有四个对应的动作。

输入图片说明

每个用户动作,都有一个WorkflowHandler来处理。WorkflowHandler类里面,一般要做如下工作。

  • 用户动作,诸如支付,履约,通过HTTP请求发送过来。

  • 根据规则,比如validate()方法,找到对应的 WorkflowHandler。

  • 调用run(

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值