Reactive API gateway
First Claim
1. A computer-implemented method for processing application programming interface (API) calls, the method comprising:
- receiving, by a proxy system and from a first user agent, an API call that relates to a service provided by a first service subsystem, wherein the proxy system is configured as a proxy for a plurality of service subsystems including the first service subsystem;
routing, by the proxy system, the API call to the first service subsystem to cause the first service subsystem to perform an operation responsive to the API call and to communicate a result of the operation to a messaging system, wherein the messaging system is distinct from both the proxy system and the first service subsystem and is configured to publish messages from each of the plurality of service subsystems for which the proxy system is configured as a proxy;
receiving, by the proxy system and from the messaging system rather than directly from the first service subsystem, an indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent; and
in response to receiving the indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent, returning a message that is based on the indication of the result to one or more user agents associated with a user of the first user agent.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for processing application programming interface (API) calls and event messages may include a gateway subsystem and an events hub. The gateway subsystem can route API calls submitted by user agents connected to the gateway subsystem to appropriate service subsystems. The events hub can receive event messages from at least some of the service subsystems and publish the received event messages for consumption by one or more consuming subsystems including the gateway subsystem. A first published event message may specify a first user and the gateway subsystem can (i) determine every user agent that is associated with the first user and that is currently connected to the gateway subsystem and (ii) transmit information that represents the first published event message to every user agent that is determined to be associated with the first user and currently connected to the gateway subsystem.
30 Citations
20 Claims
-
1. A computer-implemented method for processing application programming interface (API) calls, the method comprising:
-
receiving, by a proxy system and from a first user agent, an API call that relates to a service provided by a first service subsystem, wherein the proxy system is configured as a proxy for a plurality of service subsystems including the first service subsystem; routing, by the proxy system, the API call to the first service subsystem to cause the first service subsystem to perform an operation responsive to the API call and to communicate a result of the operation to a messaging system, wherein the messaging system is distinct from both the proxy system and the first service subsystem and is configured to publish messages from each of the plurality of service subsystems for which the proxy system is configured as a proxy; receiving, by the proxy system and from the messaging system rather than directly from the first service subsystem, an indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent; and in response to receiving the indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent, returning a message that is based on the indication of the result to one or more user agents associated with a user of the first user agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media having instructions stored thereon that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
receiving, by a proxy system and from a first user agent, an API call that relates to a service provided by a first service subsystem, wherein the proxy system is configured as a proxy for a plurality of service subsystems including the first service subsystem; routing, by the proxy system, the API call to the first service subsystem to cause the first service subsystem to perform an operation responsive to the API call and to communicate a result of the operation to a messaging system, wherein the messaging system is distinct from both the proxy system and the first service subsystem and is configured to publish messages from each of the plurality of service subsystems for which the proxy system is configured as a proxy; receiving, by the proxy system and from the messaging system rather than directly from the first service subsystem, an indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent; and in response to receiving the indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent, returning a message that is based on the indication of the result to one or more user agents associated with a user of the first user agent. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A proxy system, comprising:
-
one or more processors; and one or more non-transitory computer-readable media having instructions encoded thereon that, when executed by the one or more processors, cause performance of operations comprising; receiving, by the proxy system and from a first user agent, an API call that relates to a service provided by a first service subsystem, wherein the proxy system is configured as a proxy for a plurality of service subsystems including the first service subsystem; routing, by the proxy system, the API call to the first service subsystem to cause the first service subsystem to perform an operation responsive to the API call and to communicate a result of the operation to a messaging system, wherein the messaging system is distinct from both the proxy system and the first service subsystem and is configured to publish messages from each of the plurality of service subsystems for which the proxy system is configured as a proxy; receiving, by the proxy system and from the messaging system rather than directly from the first service subsystem, an indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent; and in response to receiving the indication of the result of the first service subsystem'"'"'s performance of the operation responsive to the API call from the first user agent, returning a message that is based on the indication of the result to one or more user agents associated with a user of the first user agent.
-
Specification