实践案例 | 自定义API,无惧异构系统七十二变
小编推荐
大型企业通常有统一的平台和规范,在进行异构系统集成时,我们必须考虑如何适用这些规范。本期案例分享了如何利用开放平台的“自定义API”功能,设计接口报文,实现额外逻辑,使异构系统之间的数据也能按规范传输。
业务背景
某建材行业的大型央企,拥有多个业务系统,业务系统之间的数据流转,需经过接口治理中心作为“中间人”透传。接口治理中心不参与具体业务操作,它为业务系统提供数据传输、接口管理、接口参数规范化等功能。金蝶核算系统想要接入主数据、财司、hr多个系统的数据,需要按照治理中心的规范改造接口。
业务痛点
但在进行接口改造方案评估的过程中,我们发现存在以下难题:
1. 企业提供的接口规范,有特定的接口格式,以及很多与苍穹实体无关的字段。苍穹开发平台提供了零代码配置实体操作API功能,但不能新增非实体字段参数,返回参数格式固定,难以适配治理中心的接口规范。
2. 接口规范里,要求返回报文标准字段定义为全大写,平台反序列化的结果,首字母为小写。
3. 直接通过零代码配置的接口对主数据进行变更,比如行政组织变更上级组织,有可能对业务产生影响。
4. 客户要求保留主数据快照记录,便于数据版本溯源,快速定位因数据变更产生的问题。
解决方案
接下来为大家介绍,我们如何通过开放平台的“自定义API”功能解决以上场景的问题。
1. 通过【开放平台】->【自定义API】,编写java插件,按照接口规范封装请求报文和返回报文。具体封装过程可参考:
https://vip.kingdee.com/link/s/lBTwm
2. 新建“自定义API”,注册java插件。
3. 将“出参仅返回Data域”开关打开。
4. 通过【开放平台】->【自定义API】->【自定义序列化插件】,实现反序列化接口,重写反序列化方法,解决返回报文首字母小写的问题。
具体实现方法见:https://vip.kingdee.com/link/s/lbqXU
5. 设计中间表,暂存对业务有影响的主数据变更操作,待相关业务人员评估过后,手动执行。 对业务无影响的变更操作,直接更新,并保存对应更新记录。
6. 手动更新容易出现将旧版本覆盖新版本问题。因此,对实体增加版本号字段,进行版本化管理。 如以下流程图所示:
方案的可推广价值
1. 开放平台的“自定义API”特性,解决了客户现场复杂的业务场景,降低了在多系统之间数据传输的难度。
2. 对于大型企业来说,都会有统一的平台和规范,对系统、接口、数据进行相关的管理。异构系统集成,主打就是一个融入。自定义API可以更为灵活地设计接口报文,实现额外逻辑,满足不同企业的接口规范和业务需求。
实践案例 | 自定义API,无惧异构系统七十二变
本文2024-09-23 00:54:17发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142495.html