Optimization of a workflow employing software services
US-10733557-B2 · Aug 4, 2020 · US
US11240344B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11240344-B2 |
| Application number | US-201916434071-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 6, 2019 |
| Priority date | Jun 6, 2019 |
| Publication date | Feb 1, 2022 |
| Grant date | Feb 1, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system includes persistent storage configured to store definitions of interfaces of remote software applications, and a software application configured to define the interfaces. The software application identifies a remote software application system by which the remote software applications are exposed for execution, and obtains therefrom a specification of a particular remote software application. The software application determines, based on the specification, (i) objects accessible by way of the particular remote software application and (ii) functions invokable to interact with the objects. The software application generates actions that define an interface for the particular remote software application. Each action is configured to invoke execution of one or more of the functions by transmitting a request to the remote software application system and, in response, receive, by way of the remote software application system, an output of the one or more of the functions. The actions are stored in the persistent storage to define the interface.
Opening claim text (preview).
What is claimed is: 1. A system comprising: persistent storage configured to store definitions of respective interfaces of remote software applications for integration into workflows; one or more processors; and an action design software application configured to define the respective interfaces, wherein the action design software application is configured to perform, by way of the one or more processors, operations comprising: identifying a remote software application system from a plurality of available remote software application systems by using a particular service identifier of one or more service identifiers, on which the remote software applications are exposed for execution; obtaining, from the remote software application system, a specification that defines attributes of a particular remote software application of the remote software applications; determining, based on the specification, (i) one or more objects accessible by way of the particular remote software application and (ii) a plurality of functions of the particular remote software application invokable to interact with the one or more objects; generating a plurality of actions that define an interface for the particular remote software application by: enabling a first portion of the plurality of actions such that actions of the first portion are available for integration into the workflows; disabling a second portion of the plurality of actions such that actions of the second portion are not available for integration into the workflows; transmitting, to the remote software application system, a request for executing one or more functions of the plurality of functions based on the first portion of the plurality of actions; and receiving, from the remote software application system, an output of the one or more functions based on the request; and storing, in the persistent storage, the plurality of actions to define the interface. 2. The system of claim 1 , wherein the remote software applications are hosted by a plurality of different remote computing systems, and wherein the remote software application system is communicatively connected to each of the different remote computing systems to expose the remote software applications for execution on behalf of the workflows. 3. The system of claim 1 , wherein the particular remote software application is accessible by way of an application programming interface (API) provided by the remote software application system, and wherein execution of each respective function of the plurality of functions is invokable by way of a corresponding API function of the API, wherein the specification defines a plurality of API functions of the API, wherein each respective action is configured to, when executed by the workflows, invoke execution of the one or more corresponding functions by transmitting the request to the corresponding API function, and wherein the remote software application system is configured to cause the particular remote software application to execute the one or more corresponding functions in response to reception of the request. 4. The system of claim 1 , wherein identifying the remote software application system comprises: obtaining a uniform resource locator (URL) that addresses the remote software application system; obtaining, by way of the URL, a list of the remote software applications that are exposed by way of the remote software application system for execution on behalf of the workflows; and for each respective remote software application of the remote software applications, obtaining a list of the one or more service identifiers that allow the workflows to invoke execution of the plurality of functions of the respective remote software application, wherein each respective action of the plurality of actions is configurable to use the particular service identifier of the one or more service identifiers to invoke execution of the one or more corresponding functions. 5. The system of claim 1 , wherein the attributes defined by the specification comprise, for each respective function of the plurality of functions, (i) a uniform resource locator (URL) of an application programming interface (API) of the remote software application system by way of which the respective function is exposed for execution, (ii) an input of the respective function, and (iii) an output of the respective function, and wherein generating the plurality of actions that define the interface comprises: generating, for each respective action, (i) an input variable of the respective action that corresponds to the input of the one or more corresponding functions and (ii) an output variable of the respective action that corresponds to the output of the one or more corresponding functions; determining, for each respective action, a first mapping between the input variable and a parameter of the request transmitted to the remote software application system, wherein execution of the respective action invokes execution of the respective function by transmitting the request to the URL of the API, and wherein the request includes therein a value of the input variable according to the first mapping; and determining, for each respective action, a second mapping between the output variable and a response from the API, wherein the response is to the request, and wherein reception, from the API, of the response causes a value of the output of the one or more corresponding functions to be stored in the output variable according to the second mapping. 6. The system of claim 5 , wherein the parameter of the request transmitted to the API comprises at least one of: (i) a URL resource path parameter that identifies a specific resource provided by a server device that hosts the API, (ii) a URL query parameter comprising a key and value pair, (iii) a header parameter to be provided to the API as a hypertext transfer protocol (HTTP) header of the request, (iv) a body parameter to be provided to the API as part of an HTTP body of the request, or (v) a cookie parameter to be provided to the API within an HTTP cookie of the request. 7. The system of claim 5 , comprising: a workflow design software application configured to define the workflows that use the respective interfaces, wherein the workflow design software application is configured to perform, by way of the one or more processors, operations comprising: receiving selection of a first action and a second action to define a workflow, wherein the second action precedes the first action in the workflow, and wherein the first action is selected from the plurality of actions of the interface for the particular remote software application; receiving an assignment of an output variable of the second action to an input variable of the first action; and generating a connection between (i) the output variable of the second action and (ii) the input variable of the first action, wherein a value of the output variable of the second action is passed from the second action to the input variable of the first action during execution of the workflow. 8. The system of claim 5 , comprising: a workflow design software application configured to define the workflows that use the respective interfaces, wherein the workflow design software application is configured to perform, by way of the one or more processors, operations comprising: receiving selection of a first action and a second action to define a workflow, wherein the first action precedes the second action in the workflow, and wherein the first action is selected from the plurality of actions of the interface for the particular remote software application; receiving an assignment of an output variable of the first action to an input variable of the second action; and
using third party service providers · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
Remote execution · CPC title
Messaging middleware · CPC title
Task decomposition · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.