用于将后端即服务与在线服务集成的方法、系统和计算机可读介质技术方案

技术编号:31564395 阅读:31 留言:0更新日期:2021-12-25 10:50
一种方法、系统和计算机可读介质,用于使客户端应用能够访问在线服务例如在线AI服务,而无需客户端应用的开发者完全理解在线服务的接口契约并编写将客户端应用直接与在线服务的接口集成的软件代码。在一方面中,自动分析在线服务的接口契约,并且向客户端应用开发者呈现用于配置客户端应用或客户端应用数据库与在线服务之间的数据字段的映射的选项。基于开发者的配置选择,自动生成用于在客户端应用或客户端应用数据库与在线服务之间交换数据的软件代码。软件代码的触发条件可以是数据库状态的变化、预定义的事件或从客户端应用接收的请求。收的请求。收的请求。

【技术实现步骤摘要】
【国外来华专利技术】用于将后端即服务与在线服务集成的方法、系统和计算机可读介质


[0001]本公开内容涉及用于云计算平台的后端即服务的技术。具体地,本公开内容涉及用于由后端即服务生成以下软件代码的技术,所述软件代码使客户端应用能够与后端即服务进行交互以使用由云计算平台的在线服务提供的RESTful应用程序接口(application program interface,API)来访问在线服务。

技术介绍

[0002]云计算是基于网络的计算(例如,基于因特网的计算)的形式,其使得能够通常通过因特网访问可配置的计算资源和能够以最小的管理工作快速地提供的较高级别的服务的共享池。云计算是另一范式转变,其随着从基于大型机的计算向被实现为服务的基于客户端

服务器的计算的转变而产生。云计算服务提供商通常通过按需创建供消费者使用的虚拟机来递送三种主要类型的服务(下文中称为云计算服务),基础设施即服务(infrastructure as a service,IaaS)、平台即服务(platformas a service,PaaS)和软件即服务(software as a service,SaaS)。IaaS提供可以供消费者租用和使用的计算基础设施。计算基础设施包括被虚拟化并在消费者之间共享的物理计算资源(例如处理器、存储器、存储装置、服务器、联网部件等)。PaaS提供如下平台,该平台允许消费者在不必构建和维护计算基础设施的情况下开发、运行和管理软件应用。SaaS基于订阅通过因特网按需提供在计算基础设施上运行的软件应用。
[0003]在线服务通过HTTP或HTTPS协议提供RESTful API。REST(表述性状态转移)或RESTful API使用HTTP或HTTPS请求在万维网上GET(查看),PUT(更新),POST(创建)和DELETE(删除)数据。RESTful Web服务通常是无状态的:RESTful服务本身不存储状态信息,而由客户端负责存储所有状态信息(例如会话数据)。在线服务包括提供运行网络服务器的RESTful API的软件应用,该网络服务器在物理机或虚拟机上运行。
[0004]客户端应用(即,在客户端计算设备上运行的软件应用)可以访问由在线服务提供的RESTful API。在线服务通常包括描述RESTful API的接口契约。接口契约定义并指定用于与在线服务进行交互的RESTful API的输入和输出。然而,在一些
,尤其新出现的
如人工智能,由在线服务提供的RESTful API尚未标准化。由于缺乏管理由在线服务提供的RESTful API的标准,每个在线服务的接口契约是不同的。例如,在没有接口契约的标准的情况下,不存在利用由各种在线服务提供的RESTful API访问和交换数据所需的数据格式的标准。为了在软件应用开发中使用给定的在线服务,应用开发者必须具有足够的技能和专长,以使用软件应用打算使用的给定的在线服务的接口契约来分析、理解和集成软件代码。由于新
也可能遭受在该
缺少具有足够技能和经验的应用开发者的事实,这个问题进一步恶化。

技术实现思路

[0005]本公开内容提供用于由云计算平台的后端即服务(通常已知且在下文中称为后端服务)生成软件代码以便于客户端应用访问在线服务的方法、系统和处理器可读介质。后端服务使在客户端设备上运行的客户端应用能够与后端服务进行交互,以使用由在线服务提供的RESTful应用程序接口(API)(例如,非标准化的基于HTTP的RESTful API)来访问在线服务。换言之,不需要客户端应用的软件开发者完全理解在线服务的接口契约或基于在线服务的接口契约编写软件代码,以便使客户端应用能够使用由在线服务提供的RESTful API来访问在线服务。
[0006]与用于实现上述对在线服务的访问的现有技术相比,本公开内容中描述的方法可以表现出一个或若干个优点。第一,该方法可以消除客户端应用的软件开发者理解在线服务的接口契约以便客户端应用使用由在线服务提供的Restful API的需求。第二,该方法可以允许客户端应用的软件开发者编写一组软件功能并使用该组软件功能来与由多个不同的在线服务提供的不同的Restful API对接。第三,该方法可以通过向客户端应用的软件开发者所使用的客户端设备提供简化的用户接口以及通过生成用于与由在线服务提供的Restful API对接的软件代码来降低编程错误的风险。第四,该方法可以向客户端应用的软件开发者警告客户端应用当前正在使用的在线服务的接口契约的变化。第五,该方法可以允许客户端应用仅处理在线服务输出数据的客户端应用感兴趣的那些部分,从而减少客户端应用需要处理的数据量。第六,该方法可以减少或消除客户端应用处理与向在线服务发送请求或存储来自在线服务的响应有关的数据库访问的需求。第七,该方法可以减少或消除客户端应用处理监视数据库状态以进行更新的需求,所述更新可以触发客户端应用访问在线服务的需求。第八,该方法可以减少或消除客户端应用处理事件的监视的需求,所述事件可以触发客户端应用访问在线服务的需求。另外预期的优点和技术效果可以从本公开内容中显而易见。
[0007]根据本公开内容的第一方面,提供了一种由云计算平台的后端服务执行的方法。后端即服务从在线服务接收在线服务的接口契约。后端服务基于对接口契约的内省来生成配置选项。后端服务将配置选项发送至与客户端应用的软件开发者相关联的开发者设备。后端服务从开发者设备接收配置数据。后端服务基于由在线服务提供的RESTful API的表示和从开发者设备接收到的配置数据来生成软件代码。由在线服务提供的RESTful API的表示基于对在线服务的接口契约320的内省而生成。所生成的软件代码包括可执行指令,所述可执行指令在由后端服务执行时使客户端应用能够与后端服务124进行交互,以使用由在线服务提供的RESTful API来访问在线服务。在一些方面中,由在线服务提供的RESTful API是非标准化的基于HTTP的RESTful API。
[0008]根据前述方面,该方法还包括:响应于检测到触发条件,由后端服务执行软件代码的可执行软件指令。后端服务执行软件指令会使后端服务进行以下操作:向在线服务发送在线服务查询;从在线服务接收在线服务响应;以及将客户端数据发送给客户端数据接收者,所述客户端数据至少部分地基于在线服务响应。
[0009]根据前述方面,配置选项包括用于将客户端数据的一个或更多个客户端数据字段映射到在线服务的一个或更多个在线服务数据字段的多个选项。向开发者设备提供数据字段映射选项可以实现上面列出的优点中的一个或更多个,例如简化在开发者设备上呈现的
用户接口或减少编程错误。
[0010]根据前述方面中的任一方面,配置数据包括响应数据的一个或更多个客户端数据字段到在线服务的一个或更多个在线服务数据字段的映射。从开发者接收数据字段映射选择可以实现上面列出的优点中的一个或更多个,例如简化用户接口中的至少一项以及减少编程错误。
[0011]根据前述方面中的任一方面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:由后端服务从在线服务接收接口契约;由所述后端服务向开发者设备发送基于对所述接口契约的内省而确定的配置选项;由所述后端服务从所述开发者设备接收配置数据;以及由后端服务基于对所述接口契约的内省和所述配置数据生成包括可执行指令的软件代码。2.根据权利要求1所述的方法,还包括:响应于检测到触发条件,由所述后端服务执行所述软件代码的可执行指令以进行如下操作:向所述在线服务发送在线服务查询;从所述在线服务接收在线服务响应;以及向客户端数据接收者发送响应数据,所述响应数据至少部分地基于所述在线服务响应。3.根据权利要求1或2所述的方法,其中,所述配置选项包括用于将所述响应数据的一个或更多个客户端数据字段映射到所述在线服务的一个或更多个在线服务数据字段的多个选项。4.根据权利要求3所述的方法,其中,所述配置数据包括所述响应数据的一个或更多个客户端数据字段到所述在线服务的一个或更多个在线服务数据字段的映射。5.根据权利要求2至4中任一项所述的方法,其中,所述响应数据是所述在线服务响应的扁平化版本。6.根据权利要求1至5中任一项所述的方法,其中,所述客户端数据接收者是数据库。7.根据权利要求6所述的方法,其中,发送至所述在线服务的所述在线服...

【专利技术属性】
技术研发人员:忠文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1