跨平台接口案例

在最近工作中,自研系统需要跟其他系统打通,做数据交换,目前实现三种方式。

项目背景

为某区教育局研发年度预算填报系统,分国拨预算,专项预算,二次拨款,手工新增四类业务类型进行预算填报,该系统只负责填报填报,完成后需要推送数据到数据处理平台,数据处理好后最后推送至区财政局,进行预算批复以及预算下达。
在填报系统中,会先接收已有的数据,推送已完成的数据,共享数据三类接口业务。

接收数据

在做填报时,需要接收填报模板,根据模板来填报数据。
数据来源于其他平台,检测数据本身的正确性不在考虑范围之内,重点在于接收的数据识别与转换是否正确,数据与填报系统是否冲突。如填报系统设置为必填字段,未接收到该字段或该字段接收错误,导致的白屏异常问题。
接口说明举例

通过中间库,实现专项资金管理平台与区级互联系统二次拨款项目交互的功能。
接口有:
项目信息同步:实现专项资金管理平台向中间库推送项目后,将项目信息同步至区级互联系统。对于附件,采用ftp方式 。
项目接收成功:实现在区级互联平台接收项目成功时,将接收成功的信息同步至中间库。
项目退回:实现区级互联平台退回项目至专项资金管理平台。

接口名称项目信息同步
用 途实现专项资金管理平台向中间库推送项目后,将项目信息同步至区级互联系统
提供方中间库
调用方区级互联系统
传入参数dwdnIn:014101(单位编码)
返回值消息、基本信息、附件信息

消息结构

字段名说明备注
MESS_ID内码主键:必填与其他表关联
C1单位编码必填
C2项目唯一码如13333
C3操作类型A新增;E修改;D删除
C4发送时间如2020-01-01 12:01:01
C5是否有项目基本信息1有,0没有
C6是否有项目附件1有,0没有

基本信息

字段名说明备注
C1项目名称
C2教育资金类别
C3项目总投资
C4是否项目评审
C5评审金额
C6评审结果
C7送审机构
C8项目申请金额

附件信息

字段名说明备注
C3附件名称
C4附件内容
C5附件路径

测试点:

  1. 接收的XML数据解析正确性,对接收系统而言,字段可能存在冗余或缺失,字段名称不匹配情况;
  2. 尽可能模拟所有异常的数据来校验程序的转换,类似构造单元测试中的驱动程序;
  3. 若推送平台测试时,还需要对接口传的参数进行负向测试,如系统无法识别的参数。

推送数据

在填报完成后,需要将已填写的数据,推送给数据处理平台。
因填报还会上传附件,因此待推送数据最终实现成,打包成附件的形式发送,测试的重点在于推送的数据字段是否齐全,数据是否实现覆盖,数据的转换是否失真。
接口举例

将支出政策库有关的信息导出成zip文件,涉及政策基本信息、附件、以及附件对应关系表。
ZIP文件组成由三部分组成:
zckjbxx.xml:基本信息。
fjsmb.xml:附件对应关系表。
files文件夹:附件全部放入files	文件夹。

基本信息

字段名说明备注
ID
JSDE955单位编码
ZCWH政策文号
ZCMC政策名称

测试点:

  • 推送的数据格式,是否严格按双方敲定接口说明实现;
  • 推送的数据正确性需要测试确认,数据的转换是否失真;
  • 推送的数据异常校验,测试尽可能为对方平台提供覆盖齐全的测试数据,数据的构造可参考等价类设计测试用例

单点登录

在本系统与推送系统实现双向链接跳转,实现共通登录功能。
假如用户在A系统点击B系统的菜单,新开窗口跳转到B系统进行相关业务操作,无需用户登录B系统,可直接使用,反之亦然。
仅是跳转,用户和密码以及数据,两个平台各自使用。若存在找不到对应的user以及生成的key,则跳转失败。
想不到好的测试点,能用就行哈哈哈

总结

跨平台接口从实现上可以分三类:
实时传输数据:如A系统点击某功能,B系统接收到相应,开始执行B系统程序,得到结果再返回A系统。
共享数据:如代码托管一样,A系统生成的数据或功能放共享视图上,B系统需要的时候直接去。
主动获取数据:如A系统已经完成某功能,需要准备传输的数据已经准备好(如Zip包,附件等),B在需要该数据去请求A的接口,再传输相关数据。
吐槽:跨系统调接口工作效率超级超级低。。。。。。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页