Extensible data driven deployment system
AssigneeMicrosoft Corporation
InventorsKenneth Lloyd Alverson, Nirav Kamdar, Steven Richie Wood, Cezar Ungureanasu
Life of this patent
Estimating the term…
Abstract
Systems and methods that facilitate deployment of server applications via employing a deployment system that declaratively defines deployment actions. Such system is extensible to enable user customization, and includes a deployment document that declaratively defines deployment terms. The deployment document can further describe what the tasks accomplish, and also what tasks are to be forwarded to the task handler at execution time.
Claims20
A computer implemented system comprising:
- a processor configured to execute computer executable components;
- and
- memory storing computer executable components including:
- a deployment engine component configured to obtain tasks associated with deploying an application on one or more servers, predicates required to perform each task, and parameters for executing each task from a deployment document that declaratively defines deployment actions for the application;
- a state evaluator component configured to receive the predicates required to perform each task from the deployment engine component, determine a state of each task by evaluating the predicates required to perform each task, and return the state of each task to the deployment engine component;
- and
- a rendering component configured to receive the tasks and the state of each task from the deployment engine component, display the tasks in a user interface, update the appearance of each task in the user interface based on the state of each task, and return user input that selects a task displayed in the user interface to the deployment engine component, wherein the deployment engine component forwards the parameters for executing the selected task to a task handler when the state of the selected task indicates that the predicates required to perform the selected task have been satisfied.
A computer implemented method comprising computer executable acts including:
- obtaining, by a deployment engine of a deployment system, tasks associated with deploying an application on one or more servers, predicates required to perform each task, and parameters for executing each task from a deployment document that declaratively defines deployment actions for the application;
- receiving, by a renderer of the deployment system, the tasks from the deployment engine;
- displaying, by the renderer, the tasks in a user interface;
- receiving, by a state evaluator of the deployment system, the predicates required to perform each task from the deployment engine;
- determining, by the state evaluator, a state of each task by evaluating the predicates required to perform each task;
- returning, by the state evaluator, the state of each task to the deployment engine;
- receiving, by the renderer, the state of each task from the deployment engine;
- updating, by the renderer, the appearance of each task in the user interface based on the state of each task;
- returning, by the renderer, user input that selects a task displayed in the user interface to the deployment engine;
- and
- forwarding, by the deployment engine, the parameters for executing the selected task to a task handler when the state of the selected task indicates that the predicates required to perform the selected task have been satisfied.
A computer readable storage device storing computer executable instructions that, when executed, cause a computer to perform a method comprising:
- obtaining, by a deployment engine of a deployment system, tasks associated with deploying an application on one or more servers, predicates required to perform each task, and parameters for executing each task from a deployment document that declaratively defines deployment actions for the application;
- receiving, by a renderer of the deployment system, the tasks from the deployment engine;
- displaying, by the renderer, the tasks in a user interface;
- receiving, by a state evaluator of the deployment system, the predicates required to perform each task from the deployment engine;
- determining, by the state evaluator, a state of each task by evaluating the predicates required to perform each task;
- returning, by the state evaluator, the state of each task to the deployment engine;
- receiving, by the renderer, the state of each task from the deployment engine;
- updating, by the renderer, the appearance of each task in the user interface based on the state of each task;
- returning, by the renderer, user input that selects a task displayed in the user interface to the deployment engine;
- and
- forwarding, by the deployment engine, the parameters for executing the selected task to a task handler when the state of the selected task indicates that the predicates required to perform the selected task have been satisfied.
Dependencies are inferred from the claim text.