1. A method of specifying, deploying and managing composite applications, comprising: receiving a solution descriptor comprising a set of component workload units, a component workload unit describing a deployable application component with application binary, configuration parameters and dependency declarations; receiving an environment descriptor specifying a set of target platforms and plugins available in an execution environment; generating, by a processor, based on the solution descriptor and the environment descriptor, a list of tuples comprising compatible workload-plugin-platform combinations; determining, by the processor, an execution order for the list of tuples; and invoking, by the processor, the plugins in the list of tuples in the execution order, each of the plugins executing a corresponding compatible component workload unit on a corresponding compatible target platform specified in the list of tuples, wherein the set of component workload units comprises an instance of a component application type in a set of component application types.