提供应用编程接口代理服务的端点管理系统技术方案

技术编号:17367150 阅读:71 留言:0更新日期:2018-02-28 19:49
描述一种端点管理和代理系统,用户可以通过所述端点管理和代理系统来管理和启用可用于致使在远程或第三方系统上执行程序代码的应用编程接口(“API”)的暴露。公开促成对用户请求的处理以在远程系统上进行某些任务的系统和方法。所述端点管理系统允许应用开发者来定义和指定映射到与所述远程系统关联的第二API的第一代理API。所述端点代理系统接收对执行所述代理API的请求,确定所述API映射,并且发送一个或多个后端API请求以由相关联的远程系统执行程序代码。从所述远程系统的响应是由所述端点代理系统接收,所述端点代理系统解析和/或变换与所述响应关联的结果并且生成用于回应于用户计算系统的输出结果。

An endpoint management system that provides an application programming interface agent service

An endpoint management and agent system is described. Users can manage and enable the exposure of application programming interfaces (\API\) that can cause execution of program codes on remote or third party systems through the endpoint management and agent system. A system and method that publicly facilitates the processing of a user's request for certain tasks on a remote system. The endpoint management system allows the application developer to define and specify the first agent API mapped to the second API associated with the remote system. The endpoint agent system receives the request for executing the proxy API, determines the API mapping, and sends one or more backend API requests to execute the program code from the associated remote system. The response from the remote system is received by the endpoint agent system, and the endpoint agent system parses and / or transforms the results associated with the response and generates output results for user computing system.

【技术实现步骤摘要】
【国外来华专利技术】提供应用编程接口代理服务的端点管理系统其他申请的交叉引用本申请的申请人先前在2014年9月30日提交以下美国专利申请:另外,本申请的申请人同时在2015年4月8日提交以下美国专利申请:以上所提到的申请的公开内容的全文以引用的方式并入于此。
技术介绍
一般来说,计算装置利用通信网络、或是一系列的通信网络交换数据。公司和组织操作计算机网络,计算机网络将多个计算装置互连以支持操作或将服务提供到第三方。计算系统可以位于单个地理位置或位于多个不同地理位置(例如,经由专用通信网络或公共通信网络互连)中。具体来说,数据中心、或是数据处理中心(在本文中一般称为“数据中心”)可以包括多个互连计算系统以将计算资源提供给数据中心的用户。数据中心可以是代表组织操作的专用数据中心或代表公众或为了公众的利益操作的公共数据中心。为了促成数据中心资源的增加的利用率,虚拟化技术可以允许单个物理计算装置托管作为单独计算装置向数据中心的用户呈现并且进行操作的虚拟机的一个或多个实例。利用虚拟化,单个物理计算装置可以动态方式创建、维护、删除或以其他方式管理虚拟机。继而,用户可从数据中心(包括单个计算装置或联网计算装置的组合)请求计算机资源,并且被提供有不同数量的虚拟机资源。附图说明当结合附图进行时,如通过参考以下详细描述同样更好地理解的,将更易地了解本公开的前述方面以及附带优点中的许多优点,其中:图1是根据示例方面的描绘用于使用端点管理系统来提供应用编程接口代理服务的说明性的环境的方框图。图2描绘了根据示例方面的计算装置的一般架构,计算装置可实现以实施端点管理系统的各种子系统和单元的各种特征。图3描绘了根据示例方面的将各种端点管理配置选项提供给用户的示例用户界面。图4A和图4B是根据示例方面的示出如通过端点管理系统实现的应用编程接口代理例程的流程图。图5是示出包括客户端计算装置和服务提供商计算机网络的联网计算环境的实施方案的方框图。具体实施方式一般来说,本公开的方面描述一种端点管理系统,用户(诸如应用开发者)可以通过所述端点管理系统来管理和启用可用于致使在远程或第三方系统上执行程序代码的应用编程接口(“API”)的暴露。具体来说,公开促成对用户请求的处理以在远程或第三方系统上进行某些任务的系统和方法。所述端点管理系统允许应用开发者来定义和指定映射到与所述远程或第三方系统关联的第二“后端”API的第一代理API。远程或第三方系统可以包括例如在本地网络上的系统、在开放或公共可访问的网络上的系统、托管一个或多个服务(诸如虚拟计算环境)的系统等等。由端点管理系统从用户计算系统接收对执行代理API的请求,从而基于各种配置选项的由用户提供的规范确定API映射。端点管理系统继而生成并且发送一个或多个后端API请求以由相关联的远程或后端系统执行程序代码。从远程或后端系统的响应是由端点管理系统接收,所述端点管理系统可以随后分析、解析和/或变换与所述响应关联的结果并且生成用于回应于用户计算系统的输出结果。因此,在本文所述的实施方案中,开发者可以描述暴露API(例如,代理API)并且定义逻辑和一个或多个端点(例如,后端API)。例如,基于云的“代理”API可以由客户端装置调用到端点管理系统,其中端点管理系统知道要为代理API选择哪些端点。端点可以是异构的(例如,web服务、物联网(“IoT”))装置、其他基于云的服务提供商功能、数据中心功能等等),并且还可包括其他API。例如,可将映射到旧的基于SOAP的API的表示状态转移(“REST”)API暴露。在一些实施方案中,代理机群可以被实现为端点管理系统的部分以提高性能、效率和可扩展性。本文中描述的附加特征包括:基于单个代理API调用来链锁或链接多个功能或后端API调用(依赖或独立的)的能力;端点管理系统的用户的附加安全机制,用于管理后端API和服务的暴露;对从后端系统返回的结果的动态且智能的高速缓存,用于提高效率并且解放远程和后端系统以免进行可产生可由多个代理API使用的结果的重复任务;性能管理,用于保护远程和/或后端系统以免因高容量的API请求而过载,包括对呼入请求进行节流(例如,在给定时段内将对请求的服务限制到某个数量)的用户可配置的设置和对所接收的请求的计量。端点管理系统可以各种协议格式实施代理接口配置,包括但不限于超文本传输协议(HTTP)、HTTP安全(“HTTPS”)、HTTP2、RESTAPI、远程过程调用(“RPC”)、二进制API、WebSockets、消息队列遥测传输(“MQTT”)、约束应用协议(“CoAP”)、Java消息服务(“JMS”)、高级消息队列协议(“AMQP”)、简单(或流式)文本定向消息协议(“STOMP”)、电子数据交换(“EDI”)、简单邮件传输协议(“SMTP”)、互联网消息访问协议(IMAP)、邮局协议(“POP”)、文件传输协议(“FTP”)、开放数据库连接性(“ODBC”)、Thrift、协议缓冲区、Avro、Cap’nProto、FlatBuffers和其他类型协议。这些协议中的一些协议描述网络和数据格式,且一些协议可充当其他格式的容器。以上所列出的协议不包含的其他数据格式可以包括例如:JavaScript对象表示法(“JSON”)、可扩展的标记语言(“XML”)、简单对象访问协议(“SOAP”)、超文本标记语言(“HTML”)、逗号分隔的值(“CSV”)、标签分隔的值(“TSV”)、INI文件、YAMLAin't标记语言(“YAML”)、二进制JSON(“BSON”)、MessagePack、Sereal和Bencode。这些协议和数据格式中任一者可以任何组合用于API代理映射的任一端点。例如,RESTAPI可映射到二进制API;HTTPAPI可映射到远程过程调用;第一二进制API可映射到第二二进制API;并且依此类推。现将参考附图描述本公开的特定实施方案和示例应用。这些实施方案和示例应用旨在用于本公开的说明而非限制。参考图1,将描述示出计算环境100的实施方案的方框图。图1中示出的示例包括计算环境100,其中用户计算装置102的用户可以经由网络104A和/或网络104B访问由端点管理系统106、端点代理系统132和后端系统114提供的各种服务。在图1的示例中,示出了各种示例用户计算装置102,包括桌上型计算机、膝上型计算机、移动电话和平板电脑。一般来说,用户计算装置102可以是各种各样的计算装置,包括个人计算装置、膝上计算装置、手持计算装置、终端计算装置、移动装置(例如,移动电话、智能电话、平板计算装置、电子书阅读器等等)、无线装置、各种电子装置以及用具等等。另外,用户计算装置102可以包括在相同或不同的数据中心上运行的web服务,其中例如不同web服务可以编程方式彼此通信,以便执行本文中描述的一种或多种技术。另外,用户计算装置102可以包括物联网(IoT)装置,诸如互联网用具和被连接的装置。计算环境100的其他部件(例如,端点管理系统106)可向用户计算装置102提供一个或多个用户界面、命令行界面(CLI)、应用编程接口(API)和/或其他编程接口用于利用由相应部件提供的一个或多个服务。此类服务可以包括生成并且上传用户代码、调用用户代码(例如,提本文档来自技高网...
提供应用编程接口代理服务的端点管理系统

【技术保护点】
一种用于提供应用编程接口的端点管理的系统,所述系统包括:电子数据存储区,所述电子数据存储区被配置为存储应用编程接口(“API”)映射定义;以及端点系统,所述端点系统包括一个或多个硬件计算装置,所述一个或多个硬件计算装置执行特定计算机可执行指令,其中所述端点系统与所述电子数据存储区通信,并且被配置为至少:接收多个API映射定义,其中每个相应API映射定义将代理API与至少一个端点API关联;由特定代理API从调用系统接收对执行程序代码的请求;至少部分基于所述接收的请求和所述特定代理API确定与所述特定代理API关联的API映射定义;将所述请求变换为端点请求以由端点API系统处理,其中所述请求至少部分基于所述API映射定义进行变换,并且其中所述端点请求包括用于在所述端点API系统上执行所述程序代码的指令;将所述端点请求传送到所述端点API系统,以便致使在所述端点API系统上执行所述程序代码;从所述端点API系统接收端点结果,其中所述端点结果通过在所述端点API系统上执行所述程序代码生成;将所述端点结果变换为代理结果,其中所述端点结果至少部分基于所述API映射定义进行变换;以及将返回响应提供到所述调用系统,其中所述返回响应包括至少所述代理结果。...

【技术特征摘要】
【国外来华专利技术】2015.04.08 US 14/682,0331.一种用于提供应用编程接口的端点管理的系统,所述系统包括:电子数据存储区,所述电子数据存储区被配置为存储应用编程接口(“API”)映射定义;以及端点系统,所述端点系统包括一个或多个硬件计算装置,所述一个或多个硬件计算装置执行特定计算机可执行指令,其中所述端点系统与所述电子数据存储区通信,并且被配置为至少:接收多个API映射定义,其中每个相应API映射定义将代理API与至少一个端点API关联;由特定代理API从调用系统接收对执行程序代码的请求;至少部分基于所述接收的请求和所述特定代理API确定与所述特定代理API关联的API映射定义;将所述请求变换为端点请求以由端点API系统处理,其中所述请求至少部分基于所述API映射定义进行变换,并且其中所述端点请求包括用于在所述端点API系统上执行所述程序代码的指令;将所述端点请求传送到所述端点API系统,以便致使在所述端点API系统上执行所述程序代码;从所述端点API系统接收端点结果,其中所述端点结果通过在所述端点API系统上执行所述程序代码生成;将所述端点结果变换为代理结果,其中所述端点结果至少部分基于所述API映射定义进行变换;以及将返回响应提供到所述调用系统,其中所述返回响应包括至少所述代理结果。2.如权利要求1所述的系统,其中所述端点系统还配置为将所述端点结果的副本存储在第二电子数据存储区中,所述第二电子数据存储区被配置为存储从相应端点API系统接收的高速缓存结果。3.如权利要求1所述的系统,其中所述端点系统还配置为从第二电子数据存储区访问所述端点结果的高速缓存副本,所述第二电子数据存储区被配置为存储从相应端点API系统接收的高速缓存结果。4.一种系统,所述系统包括:端点代理系统,所述端点代理系统包括适于执行特定计算机可执行指令的一个或多个硬件计算装置并且与电子数据存储区通信,所述电子数据存储区被配置为存储应用编程接口(“API”)映射定义,其中所述端点代理系统被配置为至少:从用户计算装置接收对执行代理API的请求;至少部分基于所述接收的请求和所述代理API确定与所述代理API关联的API映射定义;将所述请求变换为后端请求以由后端API系统处理,其中所述请求至少部分基于所述API映射定义进行变换,并且其中所述后端请求包括用于在所述端点API系统上执行后端API的指令;将所述后端请求传送到所述端点API系统,其中所述后端请求适于致使在所述端点API系统上执行所述后端API;从所述后端API系统接收后端结果,其中所述端点结果通过在所述后端API系统上执行所述后端API生成;将所述后端结果变换为输出结果,其中所述后端结果至少部分基于所述API映射定义进行变换;以及将所述输出结果提供到所述用户计算装置...

【专利技术属性】
技术研发人员:乔纳森·保罗·汤普森
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国,US

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

1