1. A computer-implemented method for executing an application comprising: obtaining an application definition file that includes an application definition; parsing the application definition to identify components and parameters associated with the components, each component comprising a distinct unit of execution within the application and being in a non-executable form, and the application definition including one or more first values to be input to at least one of the components identified, one or more properties relating to how output is to be presented from the at least one of the components identified, and information indicating whether one or more second values output from a first one of the identified components is to be used as an input to a second one of the identified components; obtaining one or more component code files that include programming logic associated with each type of component identified in the application definition, the programming logic being configured to execute each type of component identified in the application definition; obtaining one or more component description files that include metadata associated with each type of component identified in the application definition; for each component type identified: creating a factory; and using the factory to generate a plurality of executable versions of the identified components for the component type using at least the programming logic and the metadata obtained for the component type, each of the plurality of executable versions being generated by modifying the programming logic for the component type based on a respective one or more parameters of the identified parameters that are associated with a respective identified component of the identified components; and managing execution of each of the executable components, the application being created by selectively combining graphical representations of the identified components by a user via a graphical user interface, the application definition file and the one or more component description files being created in response to the user saving the created application via the graphical user interface.
4. The method of claim 1 , wherein the metadata associated with each type of component identified in the application definition comprises input/output format metadata and wherein generating executable versions of the identified components comprises generating logic that formats data output from one executable component for input to another executable component in accordance with the input/output format metadata.