一种开放平台的SDK自动打包方法与流程

文档序号:15636050发布日期:2018-10-12 21:29阅读:2608来源:国知局

本发明涉及开放平台sdk技术领域,尤其涉及一种开放平台的sdk自动打包方法。



背景技术:

当前,金融机构通过互联网开放平台开放金融服务,具体以api形式供第三方平台调用,实现金融服务开放共享。为方便、快捷接入开放平台,开放平台通过sdk封装api通讯、数据传输等,减少第三方接入的难度、复杂度,缩短第三方接入时间,快速发展业务,满足互联网产品的发展日新月异的需求。而sdk封装基础服务工作量大,占用这个服务开放的开发时间的三分之一,为保障产品服务高质量、快速投产上线,缩短整个产品周期,需要在业务处理开发之外的工作通过自动化、配置化和开发任务并行处理来解决,让产品开发周期时间用在业务处理开发,保证质量,满足银行业务发展需要。

目前sdk代码分层不够明确,公共使用代码、产品更新和新增不影响的通讯、数据加减密等代码,导致所有的sdk代码都需要在更新和新增后进行测试,增加了代码走查和测试的工作。sdk开发时间太长,占用产品开发总时间的百分比过高,严重影响了产品营销和使用,不满足互联网发展的需求。

并且,现有的sdk是通过程序员人工编码形成,导致每次新增产品或产品服务接口变化都时需要开发人员对sdk开发和更新,需要对代码进行走查、版本管理、测试审查等流程。现有sdk公共代码和接口代码维护均在一起,每次更新和开发,需要进行对整体代码的联调测试。



技术实现要素:

本发明的目的在于:为解决现有技术中sdk都是通过人工编码,导致每次对sdk开发和更新需要大量的时间且需要耗费大量人力的问题,本发明提供一种开放平台的sdk自动打包方法。

本发明的及技术方案如下:

一种开放平台的sdk自动打包方法,包括如下步骤:

s1:api管理中心录入第三方平台的需求信息,根据需求信息自动生成xml文件;

s2:xml文件被java代码读到内存中成为与自动代码引擎的数据结构相符合的数据;

s3:将s2中得到的数据传递到自动生成代码引擎生成sdk接口代码;

s4:用java代码将sdk接口代码生成ant打包脚本;

s5:通过java代码发送指令来运行ant打包脚本;

s6:通过ant脚本编译整个sdk架构所包含的代码,生成.jar包,其中,sdk架构所包含的代码包括sdk接口部分的代码和协议层代码以及数据校验层代码。

s7:将整个sdk架构里面的.jar包和配置文件共同打包称zip包;所示配置文件为第三方平台使用sdk时候需要配置的文件.properties,它包括证书密码、appid、网络传输域名、证书传输类型、开放平台的公钥。

具体地,所述接口代码包括实体类和调用类,实体类作为调用类方法的参数,工接入的第三方调用。

所述s3的具体步骤为:根据s2中数据关系生成导入包结构,然后根据s2中所得数据生成sdk接口类和sdk实体类;

具体地,sdk接口类的生成方法为:根据s2中数据中的接口名生成sdk接口类的调用方法和调用方法形式参数;

sdk实体类的生成方法为:s2中数据中的接口名生成sdk实体类名和根据s2中数据中的属性名生成sdk实体类的属性。

具体地,所述sdk架构包括:

sdk接口层单元,用于实现第三方平台的调用;

客户化配置单元,用于第三方平台配置公共信息;

接口数据校验规则引擎单元,用于第三方及输入的数据进行数据规范及业务规范校验;

安全处理单元,用于对传输过程中的数据进行签名和加密;

配置处理单元,用于将客户化配置单元配置的公共信息应用于sdk运行;

通讯处理单元,用于处理sdk与开放平台的传输通讯。

采用上述方案后,本发明的有益效果如下:

(1)sdk包在api更新和新增无需人工参与编码。sdk自动化后,在api新增和更新后无需人工编码,在api管理中心配置好新增或者更新接口信息,选择接口打包sdk,立即可生成sdk包提供测试,减少了开发人员参与,同时可实现接口的快速测试等。代码至少成千上万行,每一句代码之间都是有联系的,所有代码之间联系性非常强,一个标点出错程序都可能导致瘫痪,自动打包无需人工修改代码,节约了大量成本,同时提高了可靠性。

(2)缩小了产品开发周期,给予产品开发更多时间。api的自动生成是在接口开发完成后进行,以前人工编码需要1-3个星期开发完成,现在可立即生成,减少了非业务流程开发的时间,缩短了产品开发周期,能给予产品开发、测试更多时间,保证产品高质量上线。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。

图1为本发明的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决现有技术总sdk都是通过人工编码,导致每次对sdk开发和更新需要大量的时间且需要耗费大量人力的问题,本发明中,代码根据需求excel文档自动分析生成结构化的xml,把需求文档翻译成为生成java代码需要的数据(其中包含代码之间的依赖关系和调用关系),api模板的构建以及根据模板利用自动生成代码引擎自动生成代码。根据自动生成代码引擎自动生成技术方案,技术实现是开发人员积极参与,辛勤劳动的工作成果,凝聚了开发人员的心血。sdk自动代码生成对于互联网机构能够快速适应产品迭代日新月异的需求,大大提高了生成效能和价值输出。值得一提的是,本发明中所说的java代码只是一种编码方式,本发明的方法在实现过程中,不限于java代码,还可以用php、python代码,同样可以达到本发明的效果。

具体而言,本发明的一种开放平台的sdk自动打包方法,包括如下步骤:

s1:api管理中心录入第三方平台的需求信息,根据需求信息自动生成xml文件;

s2:xml文件被java代码读到内存中成为与自动代码引擎的数据结构相符合的数据;具体实施中,自动代码引擎可以采用freemaker模板引擎;

所述s3的具体步骤为:根据s2中数据关系生成导入包结构,然后根据s2中所得数据生成sdk接口类和sdk实体类;

具体地,sdk接口类的生成方法为:根据s2中数据中的接口名生成sdk接口类的调用方法和调用方法形式参数;

sdk实体类的生成方法为:s2中数据中的接口名生成sdk实体类名和根据s2中数据中的属性名生成sdk实体类的属性。

s4:用java代码将sdk接口部分代码生成ant打包脚本;

s5:通过java代码发送指令来运行ant打包脚本;

s6:通过ant脚本编译整个sdk架构所包含的代码,生成.jar包,其中,sdk架构所包含的代码包括sdk接口部分的代码和协议层代码以及数据校验层代码。

所述sdk架构包括:

sdk接口层单元,用于实现第三方平台的调用;

客户化配置单元,用于第三方平台配置公共信息;

接口数据校验规则引擎单元,用于第三方及输入的数据进行数据规范及业务规范校验;

安全处理单元,用于对传输过程中的数据进行签名和加密;

配置处理单元,用于将客户化配置单元配置的公共信息应用于sdk运行;

通讯处理单元,用于处理sdk与开放平台的传输通讯。

s7:将整个sdk架构里面的.jar包和配置文件共同打包称zip包;所示配置文件为第三方平台使用sdk时候需要配置的文件.properties,它包括证书密码、appid、网络传输域名、证书传输类型、开放平台的公钥。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1