电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

实践案例 | 巧用操作参数+状态机,个性化组装事件订阅

来源:金蝶云社区作者:金蝶2024-09-232

实践案例 |  巧用操作参数+状态机,个性化组装事件订阅

小编推荐


在企业数字化转型的征途中,跨系统的数据流转常常是棘手的难题。央企巨头如何破解跨库事务的难题,确保业务流程的顺畅和数据的一致性?答案就藏在本期实践案例中。


跟随小编步伐,一起探索如何巧用操作参数和状态机,打造个性化的事件订阅,让业务流转不再有障碍~



业务背景


某大型央企,是一家以金属、矿产品的开发、生产、贸易和综合服务为主,同时兼营金融、房地产、物流业务的大型国际化企业集团在业财一体化的背景下,不同模块间需要互相传递数据。


客户业务系统、财务系统、主数据系统等多个系统都是以苍穹为基座,按不同业务场景划分模块,进行分库分表。这就导致不同模块间的协同会出现跨库事务、跨库写入的问题。


客户希望能够提供高效的方案来解决下述痛点和诉求:

1、 跨模块调用操作要保证事务一致性

2、 财务调用操作后,需要调用业务端操作,将财务端金额等字段反写到业务单据但是由于财务单据与业务单据存放在不同的库,同一事务里跨库写入会报错

3、 对特殊的业务场景,要求保证操作幂等性


业务流程图


解决方案

1. 整体思路

通过业务事件中心,以事件驱动的方式,打破业务壁垒串联财务端到业务端的流程。同时利用事件订阅自带的异步特性,解决同一事务不能跨库写入的问题。使用状态机描述单据初始状态开始,响应不同事件并执行对应动作,从而引起状态转换,直到单据变为终结状态具体而言:


先将不同模块的操作抽象为不同【事件】,然后按照执行顺序排列为每个事件设计触发状态响应状态下游操作订阅上游操作,同时设置事件订阅操作参数,传递上游操作的响应状态到下游,在进行下一步操作,先校验上级操作响应状态是否等于下游操作的触发状态从而保证整体流程事务一致性和下游业务操作幂等性整体流程如下:


【初始状态】->财务端A操作】->(校验操作A状态)->【业务B操作】->(校验操作B状态)->财务端C操作->(校验操作C状态)->【最终状态


注:状态机是一种数学模型,用于描述系统或程序在不同状态之间转换的行为。它由一组状态、转移条件和动作组成。

状态机常用于处理事件驱动编程模型,当系统接收到不同的事件时,状态机可以根据当前状态和事件类型执行相应的操作和状态转换。


2. 关键步骤及效果展示

【流程服务云】→【业务事件中心】→【事件定义】 →【新增】创建三个事件定义,并打开【传递操作参数】开关。


在操作中绑定插件,将要传递的操作参数设置好,采取设置操作变量的方式,将要传递的key和value随事件的

实践案例 | 巧用操作参数+状态机,个性化组装事件订阅

小编推荐在企业数字化转型的征途中,跨系统的数据流转常常是棘手的难题。央企巨头如何破解跨库事务的难题,确保业务流程的顺畅和数据的一致...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信