1. A method of executing an application in a distributed computing environment having a plurality of resources, the method comprising the steps of: receiving a job request from a client system specifying the execution of an application on the distributed computing environment; retrieving, in response to the job request, a description of the modules of the application that identifies critical modules that must be executed in order to achieve a primary purpose of the application and non-critical modules; and providing the code for each one of the critical modules to resources as they become available prior to providing the code for any of the non-critical modules.