文/明道云主管工程师孙伟
随着低代码/零代码特征的APaaS产品开始被越来越多的企业采纳,利用APaaS产品天然的开放性与其他现有业务系统的集成需求也日益增多。本文提供了APaaS产品与其他应用集成的集中基本模式,供有相关需求的用户参考。
在介绍时,我们通过一个具体实例来说明不同的集成方法:
案例场景:某电商公司使用了进销存,APaaS(假设为明道云)和财务软件三套系统,公司的退货流程如下,客户申请退货 => 客服审核 => 仓库确认到货 => 财务退款 => 退货完成,每一次完整的退货流程都需要数据在三个系统中相互流转。
1 消息集成模式(推荐)
主要通过相互调用API来完成数据之间的传输及同步,可分为三种方式(或阶段)
一对一同步(请求/响应):消息通过调用API请求另一个应用并等待响应结果
客户申请退货,电商平台调用aPaaS平台API通知客服走审批流程,审批通过后调用电商平台API更改退货申请状态,每次请求失败则进行重试。当请求量比较大且业务逻辑复杂时,会存在等待时间过长超时或另一侧计算资源超负荷报错,这时候就需要采用下面另一种方式。
一对一异步(队列/回调):API接收到请求放入队列,执行完回调通知结果
客服收到退货商品检查并同意退货申请,调用库存应用API通知库存入库,因为商品入库逻辑比较复杂(更改原始出库单,处理产品库存),可以把操作放入消息队列逐步消费,等仓库退货逻辑完成后,回调另外应用的API通知结果。很多时候同一个数据变化要通知多个应用且通知地址经常有变化,就需要频繁调整代码逻辑,这时候可以采用发布/订阅的方式。
一对多异步(发布/订阅):提供事件订阅,数据变化后向所有订阅地址发送消息通知
aPaaS平台上退货商品确认到货需要通知财务系统退款,要通知仓库系统退货入库,还要通知电商平台更改退货状态,不同的客户需求可能不同,此时,aPaaS可以提供事件订阅,当数据触发变动,根据订阅清单通知其他应用,并提供webhook回调地址,其他应用逻辑执行完毕后再回调
消息集成的方式可以最大程度上实现数据实时同步,但需要应用端都有完整的API,还需要注意推送失败的重试机制以及后续重试造成的覆盖先后顺序等问题。
在明道云(APaaS)这一侧通过工作流来实现集成:
2 应用程序集成
专门开发集成工具:
单独研发一个应用程序 ,取得其他应用系统的授权,根据配置定时(全量/增量)拉取数据,再根据条件和映射规则推送到其他应用系统。使用集成工具同步数据,应用之间不需要相互调用 ,可降低耦合度,也能根据数据体量和应用形态灵活选择技术方案。因为不是应用主动推送,所以在实时性上面稍差。
机器人流程自动化(Robotic process automation)简称 RPA:
是以软件机器人及人工智能(AI)为基础的业务过程自动化科技。它通过模仿最终用户在电脑的手动操作方式,提供了另一种方式来使最终用户手动操作流程自动化。
3 OLAP数据源连接
配置数据源连接地址,根据开放权限和筛选条件钻取需要的数据,通常作为BI报表分析的一种方式,钻取到的数据经过加工/聚合后可根据需要再次单独存储。
4 文件集成(导出导入)
根据需要手动从应用系统导出待处理的数据,再导入另一套应用系统,处理完再导回本应用系统。明道云系统提供比较精细的Excel文件导入交互,能够让用户在导入过程中建立字段映射,自动去重,甚至包括在导入过程中建立数据关联。