Endpoint management system providing an application programming interface proxy service
First Claim
1. A system for providing endpoint management of application programming interfaces, the system comprising:
- an electronic data store configured to store application programming interface (“
API”
) mapping definitions that map a plurality of proxy APIs associated with an endpoint system to a plurality of endpoint APIs associated with an endpoint API system in communication with the endpoint system; and
the endpoint system comprising one or more hardware computing devices executing specific computer-executable instructions, wherein the endpoint system is in communication with the electronic data store, and configured to at least;
receive the API mapping definitions, wherein each respective API mapping definition associates a proxy API with at least one endpoint API;
receive a request from a calling system to execute a particular proxy API;
determine, based at least in part on the received request and the particular proxy API, an API mapping definition associated with the particular proxy API and an endpoint API corresponding to the particular proxy API;
transform the request into an endpoint request for processing by the endpoint API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the endpoint request includes an instruction to execute the endpoint API on the endpoint API system;
transmit the endpoint request to the endpoint API system to cause execution of the endpoint API on the endpoint API system;
receive an endpoint result from the endpoint API system, wherein the endpoint result is generated from the execution of the endpoint API on the endpoint API system;
transform the endpoint result into a proxy result, wherein the endpoint result is transformed based at least in part on the API mapping definition; and
provide a return response to the calling system, wherein the return response comprises at least the proxy result.
1 Assignment
0 Petitions
Accused Products
Abstract
An endpoint management and proxy system is described, by which users can manage and enable exposure of application programming interfaces (“APIs”) usable to cause execution of program code on a remote or third party system. Systems and methods are disclosed which facilitate the handling of user requests to perform certain tasks on remote systems. The endpoint management system allows the application developer to define and specify a first proxy API which maps to a second API associated with the remote system. The endpoint proxy system receives requests to execute the proxy API, determines the API mapping, and sends one or more backend API requests to execute program codes by the associated remote systems. Responses from the remote systems are received by the endpoint proxy system which parses and/or transforms the results associated with the response and generates an output result for response back to the user computing systems.
323 Citations
23 Claims
-
1. A system for providing endpoint management of application programming interfaces, the system comprising:
-
an electronic data store configured to store application programming interface (“
API”
) mapping definitions that map a plurality of proxy APIs associated with an endpoint system to a plurality of endpoint APIs associated with an endpoint API system in communication with the endpoint system; andthe endpoint system comprising one or more hardware computing devices executing specific computer-executable instructions, wherein the endpoint system is in communication with the electronic data store, and configured to at least; receive the API mapping definitions, wherein each respective API mapping definition associates a proxy API with at least one endpoint API; receive a request from a calling system to execute a particular proxy API; determine, based at least in part on the received request and the particular proxy API, an API mapping definition associated with the particular proxy API and an endpoint API corresponding to the particular proxy API; transform the request into an endpoint request for processing by the endpoint API system, wherein the request is transformed based at least in part on the API mapping definition and wherein the endpoint request includes an instruction to execute the endpoint API on the endpoint API system; transmit the endpoint request to the endpoint API system to cause execution of the endpoint API on the endpoint API system; receive an endpoint result from the endpoint API system, wherein the endpoint result is generated from the execution of the endpoint API on the endpoint API system; transform the endpoint result into a proxy result, wherein the endpoint result is transformed based at least in part on the API mapping definition; and provide a return response to the calling system, wherein the return response comprises at least the proxy result. - View Dependent Claims (2, 3)
-
-
4. A system, comprising:
an endpoint proxy system comprising one or more hardware computing devices adapted to execute specific computer-executable instructions and in communication with an electronic data store configured to store application programming interface (“
API”
) mapping definitions that map a plurality of proxy APIs associated with the endpoint proxy system to a plurality of backend APIs associated with a backend system in communication with the endpoint proxy system, wherein the endpoint proxy system is configured to at least;receive a request from a user computing device to execute a proxy API; determine a specific API mapping definition based at least in part on the received request, the API mapping definitions, and the proxy API; transform the request into a backend request for processing by the backend system, wherein the request is transformed based at least in part on the specific API mapping definition, wherein the backend request includes an instruction to execute a backend API associated with the specific API mapping definition on the backend system; transmit the backend request to the backend system, wherein the backend request is adapted to cause execution of the backend API on the backend system; receive a backend result from the backend system, wherein the endpoint result is generated by execution of the backend API on the backend system; transform the backend result into an output result, wherein the backend result is transformed based at least in part on the specific API mapping definition; and provide the output result to the user computing device. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
13. A computer-implemented method comprising:
as implemented by one or more computing devices configured with specific executable instructions, receiving a request from a calling system to execute a first proxy application programming interface (“
API”
) of a plurality of proxy APIs associated with an endpoint proxy system, wherein the plurality of proxy APIs are mapped, by API mapping definitions, to a plurality of backend APIs associated with a backend system in communication with the endpoint proxy system;determining a first API mapping definition based at least in part on the received request, the API mapping definitions, and the first proxy API; transforming the request into a backend request for processing by the backend system, wherein the request is transformed based at least in part on the first API mapping definition, wherein the backend request includes an instruction to execute a first backend API associated with the first API mapping definition on the backend system; sending the backend request to the backend system, wherein the backend request is adapted to cause execution of the first backend API on the backend system; receiving a first backend result from the backend system, wherein the first backend result is generated by execution of the backend API on the backend system; transforming the first backend result into an output result, wherein the first backend result is transformed based at least in part on the first API mapping definition; and providing the output result to the calling system. - View Dependent Claims (14, 15, 16, 17)
-
18. A computer-readable, non-transitory storage medium storing computer executable instructions that, when executed by one or more computing devices, configure the one or more computing devices to perform operations comprising:
-
receiving a request from a calling system to execute a specific proxy application programming interface (“
API”
) of a plurality of proxy APIs associated with an endpoint proxy system, wherein the plurality of proxy APIs are mapped, by API mapping definitions, to a plurality of backend APIs associated with a backend system in communication with the endpoint proxy system;determining a specific API mapping definition based at least in part on the received request, the API mapping definitions, and the specific proxy API; transforming the request into a backend request for processing by the backend system, wherein the request is transformed based at least in part on the specific API mapping definition, wherein the backend request includes an instruction to execute a backend API associated with the specific API mapping definition on the backend system; sending the backend request to the backend system, wherein the backend request is adapted to cause execution of the backend API on the backend system; receiving a backend result from the backend system, wherein the backend result is generated by execution of the backend API on the backend system; transforming the backend result into an output result, wherein the backend result is transformed based at least in part on the specific API mapping definition; and providing the output result to the calling system. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification