IP Library Granted Patent US 10,970,048
Granted Patent B2
US 10,970,048 · App. 16/133,438 · Granted Apr 6, 2021

System and method for workflow application programming interfaces (APIS)

Inventors: Harry Thomas Nelson (San Diego, CA); Matthew Breckenridge Stoddart (San Diego, CA); Stuart Dean Swope (San Diego, CA); David Tamjidi (San Diego, CA); Venkata Kiran Kumar Koya (Poway, CA); Joshua Timothy Nerius (Chicago, IL); Rebecca Anita Dias (Seattle, WA)
Assignee: ServiceNow, Inc.
G06F8/34G06F8/22G06F8/36G06Q10/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,970,048
App. No.
16/133,438
Granted
Apr 6, 2021
Kind
B2
Abstract

A computing system includes a server. The server is communicatively coupled to a data repository and is configured to store a data in the data repository. The server is further configured to create, via a visual information flow creation tool, at least one information flow object, wherein the at least one information flow object comprises a flow, a sub-flow, an Action, or a combination thereof. The server is also configured to interface with the at least one information flow object via a front-end application programming interface (API), a back-end API, or a combination thereof. The server is additionally configured to execute the at least one information flow object via the front-end API, the back-end API, or a combination thereof, and to retrieve results obtained by executing the at least one information flow object via the front-end API, the back-end API, or the combination thereof.

Claims (39)

1. A computing system, comprising:

a server having a processor communicatively coupled to a data repository and configured to store a data in the data repository, wherein the server is configured to perform operations comprising:

creating, via a visual information flow creation tool, a first information flow object and a second information flow object, wherein the first and the second information flow objects comprise a flow, a sub-flow, an Action, or a combination thereof;

interfacing with the first information flow object via a front-end application programing interface (API) and interfacing with the second information flow object via a back-end API, wherein the front-end API includes a first set of functions for asynchronous calling for an execution of the first information flow object and retrieving outputs of the execution of the first information flow object, and wherein the back-end API includes a second set of functions for asynchronous calling for an execution of the second information flow object and retrieving outputs of the execution of the second information flow object;

providing for asynchronous execution of the first information flow object and the second information flow object included in a same software program, wherein the first flow information object is executed entirely in a client computing device via the front-end API and the second information flow object is executed entirely in a remote server via the back-end API, and wherein the first information flow object interfaces with the second information flow object via the asynchronous execution by:

executing the first set of functions to obtain the outputs of calling the execution of the first information flow object via a unique identifier of the first information flow object;

executing the second set of functions to obtain the outputs of calling the execution of the second information flow object via a unique identifier of the second information flow object; and

retrieving the outputs of the execution of the first and second sets of functions as results of the asynchronous execution.

2. The computing system of claim 1 , wherein creating, via the visual information flow creation tool, the first information flow object comprises creating, via the visual information flow creation tool, a flowchart having the first information flow object in lieu of entering text for a computer program when creating the first information flow object.

3. The computing system of claim 1 , wherein executing the first information flow object via the front-end API comprises executing asynchronously a Call Action function, a Call Sub-flow function, a Call Flow function, or a combination thereof, to execute the second information flow object.

4. The computing system of claim 3 , wherein executing asynchronously comprises executing, via an asynchronous message bus system included in the remote server, the Call Action function, the Call Sub-flow function, the Call Flow function, or the combination thereof.

5. The computing system of claim 1 , wherein retrieving the results comprises executing a callback function when execution of the first information flow object is complete, wherein the callback function is disposed in a client-side script code.

6. The computing system of claim 1 , wherein retrieving the results comprises executing a Retrieve Action function, a Retrieve Sub-flow function, a Retrieve Flow function, or a combination thereof, by using the unique identifier for the first or the second information flow object, wherein the unique identifier is outputted by the front-end API, the back-end API, or the combination thereof when executing the first or the second information flow object.

7. The computing system of claim 1 , comprising executing, via the back-end API, a Check Action function, a Check Sub-flow function, a Check Flow function, or a combination thereof, to derive current status if the second information flow object has completed execution.

8. The computing system of claim 1 , comprising, executing the first or the second information flow object, or a combination thereof, only after verifying that permissions exist for executing the first or the second information flow object.

9. The computing system of claim 8 , wherein verifying that permissions exist comprises using an access control list.

10. The computing system of claim 1 , wherein the flow includes the sub-flow, the sub-flow includes the Action, and the flow does not provide an output.

11. A method, comprising:

creating, via a visual information flow creation tool, a first information flow object and a second information flow object, wherein the first and the second information flow objects comprise a flow, a sub-flow, an Action, or a combination thereof;

interfacing with the first information flow object via a front-end application programing interface (API) and interfacing with the second information flow object via a back-end API, wherein the front-end API includes a first set of functions for asynchronous calling for an execution of the first information flow object and retrieving outputs of the execution of the first information flow object, and wherein the back-end API includes a second set of functions for asynchronous calling for an execution of the second information flow object and retrieving outputs of the execution of the second information flow object;

providing for asynchronous execution of the first information flow object and the second information flow object included in a same software program, wherein the first flow information object is executed entirely in a client computing device via the front-end API and the second information flow object is executed entirely in a remote server via the back-end API, and wherein the first information flow object interfaces with the second information flow object via the asynchronous execution by:

executing the first set of functions to obtain the outputs of calling the execution of the first information flow object via a unique identifier of the first information flow object;

executing the second set of functions to obtain the outputs of calling the execution of the second information flow object via a unique identifier of the second information flow object; and

retrieving the outputs of the execution of the first and second sets of functions as results of the asynchronous execution.

12. The method of claim 11 , wherein creating, via the visual information flow creation tool, the first information flow object comprises creating, via the visual information flow creation tool, a flowchart having the first information flow object in lieu of entering text for a computer program when creating the first information flow object.

13. The method of claim 11 , wherein executing the first information flow object via the front-end API comprises executing asynchronously a Call Action function, a Call Sub-flow function, a Call Flow function, or a combination thereof, to execute the second information flow object.

14. The method of claim 11 , wherein retrieving the results comprises executing a callback function when execution of the second information flow object is complete, wherein the callback function is disposed in a client-side script code.

15. The method of claim 11 , wherein retrieving the results comprises executing a Retrieve Action function, a Retrieve Sub-flow function, a Retrieve Flow function, or a combination thereof, by using the unique identifier for the first or the second information flow object, wherein the unique identifier is outputted by the front-end AFI, the back-end API, or the combination thereof when executing the first or the second information flow object.

16. A non-transitory, computer-readable medium storing instructions executable by a processor of a computing system, the instructions configured to:

create, via a visual information flow creation tool, a first information flow object and a second information flow object, wherein the first and the second information flow objects comprise a flow, a sub-flow, an Action, or a combination thereof;

interface with the first information flow object via a front-end application programing interface (API) and interface with the second information flow object via a back-end API, wherein the front-end API includes a first set of functions for asynchronous calling for an execution of the first information flow object and retrieving outputs of the execution of the first information flow object, and wherein the back-end API includes a second set of functions for asynchronous calling for an execution of the second information flow object and retrieving outputs of the execution of the second information flow object;

provide for asynchronous execution of the first information flow object and the second information flow object included in a software program, wherein the first flow information object is executed entirely in a client computing device via the front-end API and the second information flow object is executed entirely in a remote server via Han the back-end API, and wherein the first information flow object interfaces with the second information flow object via the asynchronous execution by:

executing the first set of functions to obtain the outputs of calling the execution of the first information flow object via a unique identifier of the first information flow object;

executing the second set of functions to obtain the outputs of calling the execution of the second information flow obiect via a unique identifier of the second information flow object; and

retrieving the outputs of the execution of the first and second sets of functions as results of the asynchronous execution.

17. The computer-readable medium of claim 16 , wherein the instructions configured to execute the first information flow object via the front-end API comprise instructions configured to execute asynchronously a Call Action function, a Call Sub-flow function, a Call Flow function, or a combination thereof, to execute the second information flow object.

18. The computer-readable medium of claim 16 , wherein the instructions configured to retrieve the results comprise instructions configured to execute a callback function when execution of the second information flow object is complete, wherein the callback function is disposed in a client-side script code.

19. The computer-readable medium of claim 16 , wherein the instructions configured to retrieve the results comprise instructions configured to execute a Retrieve Action function, a Retrieve Sub-flow function, a Retrieve Flow function, or a combination thereof, by using the unique identifier for the first or the second information flow object, wherein the unique identifier is outputted by the front-end API, the back-end API, or the combination thereof when executing the first or the second information flow object.

20. The computer-readable medium of claim 16 , wherein the flow includes the sub-flow, the sub-flow includes the Action, and the flow does not provide an output.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: NELSON, HARRY THOMAS; STODDART, MATTHEW BRECKENRIDGE; SWOPE, STUART DEAN; NERIUS, JOSHUA TIMOTHY; TAMJIDI, DAVID; KOYA, VENKATA KIRAN KUMAR; DIAS, REBECCA ANITA
To: SERVICENOW, INC.
Reel/Frame 050922/0953 →
Continuity (1)
Related Publication 20200089478A1 · Mar 19, 2020
Cited By (1)
US 12,684,031