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

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

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

某大型集团公司的内部系统错综复杂,实施工作涉及异构系统间的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. 新增一个分发的异构系统,以支持现有基础资料的分发。我方工作量耗时取决于配置连接器、WebAPI的熟悉程度,熟手一般1~2小时搞定。

3. 支持基础资料字段级的配置,只要元数据中有对应数据库字段的都可以配置。

4. 物料、供应商、客户等有组织隔离功能的基础资料,可一键勾选并按可使用组织进行分发。

5. 当未来集成云平台可支持其它基础资料自动创建生成WebAPI时,WebAPI可不再手工建立,分发配置url和数据源后,根据用户选择的字段动态生成WebAPI。


此外,在本方案实现后,快速并高效地完成了客户的主数据分发功能,支撑了该项目的上线,并提升了客户满意度。


注意事项


1. 我们需要触发每个基础资料保存或审核时的分发动作,但在集成云目前难以完全用脚本实现,因此需要建立事件触发的服务流程,在服务流程中人工地选择触发时机(如保存、审核)。在新建一个基础资料时,最快的方式是复制原有基础资料的服务流程,修改成现有基础资料的服务流程。


上传图片


在本案例中,我们在完成对公共流程和子流程的定义后,每个基础资料就可以复制在框架中已配好的服务流程,如基于“物料-单个”,修改图中圈中部分,以形成新的基础资料的服务流程。


2. WebAPI因为有脚本动态调用,可省去在服务流程中依赖,省去在流程图中拉控件,改为脚本调用,如下图:


上传图片


3. 按使用组织隔离分发时,兼容苍穹标识的组织隔离类型,包括“全局共享、管控范围内共享、自由分配、逐级分配、私有”,且分发日志记录详细的分发消息:


上传图片


4. 为了简化WebAPI分发报文,我们写了一个专门的微服务在post请求前进行转换,主要是把报文中的多语言文本换成文本,涉及到引用组织字段的去掉它的多视图节点orgstructure,如下图:


上传图片


5. 在分发附件时,我们选择推送附件的url。在建立获取通用附件OpenAPI的基础上,我们封装了一个自定义API来获取并组装附件url,如下图:


上传图片


相关资料


1. 如何在服务流程中进行API集成


2. 连接配置(类型)动态加载


3. 开发示例 - 集成服务云服务流程转API的简单应用


4. 星瀚开发通过代码调用集成云资源场景案例


5. 服务流程的子流程在执行后该如何查看变量值


6. 非标准场景下集成附件同步




#往期推荐#

# 周刊第025期:集成云服务流程典型案例合集,一应俱全!

如何通过服务流程进行分批并发处理

如何通过服务流程调用微服务集成

实践案例 | 服务流程,大数据量集成好帮手


更多精彩内容,“码”上了解!↓

上传图片

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

某大型集团公司的内部系统错综复杂,实施工作涉及异构系统间的180+接口的集成,其中主数据分发工作量占比近40%,这让项目团队不得不思考一...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息