实践案例|基于服务流程的主数据分发新实践

某大型集团公司的内部系统错综复杂,实施工作涉及异构系统间的180+接口的集成,其中主数据分发工作量占比近40%,这让项目团队不得不思考一种灵活可复用的高效方案。
本期案例以集成服务云为基础设施,搭建了主数据分发框架及功能,让主数据在异构系统间实现高效地分发,方案通用性强,可供多行业领域的项目参考。
案例撰稿人:梁先飞
业务场景
A公司是一家拥有国资背景的集团公司,采购了包括星瀚在内的金蝶产品。由于客户的内部系统错综复杂,这一项目的实施工作涉及了10个异构系统的打通、180+接口的集成。
其中,主数据分发涉及6个异构系统、50+接口的集成,占总接口集成开发工作量比例的40%。
考虑到苍穹星瀚标品以及所在分公司均没有主数据分发的解决方案,经团队商议并达成一致,在满足客户需求的基础上,要形成可扩展、可复用的功能模块,功能需具备以下能力:
支持灵活配置可分发的基础资料
支持灵活配置可分发的异构系统
支持基础资料单个分发、批量分发、全量分发
支持基础资料的字段级配置
支持附件分发
支持按组织隔离分发
支持统一分发报文
支持调用API接口重试、重启机制
支持查询每一个主数据分发详情
支持在基础资料列表点选“分发”,并查看分发日志
解决方案
基于客户业务背景及团队的一致建议,我们决定使用【集成服务云】→【服务流程】来实现,并搭建主数据分发的一个可复用框架。
该主数据分发管理框架是高效、可靠的数据分发解决方案。它支持多种连接方式,灵活管理数据源,并允许用户配置需分发的系统和基础资料。通过苍穹集成服务云的服务流程和失败重试机制,确保数据准确、有序地传输到目标系统。
方案实现步骤如下:
1. 设计主数据分发管理的框架图。

其核心思路为:
(1)开发3个基础资料:分发系统、分发资料、分发配置。
(2)每增加一个分发系统,需要配置连接器及WebAPI。
(3)每增加一个分发资料,需要同步集成对象。
(4)配置服务流程去读取配置,先循环分发系统,再循环基础资料进行分发。
(5)输出供用户视角查看的主数据分发日志。
2. 设计数据流转的示意图。

数据流转说明:
(1)基础资料改变触发分发流程。
(2)子流程【分发设置】读取基础资料要分发的异构系统及对应的字段。
(3)子流程【分发基础】循环异构系统,根据要分发的字段获取查询数据,组装WebAPI请求报文,调整json结构,简化多语言结构和去掉多余的组织视图结构。
(4)如果有启用分发组织,需要查询基础资料分配的组织循环处理;若没有启用,则跳过该步骤。
(5)动态调用集成服务云中的WebAPI,报文与WebAPI进行映射,最终发送到异构系统。
3. 设计分发系统,支持连接类型保存时反写。

4. 设计分发基础资料,支持设置分发附件url和组织隔离分发。

5. 设计分发设置,可微调分发附件及组织隔离,绑定WebAPI编码。


6. 配置一些公用的自定义API(因为自定义函数暂不支持执行sql,所以转为功能相近的自定义API),如图:

7. 配置相关的WebAPI(异构系统需要配置的连接类型、连接配置、数据源这里不多赘述)。

8. 以下为核心的服务流程配置截图。
(1)基础资料对应的服务流程,每个基础资料需要配置2个服务流程(复制物料即可):

(2)main-GetSetting:

(3)main-SendBase:

(4)服务流程-基础资料-单个:


(5)服务流程-基础资料-所有:


9. 分发日志查询。


10. 基础资料列表点选分发,并查看分发日志。

方案的可推广价值
本方案的最大的推广价值在于它的通用扩展性,没有行业、领域的壁垒,扩展基础资料和分发异构系统都非常方便。
1. 新增一个基础资料,分发到现有异构系统,我方工作量10分钟可以配置完成。
2. 新增一个分发的异构系
实践案例|基于服务流程的主数据分发新实践
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



