Systems, methods and computer program products for construction of cloud applications
First Claim
1. A computer-implemented method, comprising:
- obtaining, using a computing device, an application term of a declarative programming language to build an application to be executed on a node in a node network,wherein the application term defines the application independent of an application configuration for the application prior to compilation of the application term, andwherein the application configuration comprises a plurality of resources required for execution of the application;
obtaining a resource term of the declarative programming language to allocate a resource of the plurality of resources required for execution of the application,wherein the resource term defines a software stack independent of the application configuration prior to compilation of the resource term, andwherein the software stack provides functionality required by the application;
obtaining an action term of the declarative programming language for performing an action of the application,wherein the action term defines the action independent of the application configuration prior to compilation of the action term,wherein the action term performs lifecycle events of the application;
obtaining a task term of the declarative programming language for performing a task of the action,wherein the task term defines the task of the action independent of the application configuration prior to compilation of the task term;
compiling the application term, the resource term, the action term, and, the task term to generate lower level code for execution;
executing the compiled application term, the compiled resource term, the compiled action term and the compiled task term;
selecting, by an application execution manager, the node in the node network to execute the application;
preparing, by the application execution manager, the resource for the application on the selected node at the execution time of the compiled resource term, wherein preparing the resource for the application comprises allocating the resource on the selected node of the node network, responsive to execution of the compiled resource term;
executing an action corresponding to the resource on the selected node responsive to the execution of the compiled action term;
responsive to the execution of the compiled application term, modifying an application configuration file for the application on the selected node, wherein the modifying of the application configuration file comprises generating a unique application variable for the application at the execution time of the compiled application term, wherein the unique application variable introduces application specific values into the application configuration of the application on the selected node at the execution time of the compiled application term; and
executing, by the application execution manager, the application using the allocated resource and the modified application configuration file.
1 Assignment
0 Petitions
Accused Products
Abstract
An application term of a declarative programming language is provided for creating an application to be executed on a node in a cloud network. The application term is independent of an application configuration for the application prior to compilation of the application term and the application configuration is associated with the application at execution time. A resource term for preparing a resource for the application is provided independent of the application configuration prior to compilation and the application configuration prepares the resource of a selected node for the application at execution time. An action term for performing an action and a task term for performing a task of the action are provided independent of the application configuration prior to compilation. The terms are compiled and executed to build the application in the cloud network.
-
Citations
19 Claims
-
1. A computer-implemented method, comprising:
-
obtaining, using a computing device, an application term of a declarative programming language to build an application to be executed on a node in a node network, wherein the application term defines the application independent of an application configuration for the application prior to compilation of the application term, and wherein the application configuration comprises a plurality of resources required for execution of the application; obtaining a resource term of the declarative programming language to allocate a resource of the plurality of resources required for execution of the application, wherein the resource term defines a software stack independent of the application configuration prior to compilation of the resource term, and wherein the software stack provides functionality required by the application; obtaining an action term of the declarative programming language for performing an action of the application, wherein the action term defines the action independent of the application configuration prior to compilation of the action term, wherein the action term performs lifecycle events of the application; obtaining a task term of the declarative programming language for performing a task of the action, wherein the task term defines the task of the action independent of the application configuration prior to compilation of the task term; compiling the application term, the resource term, the action term, and, the task term to generate lower level code for execution; executing the compiled application term, the compiled resource term, the compiled action term and the compiled task term; selecting, by an application execution manager, the node in the node network to execute the application; preparing, by the application execution manager, the resource for the application on the selected node at the execution time of the compiled resource term, wherein preparing the resource for the application comprises allocating the resource on the selected node of the node network, responsive to execution of the compiled resource term; executing an action corresponding to the resource on the selected node responsive to the execution of the compiled action term; responsive to the execution of the compiled application term, modifying an application configuration file for the application on the selected node, wherein the modifying of the application configuration file comprises generating a unique application variable for the application at the execution time of the compiled application term, wherein the unique application variable introduces application specific values into the application configuration of the application on the selected node at the execution time of the compiled application term; and executing, by the application execution manager, the application using the allocated resource and the modified application configuration file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a processor; and a memory coupled to the processor and comprising computer readable program code embodied in the memory that when executed by the processor causes the processor to perform operations comprising; obtaining, using a computing device, an application term of a declarative programming language to build an application to be executed on a node in a node network, wherein the application term defines the application independent of an application configuration for the application prior to compilation of the application term, and wherein the application configuration comprises a plurality of resources required for execution of the application; obtaining a resource term of the declarative programming language to allocate a resource of the plurality of resources required for execution of the application, wherein the resource term defines a software stack independent of the application configuration prior to compilation of the resource term, and wherein the software stack provides functionality required by the application; obtaining an action term of the declarative programming language for performing an action of the application, wherein the action term defines the action independent of the application configuration prior to compilation of the action term, wherein the action term performs lifecycle events of the application; and obtaining a task term of the declarative programming language for performing a task of the action, wherein the task term defines the task of the action independent of the application configuration prior to compilation of the task term; compiling the application term, the resource term, the action term, and;
the task term to generate lower level code for execution;executing the compiled application term, the compiled resource term, the compiled action term and the compiled task term; selecting, by an application execution manager, the node in the node network to execute the application; preparing, by the application execution manager, the resource for the application on the selected node at the execution time of the compiled resource term, wherein preparing the resource for the application comprises allocating the resource on the selected node of the node network, responsive to execution of the compiled resource term; executing an action corresponding to the resource on the selected node responsive to the execution of the compiled action term; responsive to the execution of the compiled application term, modifying an application configuration file for the application on the selected node, wherein the modifying of the application configuration file comprises generating a unique application variable for the application at the execution time of the compiled application term, wherein the unique application variable introduces application specific values into the application configuration of the application on the selected node at the execution time of the compiled application term; and executing, by the application execution manager, the application using the allocated resource and the modified application configuration file. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer program product, comprising:
-
a non-transitory computer readable storage medium having computer readable program code embodied in the medium, that when executed by a processor causes the processor to perform operations comprising; obtaining, using a computing device, an application term of a declarative programming language to build an application to be executed on a node in a node network, wherein the application term defines the application independent of an application configuration for the application prior to compilation of the application term, and wherein the application configuration comprises a plurality of resources required for execution of the application; obtaining a resource term of the declarative programming language to allocate a resource of the plurality of resources required for execution of the application, wherein the resource term defines a software stack independent of the application configuration prior to compilation of the resource term, and wherein the software stack provides functionality required by the application; obtaining an action term of the declarative programming language for performing an action of the application, wherein the action term defines the action independent of the application configuration prior to compilation of the action term, wherein the action term performs lifecycle events of the application; and obtaining a task term of the declarative programming language for performing a task of the action, wherein the task term defines the task of the action independent of the application configuration prior to compilation of the task term; compiling the application term, the resource term, the action term, and the task term to generate lower level code for execution; executing the compiled application term, the compiled resource term, the compiled action term and the compiled task term; selecting, by an application execution manager, the node in the node network to execute the application; preparing, by the application execution manager, the resource for the application on the selected node by at the execution time of the compiled resource term, wherein preparing the resource for the application comprises allocating the resource on the selected node of the node network, responsive to execution of the compiled resource term; executing an action corresponding to the resource on the selected node responsive to the execution of the compiled action term; responsive to the execution of the compiled application term, modifying an application configuration file for the application on the selected node, wherein the modifying of the application configuration file comprises generating a unique application variable for the application at the execution time of the compiled application term, wherein the unique application variable introduces application specific values into the application configuration of the application on the selected node at the execution time of the compiled application term; and executing, by the application execution manager, the application using the allocated resource and the modified application configuration file. - View Dependent Claims (16, 17, 18, 19)
-
Specification