想象一下,可能需要数周时间才能完成的现实业务流程将映射到单个或多个Corda Flows。由于长期的生命周期会影响软件生命周期(请参阅https://docs.corda.net/upgrading-cordapps.html#flow-drains),我想知道是否存在有关生命周期或其他方面(例如版本/兼容性/对子流程的依赖性/ ...)的流程的设计准则。
答案 0 :(得分:0)
您通常会将每个文档建模为状态,即SalesOrder, Goods, Delivery, Bill
然后对于每个动作,它只是Corda.i {e {1}}
中的一个流程由于某些过程可能需要数周的时间,因此您需要在各州对生命周期/状态进行建模。即ApproveSalesOrderFlow, IssueGoodsFlow, ReceiveGoodsFlow, FulfillShipmentFlow, SettleBillFlow etc.
可能具有诸如SalesOrder
之类的生命周期。在执行每个操作(流程)时,您需要将状态从初始状态转换为相应的新状态,以跟踪其生命周期。即ISSUED, APPROVED, DELIVERED, PAID
可以将状态从ApproveSalesOrderFlow
移到ISSUED
,并且您可以将APPROVED
跟踪为状态中的字段。