Software resource management
Abstract
The disclosed technology provides a multiapplication workflow engine. The multiapplication workflow engine includes a request processing engine, a multiapplication workflow configuration manager, and a multiapplication workflow execution engine. The request processing engine is configured to receive instructions to execute a multiapplication workflow. The multiapplication workflow defines two or more operations and provides a functionality definition corresponding to each of the operations and an interface definition corresponding to each of the operations. The interface defintions of each operation are defined so that operations that execute successively have compatible interface definitions. The multiapplication workflow configuration manager is configured to instatiate one or more applications that satisfy the interface definition and the functionality definition for each operation in a protected execution environment, where the applications are configured to communicate via compatible interfaces. The multiapplication workflow engine is configured to execute the multiapplication workflow in the protected execution environment.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A multiapplication workflow engine comprising:
one or more computing processors; a request processing engine configured to receive instruction to execute a multiapplication workflow via the one or more computing processors, the multiapplication workflow defining two or more operations and providing a functionality definition corresponding to each of the two or more operations and an interface definition corresponding to each of the two or more operations, the interface definition corresponding to each operation being defined such that operations that are executed successively have compatible interface definitions; a multiapplication workflow configuration manager configured to instantiate one or more applications executed by the one or more computing processors, the one or more applications satisfying the interface definition and functionality definition for each of the two or more operations in a protected execution environment, the one or more applications each being configured to communicate via compatible interfaces defined by the compatible interface definitions and being ordered in accordance with execution order positions provided by the multiapplication workflow; and a multiapplication workflow execution engine configured to execute the multiapplication workflow via the one or more computing processors in the protected execution environment, data being passed between the one or more applications through the compatible interfaces.
2 . The multiapplication workflow engine of claim 1 further comprising:
a shared memory inaccessible to applications not executing within the protected execution environment of the multiapplication workflow, the compatible interfaces being configured for communication through the shared memory accessible to the one or more applications executing in the protected execution environment.
3 . The multiapplication workflow engine of claim 2 , wherein the multiapplication workflow configuration manager is further configured to associate a data input interface and a data output interface of each of the instantiated applications with the shared memory provided by the multiapplication workflow.
4 . The multiapplication workflow engine of claim 1 , further comprising:
an application programming interface inaccessible to applications not executing within the protected execution environment of the multiapplication workflow, the compatible interfaces being configured for communication through the application programming interface accessible to the one or more applications executing in the protected execution environment.
5 . The multiapplication workflow engine of claim 1 , further comprising:
an application selection engine configured to search a catalog of indexed applications for one or more applications that satisfy the interface definition and the functionality definition for each of the two or more operations.
6 . The multiapplication workflow engine of claim 5 , wherein the application selection engine is further configured to select one or more applications that satisfy the interface definition and the functionality definition corresponding to each of the two or more operations from the catalog of indexed applications.
7 . The multiapplication workflow engine of claim 1 , wherein the request processing engine is further configured to receive an instruction to execute the multiapplication workflow, each functionality definition being provided by the multiapplication workflow including one or more mandatory functionalities and one or more optional functionalities.
8 . A method comprising:
receiving instruction to execute a multiapplication workflow, the multiapplication workflow defining two or more operations and providing a functionality definition corresponding to each of the two or more operations and an interface definition corresponding to each of the two or more operations, the interface definition corresponding to each operation being defined such that operations that are executed successively have compatible interface definitions; instantiating one or more applications that satisfy the interface definition and functionality definition for each of the two or more operations in a protected execution environment, the one or more applications each configured to communicate via compatible interfaces defined by the compatible interface definitions and being ordered in accordance with execution order positions provided by the multiapplication workflow; and executing the multiapplication workflow in the protected execution environment, data being passed between the one or more applications through the compatible interfaces.
9 . The method of claim 8 , wherein the compatible interfaces are configured for communication through a shared memory accessible to the one or more applications executing in the protected execution environment and inaccessible to applications not executing within the protected execution environment of the multiapplication workflow.
10 . The method of claim 9 , further comprising:
associating a data input interface and a data output interface of each of the instantiated applications with the shared memory provided by the multiapplication workflow.
11 . The method of claim 8 , wherein the compatible interfaces are configured for communication through an application programming interface accessible to the one or more applications executing in the protected execution environment and inaccessible to applications not executing within the protected execution environment of the multiapplication workflow.
12 . The method of claim 8 , further comprising:
searching a catalog of indexed applications for one or more applications that satisfy the interface definition and the functionality definition for each of the two or more operations.
13 . The method of claim 12 , further comprising:
selecting one or more applications that satisfy the interface definition and the functionality definition corresponding to each of the two or more operations from the catalog of indexed applications.
14 . The method of claim 8 , wherein each functionality definition includes one or more mandatory functionalities and one or more optional functionalities.
15 . One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process comprising:
receiving instruction to execute a multiapplication workflow, the multiapplication workflow defining two or more operations and providing a functionality definition corresponding to each of the two or more operations and an interface definition corresponding to each of the two or more operations, the interface definition corresponding to each operation being defined such that operations that are executed successively have compatible interface definitions; instantiating one or more applications that satisfy the interface definition and functionality definition for each of the two or more operations in a protected execution environment, the one or more applications each configured to communicate via compatible interfaces defined by the compatible interface definitions and being ordered in accordance with execution order positions provided by the multiapplication workflow; and executing the multiapplication workflow in the protected execution environment, data being passed between the one or more applications through the compatible interfaces.
16 . The one or more tangible processor-readable storage media of claim 15 , wherein the compatible interfaces are configured for communication through a shared memory accessible to the one or more applications executing in the protected execution environment and inaccessible to applications not executing within the protected execution environment of the multiapplication workflow.
17 . The one or more tangible processor-readable storage media of claim 16 , wherein the process further comprises:
associating a data input interface and a data output interface of each of the selected applications with the shared memory.
18 . The one or more tangible processor-readable storage media of claim 15 , wherein each functionality definition includes one or more mandatory functionalities and one or more optional functionalities.
19 . The one or more tangible processor-readable storage media of claim 15 , wherein the process further comprises:
searching a catalog of indexed applications for one or more applications that satisfy the interface definition and the functionality definition for each of the two or more operations.
20 . The one or more tangible processor-readable storage media of claim 15 , wherein the process further comprises:
selecting one or more applications that satisfy the interface definition and the functionality definition corresponding to each of the two or more operations from the catalog of indexed applications.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.