业务系统定制化需求的一种设计方式,以及LiteFlow说明

2023-06-12  本文已影响0人  AC编程

一、背景

很多业务系统,或者Saas平台,需要在通用功能上进行定制功能的开发。

1.1 举例说明:

为了简化场景,我们假设你在开发一个Sass模式的电商平台。

1.2 需要实现如下功能:

A公司在下单时,需要发送短信通知;

B公司下单时,需要发送邮件通知;

C公司则是啥都不用干;

1.3 重点:

未来的接入公司,可能在下单时需要处理其他逻辑,比如主动扣减总金额,发起远程调用(SAP接口)。

每个公司的逻辑也不是一成不变的,A公司可能1个月后,需要发送邮件,和短信。

很明显,这种极其灵活的定制化需求,只通过代码,基本是无法满足。据我所知,很多公司都是通过每次修改代码,然后重新发布程序来解决。这种方式给代码带来了脆弱性,发布过程也影响用户体验,也可能带来bug,不是一种好的处理方式。

二、思考

从本质上来看,我们主要是为了应对零散的特殊功能。

是不是有一种方式,让我们能将这些零散的小需求拆分成一个个独立的执行器,或者叫执行节点?然后通过配置的形式,将这些执行节点进行,传递参数,编排执行流程,来组合成一个定制化的功能呢?而且最好是这种配置能够动态地刷新,不需要服务重启。

答案是有的。

目前有很多这种流程编排的框架,使用流程引擎自动化自行也可以达到同样的目的。但是流程引擎过重。

专业人士在网上查了一下,发现LiteFlow比较适合这种场景:对应的网站是:https://liteflow.yomahub.com/

上一篇 下一篇

猜你喜欢

热点阅读